UNPKG

umbot

Version:

Мультиплатформенный фреймворк для создания голосовых навыков и чат-ботов с единой бизнес-логикой. Встроенная поддержка ВКонтакте, Telegram, Viber, MAX, Яндекс Алисы, Маруси и Сбера SmartApp. Архитектура на адаптерах позволяет подключать любые другие платф

110 lines (109 loc) 4.92 kB
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; }