UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

59 lines (58 loc) 1.95 kB
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>; }