umbot - v2.0.8
    Preparing search index...

    Class DbControllerModelAbstract

    Абстрактный класс для создания контроллеров баз данных Служит прослойкой между логикой приложения и подключением к базе данных

    class CustomDbController extends DbControllerModel {
    // Реализация абстрактных методов
    async select(where: IQueryData | null, isOne: boolean): Promise<IModelRes> {
    // Реализация поиска
    }

    async insert(data: QueryData): Promise<any> {
    // Реализация вставки
    }

    async update(data: QueryData): Promise<any> {
    // Реализация обновления
    }

    async remove(data: QueryData): Promise<boolean> {
    // Реализация удаления
    }

    async query(callback: TQueryCb): Promise<any> {
    // Реализация произвольного запроса
    }

    async isConnected(): Promise<boolean> {
    // Проверка подключения
    }
    }

    DbControllerModel

    Hierarchy (View Summary)

    Implements

    Index

    Constructors

    Properties

    _tableName: string

    Имя таблицы в базе данных Используется для выполнения запросов

    _rules: IModelRules[]

    Правила валидации для полей таблицы Определяют типы и ограничения для каждого поля

    _connectConfig: undefined | IAppDB

    Конфигурация подключения к базе данных Содержит параметры для установки соединения

    _primaryKeyName: TKey

    Имя первичного ключа таблицы По умолчанию 'id'

    id
    

    Accessors

    Methods

    • Выполняет поиск записей в источнике данных Должен быть реализован в дочерних классах

      Parameters

      • select: null | IQueryData

        Условия поиска

      • isOne: boolean

        Флаг выборки одной записи

      Returns Promise<IModelRes>

      Promise с результатом запроса

      // Реализация в дочернем классе
      async select(where: IQueryData | null, isOne: boolean): Promise<IModelRes> {
      // Логика поиска
      }
    • Добавляет новую запись в источник данных Должен быть реализован в дочерних классах

      Parameters

      • insertData: QueryData

        Данные для добавления

      Returns any

      // Реализация в дочернем классе
      async insert(data: QueryData): Promise<any> {
      // Логика вставки
      }
    • Обновляет существующую запись в источнике данных Должен быть реализован в дочерних классах

      Parameters

      • updateData: QueryData

        Данные для обновления

      Returns any

      // Реализация в дочернем классе
      async update(data: QueryData): Promise<any> {
      // Логика обновления
      }
    • Сохраняет запись в источник данных Если запись существует - обновляет, иначе создает новую

      Parameters

      • saveData: QueryData

        Данные для сохранения

      • isNew: boolean

        Флаг создания новой записи

      Returns Promise<any>

      Promise с результатом операции

      const queryData = new QueryData();
      queryData.setData({ username: 'John' });
      queryData.setQuery({ id: 1 });
      await controller.save(queryData);
    • Удаляет запись из источника данных Должен быть реализован в дочерних классах

      Parameters

      • removeData: QueryData

        Данные для удаления

      Returns any

      // Реализация в дочернем классе
      async remove(data: QueryData): Promise<boolean> {
      // Логика удаления
      }
    • Выполняет произвольный запрос к источнику данных Должен быть реализован в дочерних классах

      Parameters

      • callback: TQueryCb

        Функция обратного вызова для выполнения запроса

      Returns any

      // Реализация в дочернем классе
      async query(callback: TQueryCb): Promise<any> {
      // Логика выполнения запроса
      }
    • Выполняет поиск одной записи в источнике данных

      Parameters

      • query: null | IQueryData

        Условия поиска

      Returns Promise<null | IModelRes>

      Promise с результатом запроса или null

      const result = await controller.selectOne({ id: 1 });
      if (result?.status) {
      console.log('Record found');
      }
    • Экранирует специальные символы в строке

      Parameters

      • str: string | number

        Текст для экранирования

      Returns string

      Экранированная строка

      const safe = controller.escapeString("O'Connor");
      
    • Проверяет состояние подключения к источнику данных Должен быть реализован в дочерних классах

      Returns Promise<boolean>

      Promise - true если подключение активно

      // Реализация в дочернем классе
      async isConnected(): Promise<boolean> {
      // Логика проверки подключения
      }