UNPKG

umbot

Version:

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

131 lines (130 loc) 4.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ImageTokens = void 0; const Model_1 = require("./db/Model"); const RULES = [ { name: ['imageToken', 'path'], type: 'string', max: 150, }, { name: ['platform'], type: 'string', }, ]; const ATTRS_LABEL = { imageToken: 'ID', path: 'Image path', platform: 'Platform name', }; /** * Модель для управления изображениями в различных платформах. * Предоставляет единый интерфейс для работы с изображениями в Алисе, ВКонтакте, 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 { * || Загрузка изображения * } */ class ImageTokens extends Model_1.Model { /** * Название таблицы для хранения данных об изображениях. */ static TABLE_NAME = 'ImageTokens'; /** * Описание изображения (Не обязательное поле). * Используется как подпись к изображению в некоторых платформах. */ caption; /** * Конструктор класса ImageTokens. * Предоставляет унифицированный интерфейс для хранения данных о загруженных изображений. */ constructor(appContext) { super(appContext); this.imageToken = null; this.path = null; this.platform = 'unknown'; this.caption = null; } getId() { return 'imageToken'; } /** * Идентификатор/токен изображения. * Уникальный идентификатор, используемый для ссылки на изображение в API платформы. */ get imageToken() { return this.state.imageToken; } /** * Устанавливает идентификатор/токен изображения. * @param imageToken */ set imageToken(imageToken) { this.state.imageToken = imageToken; } /** * Расположение изображения (url/директория). * Может быть URL-адресом изображения или путем к локальному файлу. */ get path() { return this.state.path; } /** * Устанавливает расположение изображения (url/директория). * @param path */ set path(path) { this.state.path = path; } /** * Тип приложения, для которого загружена картинка. */ get platform() { return this.state.platform; } /** * Устанавливает тип приложения, для которого загружена картинка. * @param platform */ set platform(platform) { this.state.platform = platform; } /** * Возвращает название таблицы/файла с данными. * * @return {string} Название таблицы для хранения данных об изображениях */ tableName() { return ImageTokens.TABLE_NAME; } /** * Определяет правила валидации для полей модели. * * @return {IModelRules[]} Массив правил валидации */ rules() { return RULES; } /** * Возвращает метки атрибутов таблицы. * Используется для отображения понятных названий полей. * * @return {IImageModelState} Объект с метками атрибутов */ attributeLabels() { return ATTRS_LABEL; } } exports.ImageTokens = ImageTokens;