UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

68 lines (67 loc) 2.46 kB
import { AnyExpression, Connection, FilterQuery, Types } from 'mongoose'; import * as factory from '../factory'; type IKeyOfProjection = keyof factory.categoryCode.ICategoryCode; type IUnset = { [key in keyof Pick<factory.categoryCode.ICategoryCode, 'additionalProperty' | 'color' | 'image' | 'paymentMethod'>]?: 1; }; /** * 区分リポジトリ */ export declare class CategoryCodeRepo { private readonly categoryCodeModel; constructor(connection: Connection); static CREATE_MONGO_CONDITIONS(params: factory.categoryCode.ISearchConditions): FilterQuery<factory.categoryCode.ICategoryCode>[]; static CREATE_AGGREGATE_PROJECTION(inclusion: IKeyOfProjection[]): { [field: string]: AnyExpression; }; /** * 集計検索(publicな属性検索が目的) */ searchByAggregate(conditions: factory.categoryCode.ISearchConditions, inclusion: IKeyOfProjection[]): Promise<factory.categoryCode.ICategoryCode[]>; /** * 検索 */ projectFields(params: factory.categoryCode.ISearchConditions, /** * 空の場合無効 */ inclusion: IKeyOfProjection[]): Promise<(factory.categoryCode.ICategoryCode & { id: string; })[]>; save(params: { id?: string; attributes: factory.categoryCode.ICategoryCode & { $unset?: IUnset; }; }): Promise<{ id: string; }>; saveManyByCodeValue(params: { attributes: factory.categoryCode.ICategoryCode; upsert?: boolean; }[]): Promise<void>; /** * 削除する */ deleteById(params: { id: string; }): Promise<void>; /** * プロジェクト指定で削除する */ deleteByProject(params: { project: { id: string; }; }): Promise<void>; getCursor(conditions: FilterQuery<factory.categoryCode.ICategoryCode>, projection: any): import("mongoose").Cursor<import("mongoose").Document<unknown, {}, factory.categoryCode.ICategoryCode> & factory.categoryCode.ICategoryCode & { _id: Types.ObjectId; }, import("mongoose").QueryOptions<import("mongoose").Document<unknown, {}, factory.categoryCode.ICategoryCode> & factory.categoryCode.ICategoryCode & { _id: Types.ObjectId; }>>; unsetUnnecessaryFields(params: { filter: FilterQuery<factory.categoryCode.ICategoryCode>; $unset: any; }): Promise<import("mongoose").UpdateWriteOpResult>; } export {};