umbot
Version:
Мультиплатформенный фреймворк для создания голосовых навыков и чат-ботов с единой бизнес-логикой. Встроенная поддержка ВКонтакте, Telegram, Viber, MAX, Яндекс Алисы, Маруси и Сбера SmartApp. Архитектура на адаптерах позволяет подключать любые другие платф
110 lines (109 loc) • 4.92 kB
TypeScript
import { IModelRules } from './interface';
import { IModelState, Model } from './db/Model';
import { AppContext } from '../core';
import { TKey } from './db';
/**
* Интерфейс для внутреннего состояния модели изображений.
* Определяет структуру данных для хранения информации об изображениях в базе данных.
*/
export interface IImageModelState extends IModelState {
/**
* Идентификатор/токен изображения.
* Уникальный идентификатор, используемый для ссылки на изображение в API различных платформ.
* @example "photo123456789" для Telegram, "123456789" для VK
*/
imageToken: string | null;
/**
* Расположение изображения (url/директория).
* Может быть URL-адресом изображения или путем к локальному файлу.
*/
path: string | null;
/**
* Тип платформы.
* Определяет, для какой платформы предназначено изображение.
*/
platform: string;
}
/**
* Модель для управления изображениями в различных платформах.
* Предоставляет единый интерфейс для работы с изображениями в Алисе, ВКонтакте, Telegram, Марусе и тд.
*
* @extends Model<IImageModelState>
*
* @example
* // Создание и загрузка изображения для Telegram
* const image = new ImageTokens();
* sound.path = '/path/to/image.png';
* sound.platform = T_TELEGRAM;
* const token = await image.selectOne();
* if (token) {
* console.log('Токен для изображения успешно получен, токен:', token);
* } else {
* || Загрузка изображения
* }
*/
export declare class ImageTokens extends Model<IImageModelState> {
/**
* Название таблицы для хранения данных об изображениях.
*/
protected static readonly TABLE_NAME = "ImageTokens";
/**
* Описание изображения (Не обязательное поле).
* Используется как подпись к изображению в некоторых платформах.
*/
caption: string | null;
/**
* Конструктор класса ImageTokens.
* Предоставляет унифицированный интерфейс для хранения данных о загруженных изображений.
*/
constructor(appContext: AppContext);
protected getId(): TKey;
/**
* Идентификатор/токен изображения.
* Уникальный идентификатор, используемый для ссылки на изображение в API платформы.
*/
get imageToken(): string;
/**
* Устанавливает идентификатор/токен изображения.
* @param imageToken
*/
set imageToken(imageToken: string | null);
/**
* Расположение изображения (url/директория).
* Может быть URL-адресом изображения или путем к локальному файлу.
*/
get path(): string;
/**
* Устанавливает расположение изображения (url/директория).
* @param path
*/
set path(path: string | null);
/**
* Тип приложения, для которого загружена картинка.
*/
get platform(): string;
/**
* Устанавливает тип приложения, для которого загружена картинка.
* @param platform
*/
set platform(platform: string);
/**
* Возвращает название таблицы/файла с данными.
*
* @return {string} Название таблицы для хранения данных об изображениях
*/
tableName(): string;
/**
* Определяет правила валидации для полей модели.
*
* @return {IModelRules[]} Массив правил валидации
*/
rules(): IModelRules[];
/**
* Возвращает метки атрибутов таблицы.
* Используется для отображения понятных названий полей.
*
* @return {IImageModelState} Объект с метками атрибутов
*/
attributeLabels(): IImageModelState;
}