@chevre/domain
Version:
Chevre Domain Library for Node.js
79 lines (78 loc) • 2.99 kB
TypeScript
import type { Connection, FilterQuery } from 'mongoose';
import * as factory from '../factory';
type IKeyOfProjection = keyof factory.project.IProject;
/**
* プロジェクトリポジトリ
* makesOfferについてはsee ProjectMakesOfferRepo
*/
export declare class ProjectRepo {
private readonly projectModel;
constructor(connection: Connection);
static CREATE_MONGO_CONDITIONS(params: factory.project.ISearchConditions): FilterQuery<factory.project.IProject>[];
findById(params: {
id: string;
inclusion: IKeyOfProjection[];
}): Promise<factory.project.IProject>;
findAlternateNameById(params: {
id: string;
}): Promise<Pick<factory.project.IProject, 'alternateName'>>;
/**
* プロジェクト検索
*/
projectFields(conditions: factory.project.ISearchConditions, inclusion: IKeyOfProjection[]): Promise<factory.project.IProject[]>;
createById(params: factory.project.IProject): Promise<Pick<factory.project.IProject, 'id'>>;
updateById(params: {
id: string;
alternateName?: string;
logo?: string;
hasMerchantReturnPolicy?: Pick<factory.project.IHasMerchantReturnPolicy, 'sameAs' | 'identifier'>;
name?: string;
settings?: {
sendEmailMessage?: factory.project.ISendEmailMessageSettings;
sendgridApiKey?: string;
};
subscription?: {
useEventServiceAsProduct?: boolean;
};
}): Promise<void>;
updateMakesOfferById(params: {
id: string;
makesOffer: factory.project.IMakesOffer[];
}): Promise<void>;
activateOptionalAggregationSettings(params: {
id: string;
}): Promise<void>;
updateAggregateReservation(params: {
id: string;
aggregateReservation?: any;
}): Promise<void>;
deleteById(params: {
id: string;
}): Promise<void>;
getCursor(conditions: FilterQuery<factory.project.IProject>, projection: any): import("mongoose").Cursor<import("mongoose").Document<unknown, {}, Omit<factory.project.IProject, "id"> & {
_id: string;
aggregateReservation?: any;
makesOffer?: factory.project.IMakesOffer[];
}> & Omit<factory.project.IProject, "id"> & {
_id: string;
aggregateReservation?: any;
makesOffer?: factory.project.IMakesOffer[];
} & Required<{
_id: string;
}>, import("mongoose").QueryOptions<import("mongoose").Document<unknown, {}, Omit<factory.project.IProject, "id"> & {
_id: string;
aggregateReservation?: any;
makesOffer?: factory.project.IMakesOffer[];
}> & Omit<factory.project.IProject, "id"> & {
_id: string;
aggregateReservation?: any;
makesOffer?: factory.project.IMakesOffer[];
} & Required<{
_id: string;
}>>>;
unsetUnnecessaryFields(params: {
filter: any;
$unset: any;
}): Promise<import("mongoose").UpdateWriteOpResult>;
}
export {};