UNPKG

@topgroup/diginext

Version:

A BUILD SERVER & CLI to deploy apps to any Kubernetes clusters.

56 lines 2.17 kB
import type { Model, Schema } from "mongoose"; import type { IRole, IUser, IWorkspace } from "../entities"; import type { AppRequest, Ownership } from "../interfaces/SystemTypes"; import type { IQueryFilter, IQueryOptions, IQueryPagination } from "../interfaces/IQuery"; export declare const DEFAULT_PAGE_SIZE = 100; export default class BaseService<T = any> { readonly model: Model<T>; /** * Current login user */ user?: IUser; /** * Current active workspace */ workspace?: IWorkspace; /** * Current owner & workspace */ ownership?: Ownership; req?: AppRequest; constructor(schema: Schema, ownership?: Ownership); getActiveWorkspace(user: IUser): Promise<IWorkspace>; getActiveRole(user: IUser): Promise<IRole>; count(filter?: IQueryFilter<T>, options?: IQueryOptions): Promise<number>; create(data: any, options?: IQueryOptions): Promise<T>; find(filter?: IQueryFilter<T>, options?: IQueryOptions & IQueryPagination, pagination?: IQueryPagination): Promise<T[]>; findOne(filter?: IQueryFilter<T>, options?: IQueryOptions): Promise<T>; /** * Looking for unique "field" path of the documents in a collection * @param path - Document path (field) to be groupped */ distinct(path: string, filter?: IQueryFilter<T>, options?: IQueryOptions & IQueryPagination, pagination?: IQueryPagination): Promise<any[]>; update(filter: IQueryFilter<T>, data: any, options?: IQueryOptions): Promise<T[]>; updateOne(filter: IQueryFilter<T>, data: any, options?: IQueryOptions): Promise<T>; softDelete(filter?: IQueryFilter<T>, options?: IQueryOptions): Promise<{ ok: boolean; affected: number; }>; delete(filter?: IQueryFilter<T>, options?: IQueryOptions): Promise<{ ok: boolean; affected: number; }>; empty(filter?: IQueryFilter<T>): Promise<{ ok: number; n: number; error: string; } | { error: any; acknowledged: boolean; deletedCount: number; ok?: undefined; n?: undefined; }>; } export { BaseService }; //# sourceMappingURL=BaseService.d.ts.map