UNPKG

umbot

Version:

Universal bot(vk, telegram, viber) or skills for Yandex.Alisa, Маруся and sber

27 lines (26 loc) 1.1 kB
import { IModelRes, IModelRules } from './IModel'; import { IQueryData, QueryData } from '../db/QueryData'; import { Db, MongoClient } from 'mongodb'; export type TKey = string | number | null; export interface IDbControllerResult<TValue = unknown> { [keyStr: string]: TValue; [keyInt: number]: TValue; } export type TQueryCb = (client: MongoClient, db: Db) => Promise<IModelRes>; export type TStateData = Record<string | number, any>; export interface IDbControllerModel { tableName: string; primaryKeyName: TKey; setRules(rules: IModelRules[]): void; getValue(res: IModelRes): IDbControllerResult | null; select(select: IQueryData | null, isOne: boolean): Promise<IModelRes>; insert(insertData: QueryData): any; update(updateData: QueryData): any; save(saveData: QueryData, isNew: boolean): Promise<any>; remove(removeData: QueryData): any; query(callback: TQueryCb): any; selectOne(query: IQueryData | null): Promise<IModelRes | null>; escapeString(str: string | number): string; isConnected(): Promise<boolean>; destroy(): void; }