Приложения¶
Приложения позволяют кооперативам подключать дополнительные функции и витрины для расширения возможностей платформы MONO.
Получить список приложений¶
🛠️ SDK: Queries.Extensions.GetExtensions | 🔗 GraphQL API: Query.getExtensions
import { Queries } from '@coopenomics/sdk';
const variables: Queries.Extensions.GetExtensions.IInput = {
data: {
enabled?: <null | boolean>; // Фильтр включенных расширений
is_available?: <null | boolean>; // Фильтр активности
is_desktop?: <null | boolean>; // Фильтр рабочих столов
is_installed?: <null | boolean>; // Фильтр установленных расширений
name?: <null | string>; // Фильтр по имени
};
};
const { [Queries.Extensions.GetExtensions.name]: result } = await client.Query(
Queries.Extensions.GetExtensions.query,
{ variables }
);
Результат:
interface IOutput {
getExtensions: <{
config?: <unknown>; // Настройки конфигурации для расширения
created_at: <unknown>; // Дата создания расширения
description?: <null | string>; // Описание расширения
enabled: <boolean>; // Показывает, включено ли расширение
external_url?: <null | string>; // Внешняя ссылка на iframe-интерфейс расширения
image?: <null | string>; // Изображение для расширения
instructions: <string>; // Поле инструкция для установки (INSTALL)
is_available: <boolean>; // Показывает, доступно ли расширение
is_builtin: <boolean>; // Показывает, встроенное ли это расширение
is_desktop: <boolean>; // Показывает, рабочий стол ли это
is_installed: <boolean>; // Показывает, установлено ли расширение
is_internal: <boolean>; // Показывает, внутреннее ли это расширение
name: <string>; // Уникальное имя расширения
readme: <string>; // Поле подробного текстового описания (README)
schema?: <unknown>; // Схема настроек конфигурации для расширения
tags: <string[]>; // Массив тегов для расширения
title?: <null | string>; // Заголовок расширения
updated_at: <unknown>; // Дата последнего обновления расширения
}[]>; // Получить список расширений
}
Установить приложение¶
🛠️ SDK: Mutations.Extensions.InstallExtension | 🔗 GraphQL API: Mutation.installExtension
import { Mutations } from '@coopenomics/sdk';
const variables: Mutations.Extensions.InstallExtension.IInput = {
data: {
config: <any>; // Объект конфигурации расширения
created_at?: <any>; // Дата установки расширения
enabled: <boolean>; // Флаг того, включено ли расширение сейчас
name: <string>; // Уникальное имя расширения (является идентификатором)
updated_at?: <any>; // Дата обновления расширения
};
};
const { [Mutations.Extensions.InstallExtension.name]: result } = await client.Mutation(
Mutations.Extensions.InstallExtension.mutation,
{ variables }
);
Результат:
interface IOutput {
installExtension: {
config?: <unknown>; // Настройки конфигурации для расширения
created_at: <unknown>; // Дата создания расширения
description?: <null | string>; // Описание расширения
enabled: <boolean>; // Показывает, включено ли расширение
external_url?: <null | string>; // Внешняя ссылка на iframe-интерфейс расширения
image?: <null | string>; // Изображение для расширения
instructions: <string>; // Поле инструкция для установки (INSTALL)
is_available: <boolean>; // Показывает, доступно ли расширение
is_builtin: <boolean>; // Показывает, встроенное ли это расширение
is_desktop: <boolean>; // Показывает, рабочий стол ли это
is_installed: <boolean>; // Показывает, установлено ли расширение
is_internal: <boolean>; // Показывает, внутреннее ли это расширение
name: <string>; // Уникальное имя расширения
readme: <string>; // Поле подробного текстового описания (README)
schema?: <unknown>; // Схема настроек конфигурации для расширения
tags: <string[]>; // Массив тегов для расширения
title?: <null | string>; // Заголовок расширения
updated_at: <unknown>; // Дата последнего обновления расширения
};
}
Обновить приложение¶
🛠️ SDK: Mutations.Extensions.UpdateExtension | 🔗 GraphQL API: Mutation.updateExtension
import { Mutations } from '@coopenomics/sdk';
const variables: Mutations.Extensions.UpdateExtension.IInput = {
data: {
config: <any>; // Объект конфигурации расширения
created_at?: <any>; // Дата установки расширения
enabled: <boolean>; // Флаг того, включено ли расширение сейчас
name: <string>; // Уникальное имя расширения (является идентификатором)
updated_at?: <any>; // Дата обновления расширения
};
};
const { [Mutations.Extensions.UpdateExtension.name]: result } = await client.Mutation(
Mutations.Extensions.UpdateExtension.mutation,
{ variables }
);
Результат:
interface IOutput {
updateExtension: {
config?: <unknown>; // Настройки конфигурации для расширения
created_at: <unknown>; // Дата создания расширения
description?: <null | string>; // Описание расширения
enabled: <boolean>; // Показывает, включено ли расширение
external_url?: <null | string>; // Внешняя ссылка на iframe-интерфейс расширения
image?: <null | string>; // Изображение для расширения
instructions: <string>; // Поле инструкция для установки (INSTALL)
is_available: <boolean>; // Показывает, доступно ли расширение
is_builtin: <boolean>; // Показывает, встроенное ли это расширение
is_desktop: <boolean>; // Показывает, рабочий стол ли это
is_installed: <boolean>; // Показывает, установлено ли расширение
is_internal: <boolean>; // Показывает, внутреннее ли это расширение
name: <string>; // Уникальное имя расширения
readme: <string>; // Поле подробного текстового описания (README)
schema?: <unknown>; // Схема настроек конфигурации для расширения
tags: <string[]>; // Массив тегов для расширения
title?: <null | string>; // Заголовок расширения
updated_at: <unknown>; // Дата последнего обновления расширения
};
}
Удалить приложение¶
🛠️ SDK: Mutations.Extensions.UninstallExtension | 🔗 GraphQL API: Mutation.uninstallExtension
import { Mutations } from '@coopenomics/sdk';
const variables: Mutations.Extensions.UninstallExtension.IInput = {
data: {
name: <string>; // Фильтр по имени
};
};
const { [Mutations.Extensions.UninstallExtension.name]: result } = await client.Mutation(
Mutations.Extensions.UninstallExtension.mutation,
{ variables }
);
Результат:
interface IOutput {
uninstallExtension: <boolean>; // Удалить расширение
}
Опубликовать приложение¶
Функционал добавления внешних приложений временно не доступен.