UNPKG

@e22m4u/js-repository

Version:

Реализация репозитория для работы с базами данных в Node.js

156 lines (141 loc) 2.74 kB
import {ModelId} from '../types.js'; import {AnyObject} from '../types.js'; import {ModelData} from '../types.js'; import {Service} from '@e22m4u/js-service'; import {WhereClause} from '../filter/index.js'; import {FilterClause} from '../filter/index.js'; import {ItemFilterClause} from '../filter/index.js'; import {ServiceContainer} from '@e22m4u/js-service'; /** * Adapter. */ export declare class Adapter extends Service { /** * Kind. * * @type {string} */ static kind: string; /** * Settings. */ get settings(): AnyObject | undefined; /** * Constructor. * * @param container * @param settings */ constructor(container?: ServiceContainer, settings?: AnyObject); /** * Create. * * @param modelName * @param modelData * @param filter */ create( modelName: string, modelData: ModelData, filter?: ItemFilterClause, ): Promise<ModelData>; /** * Replace by id. * * @param modelName * @param id * @param modelData * @param filter */ replaceById( modelName: string, id: ModelId, modelData: ModelData, filter?: ItemFilterClause, ): Promise<ModelData>; /** * Replace or create. * * @param modelName * @param modelData * @param filter */ replaceOrCreate( modelName: string, modelData: ModelData, filter?: ItemFilterClause, ): Promise<ModelData>; /** * Patch. * * @param modelName * @param modelData * @param where */ patch( modelName: string, modelData: ModelData, where?: WhereClause, ): Promise<number>; /** * Patch by id. * * @param modelName * @param id * @param modelData * @param filter */ patchById( modelName: string, id: ModelId, modelData: ModelData, filter?: ItemFilterClause, ): Promise<ModelData>; /** * Find. * * @param modelName * @param filter */ find(modelName: string, filter?: FilterClause): Promise<ModelData[]>; /** * Find by id. * * @param modelName * @param id * @param filter */ findById( modelName: string, id: ModelId, filter?: ItemFilterClause, ): Promise<ModelData>; /** * Delete. * * @param modelName * @param where */ delete(modelName: string, where?: WhereClause): Promise<number>; /** * Delete by id. * * @param modelName * @param id */ deleteById(modelName: string, id: ModelId): Promise<boolean>; /** * Exists. * * @param modelName * @param id */ exists(modelName: string, id: ModelId): Promise<boolean>; /** * Count. * * @param modelName * @param where */ count(modelName: string, where?: WhereClause): Promise<number>; }