Конструктор класса SoundTokens. Предоставляет унифицированный интерфейс для хранения данных о загруженных аудиофайлах.
Контекст приложения
Protected_appContextКонтекст приложения.
Флаг, указывающий, что передается содержимое файла. Если true, то path содержит содержимое файла, а не путь к нему. Поле предназначено для пользовательского кода (аналог флага TSoundCallback); сам фреймворк его не устанавливает и не читает (VK/Sound.ts задаёт одноимённый флаг на VkRequest, а не на модель).
Объект для хранения параметров запроса. Содержит условия поиска и данные для обновления
Начальный индекс для итерации по данным. Используется при инициализации модели из массива
Состояние модели. Содержит текущие значения всех атрибутов
Protected Static ReadonlyTABLE_NAMEНазвание таблицы для хранения данных о звуковых файлах.
Устанавливает путь к файлу.
Путь к аудиофайлу или URL
Тип платформы. Определяет, для какой платформы предназначен звуковой файл.
Устанавливает тип платформы.
Тип платформы (alisa, telegram, vk и т.д.)
Устанавливает идентификатор звукового файла.
Токен звукового файла
Возвращает метки атрибутов таблицы. Используется для отображения понятных названий полей.
Объект с метками атрибутов
ProtectedgetIdПервичный ключ таблицы — soundToken.
Выполняет произвольный запрос к базе данных
Типы client/db зависят от подключённого адаптера БД —
для MongoAdapter это MongoClient и Db из драйвера mongodb.
Для FileAdapter _query не реализован — метод вернёт null.
Функция обратного вызова для выполнения запроса
Результат выполнения запроса
import type { MongoClient, Db } from 'mongodb';
const result = await model.query(async (client: MongoClient, db: Db) => {
const collection = db.collection('users');
return await collection.aggregate([
{ $match: { age: { $gt: 18 } } },
{ $group: { _id: '$city', count: { $sum: 1 } } }
]).toArray();
});
Сохраняет данные модели в базу данных Если запись существует - обновляет, иначе создает новую
Флаг создания новой записи
Promise с результатом операции
Находит token звукового файла по пути и платформе.
Для SoundTokens логичный lookup идёт по path+platform, а не по soundToken
(он ещё null на новой модели).
Promise с результатом поиска {status, data, error}. При успехе
data содержит найденную запись модели, а не сам токен.
Возвращает название таблицы/файла с данными.
Название таблицы для хранения данных о звуковых файлах
Выполняет произвольный запрос к базе данных
Условия запроса
Флаг выборки одной записи
Promise с результатом запроса
Выполняет запрос с выборкой одной записи
Условия запроса
Promise
Модель для управления звуковыми файлами в различных платформах. Предоставляет единый интерфейс для работы со звуковыми файлами в Алисе, ВКонтакте, Telegram, Марусе и тд.
Example