@chevre/domain
Version:
Chevre Domain Library for Node.js
38 lines (37 loc) • 1.4 kB
TypeScript
import { Connection, FilterQuery } from 'mongoose';
import * as factory from '../factory';
import { IDocType } from './mongoose/schemas/advanceBookingRequirement';
export type ISavingRequirement = Pick<factory.advanceBookingRequirement.IAdvanceBookingRequirement, 'identifier' | 'project' | 'typeOf' | 'description' | 'maxValue' | 'minValue' | 'unitCode' | 'valueReference'> & {
id?: never;
};
interface IUnset {
$unset?: {
[key: string]: 1;
};
}
type IRequirementWithId = factory.advanceBookingRequirement.IAdvanceBookingRequirement & {
id: string;
};
type IKeyOfProjection = keyof factory.advanceBookingRequirement.IAdvanceBookingRequirement;
/**
* 事前予約要件リポジトリ
*/
export declare class AdvanceBookingRequirementRepo {
private readonly advanceBookingRequirementModel;
constructor(connection: Connection);
static CREATE_FILTER_QUERY(params: factory.advanceBookingRequirement.ISearchConditions): FilterQuery<IDocType>[];
save(params: {
id?: string;
attributes: ISavingRequirement & IUnset;
}): Promise<{
id: string;
}>;
projectFields(conditions: factory.advanceBookingRequirement.ISearchConditions, inclusion: IKeyOfProjection[]): Promise<IRequirementWithId[]>;
deleteById(params: {
id: string;
project: {
id: string;
};
}): Promise<void>;
}
export {};