UNPKG

@iredium/butterfly

Version:
48 lines (47 loc) 1.69 kB
import { BaseModelInterface } from '../../models/base_model_interface'; import { Pagination } from '../../services/pagination'; import mongoose = require('mongoose'); export declare class BaseService { Model: mongoose.Model<any>; populates: any; sort: any; populateUser: any; keys: string[]; protected user: any; constructor(Model: any, user?: null, populates?: null, sort?: { created_at: number; }); paginate({ options, query, searchKeyword, offset, limit }?: { options?: {} | undefined; query?: {} | undefined; searchKeyword?: string | undefined; offset?: number | undefined; limit?: number | undefined; }): Promise<Pagination>; /** * Get a Model by id. * @param query mongoo query object. * @param where mongoo query with the following format. * where = { * name: { * equals: '' * } * } * @returns A Promise, an exception or a value. * */ find({ query, where, offset, limit, sort }?: { query?: {} | undefined; where?: {} | undefined; offset?: number | undefined; limit?: number | undefined; sort?: string | undefined; }): Promise<BaseModelInterface[]>; get(index: any, field?: string, options?: {}): Promise<BaseModelInterface>; create(data: any): Promise<BaseModelInterface>; update(record: any, data: any): Promise<BaseModelInterface>; delete(record: any): Promise<BaseModelInterface>; restore(record: any): Promise<BaseModelInterface>; protected parseInt(str: string | number, fallback: number): number; protected filterQuery(query: any): object; }