UNPKG

@coko/server

Version:

Reusable server for use by Coko's projects

43 lines 2.3 kB
import { Model, AjvValidator, ColumnRefOrOrderByDescriptor, Transaction, PartialModelObject } from 'objection'; export type QueryResult<T> = { result: T[]; totalCount: number; }; export type FindOptions = { trx?: Transaction; related?: string | string[]; orderBy?: ColumnRefOrOrderByDescriptor[]; page?: number; pageSize?: number; }; export type TrxOption = { trx?: Transaction; }; export type TrxAndRelatedOptions = { trx?: Transaction; related?: string | string[]; }; declare class BaseModel extends Model { id: string; created: string; updated: string; type: string; static createValidator(): AjvValidator; static get jsonSchema(): object; $beforeInsert(): void; $beforeUpdate(): void; static find<T extends BaseModel>(this: new () => T, data: PartialModelObject<T>, options?: FindOptions): Promise<QueryResult<T>>; static findByIds<T extends BaseModel>(this: new () => T, ids: string[], options?: TrxAndRelatedOptions): Promise<T[]>; static findById<T extends BaseModel>(this: new () => T, id: string, options?: TrxAndRelatedOptions): Promise<T>; static findOne<T extends BaseModel>(this: new () => T, data: PartialModelObject<T>, options?: TrxAndRelatedOptions): Promise<T>; static insert<T extends BaseModel>(this: new () => T, data: PartialModelObject<T>, options?: TrxAndRelatedOptions): Promise<T>; static insert<T extends BaseModel>(this: new () => T, data: PartialModelObject<T>[], options?: TrxAndRelatedOptions): Promise<T[]>; patch(data: PartialModelObject<this>, options?: TrxOption): Promise<this>; static patchAndFetchById<T extends BaseModel>(this: new () => T, id: string, data: PartialModelObject<T>, options?: TrxAndRelatedOptions): Promise<T>; update(data: PartialModelObject<this>, options?: TrxOption): Promise<this>; static updateAndFetchById<T extends BaseModel>(this: new () => T, id: string, data: PartialModelObject<T>, options?: TrxAndRelatedOptions): Promise<T>; static deleteById<T extends BaseModel>(this: new () => T, id: string, options?: TrxOption): Promise<number>; static deleteByIds<T extends BaseModel>(this: new () => T, ids: string[], options?: TrxOption): Promise<number>; } export default BaseModel; //# sourceMappingURL=base.model.d.ts.map