umbot
    Preparing search index...

    Interface IDatabaseAdapter

    Адаптер для работы с базой данных.

    Обеспечивает унифицированный интерфейс для различных СУРБД (файловая, MongoDB, PostgreSQL и др.). Все данные подключения и соединения хранятся в AppContext через IDatabaseInfo, чтобы избежать повторного подключения при каждом запросе.

    interface IDatabaseAdapter {
        close: (tableName: string) => void | Promise<void>;
        connect: () => boolean | Promise<boolean>;
        destroy: () => void | Promise<void>;
        escapeString: (str: string | number) => string;
        getValue: (data: IModelRes) => IDbResult<unknown> | null;
        init: (appContext: AppContext<IDatabaseInfo>) => void;
        insert: (insertData: IQuery) => Promise<boolean>;
        isConnected: () => boolean | Promise<boolean>;
        query: (callback: TQueryCb) => unknown;
        remove: (removeData: IQuery) => Promise<boolean>;
        select: (
            selectData: IQuery,
            where: IQueryData | null,
            isOne: boolean,
        ) => Promise<IModelRes<IDataValue>>;
        selectOne: (
            selectData: IQuery,
            where: IQueryData | null,
        ) => Promise<IModelRes<IDataValue> | null>;
        update: (updateData: IQuery) => Promise<boolean>;
        save(query: IQuery, isNew: boolean): Promise<boolean>;
    }

    Hierarchy (View Summary)

    Implemented by

    Index

    Properties

    close: (tableName: string) => void | Promise<void>

    Вызывается при удалении модели или завершении сессии. Может использоваться для освобождения ресурсов, связанных с таблицей.

    Type Declaration

      • (tableName: string): void | Promise<void>
      • Parameters

        • tableName: string

          Название таблицы, подключение к которой закрывается

        Returns void | Promise<void>

    connect: () => boolean | Promise<boolean>

    Устанавливает подключение к базе данных. В случае успешного подключения возвращается true

    destroy: () => void | Promise<void>

    Вызывается при завершении работы бота или замене адаптера. Используйте для закрытия соединений, сохранения данных и т.п.

    escapeString: (str: string | number) => string

    Экранирует строку для безопасного использования в SQL-запросах.

    Type Declaration

      • (str: string | number): string
      • Parameters

        • str: string | number

          Экранируемый запрос

        Returns string

    getValue: (data: IModelRes) => IDbResult<unknown> | null

    Извлекает значения из результата запроса.

    Type Declaration

      • (data: IModelRes): IDbResult<unknown> | null
      • Parameters

        • data: IModelRes

          Результат запроса. В случае успешного запроса вернутся данные, в противном случае null

        Returns IDbResult<unknown> | null

    init: (appContext: AppContext<IDatabaseInfo>) => void

    Метод инициализации плагина. Вызывается один раз при подключении через bot.use().

    Type Declaration

      • (appContext: AppContext<IDatabaseInfo>): void
      • Parameters

        • appContext: AppContext<IDatabaseInfo>

          Контекст приложения

        Returns void

    insert: (insertData: IQuery) => Promise<boolean>

    Выполняет INSERT-запрос.

    Type Declaration

      • (insertData: IQuery): Promise<boolean>
      • Parameters

        • insertData: IQuery

          Дополнительная информация для запроса. Содержит сам запроса, а также название таблицы и прочие данные.

        Returns Promise<boolean>

    isConnected: () => boolean | Promise<boolean>

    Проверяет, установлено ли соединение с БД.

    query: (callback: TQueryCb) => unknown

    Выполняет произвольный запрос через callback.

    Type Declaration

      • (callback: TQueryCb): unknown
      • Parameters

        • callback: TQueryCb

          функция обработчик

        Returns unknown

    remove: (removeData: IQuery) => Promise<boolean>

    Выполняет DELETE-запрос.

    Type Declaration

      • (removeData: IQuery): Promise<boolean>
      • Parameters

        • removeData: IQuery

          Дополнительная информация для запроса. Содержит сам запроса, а также название таблицы и прочие данные.

        Returns Promise<boolean>

    select: (
        selectData: IQuery,
        where: IQueryData | null,
        isOne: boolean,
    ) => Promise<IModelRes<IDataValue>>

    Выполняет SELECT-запрос.

    Type Declaration

      • (
            selectData: IQuery,
            where: IQueryData | null,
            isOne: boolean,
        ): Promise<IModelRes<IDataValue>>
      • Parameters

        • selectData: IQuery

          Дополнительная информация для запроса. Содержит информацию о таблице и структуре.

        • where: IQueryData | null

          Сам запрос

        • isOne: boolean

          Определяет нужно ли вернуть только 1 найденную запись, либо отдать все доступные данные.

        Returns Promise<IModelRes<IDataValue>>

    selectOne: (
        selectData: IQuery,
        where: IQueryData | null,
    ) => Promise<IModelRes<IDataValue> | null>

    Выполняет SELECT с ограничением до одной записи.

    Type Declaration

    update: (updateData: IQuery) => Promise<boolean>

    Выполняет UPDATE-запрос.

    Type Declaration

      • (updateData: IQuery): Promise<boolean>
      • Parameters

        • updateData: IQuery

          Дополнительная информация для запроса. Содержит сам запроса, а также название таблицы и прочие данные.

        Returns Promise<boolean>

    Methods

    • Сохраняет данные (INSERT или UPDATE в зависимости от isNew).

      Parameters

      • query: IQuery

        Данные для запроса. Включает как запроса, так и сами данные

      • isNew: boolean

        Флаг, говорящий о том, что добавляется новая запись

      Returns Promise<boolean>