@chevre/domain
Version:
Chevre Domain Library for Node.js
68 lines (67 loc) • 2.46 kB
TypeScript
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 {};