@chevre/domain
Version:
Chevre Domain Library for Node.js
59 lines (58 loc) • 1.95 kB
TypeScript
import type { Connection } from 'mongoose';
import * as factory from '../factory';
export type ISearchConditions<T extends factory.tripType> = factory.trip.ISearchConditions<T>;
export interface IAttributes4patchUpdate<T extends factory.tripType> {
typeOf: T;
}
/**
* トリップリポジトリ
*/
export declare class TripRepo {
private readonly tripModel;
constructor(connection: Connection);
static CREATE_MONGO_CONDITIONS<T extends factory.tripType>(conditions: ISearchConditions<T>): any[];
createMany<T extends factory.tripType>(params: factory.trip.ITrip<T>[]): Promise<factory.trip.ITrip<T>[]>;
updatePartiallyById<T extends factory.tripType>(params: {
id: string;
attributes: IAttributes4patchUpdate<T>;
}): Promise<factory.trip.ITrip<T>>;
/**
* イベントを保管する
*/
save<T extends factory.tripType>(params: {
id?: string;
attributes: factory.trip.ITrip<T>;
$unset?: {
[key: string]: number;
};
upsert?: boolean;
}): Promise<factory.trip.ITrip<T>>;
saveMany<T extends factory.tripType>(params: {
id?: string;
attributes: factory.trip.ITrip<T>;
$unset?: {
[key: string]: number;
};
upsert?: boolean;
}[]): Promise<void>;
search<T extends factory.tripType>(params: ISearchConditions<T>, projection?: {
[key: string]: number;
}): Promise<factory.trip.ITrip<T>[]>;
findById<T extends factory.tripType>(params: {
id: string;
}, projection?: {
[key: string]: number;
}): Promise<factory.trip.ITrip<T>>;
deleteById(params: {
id: string;
}): Promise<void>;
deleteByProject(params: {
project: {
id: string;
};
}): Promise<void>;
unsetUnnecessaryFields(params: {
filter: any;
$unset: any;
}): Promise<import("mongoose").UpdateWriteOpResult>;
}