@chevre/domain
Version:
Chevre Domain Library for Node.js
46 lines (45 loc) • 1.58 kB
TypeScript
import { Connection } from 'mongoose';
import reservationModel from './mongoose/model/reservation';
import * as factory from '../factory';
/**
* 予約リポジトリー
*/
export declare class MongoRepository {
readonly reservationModel: typeof reservationModel;
constructor(connection: Connection);
static CREATE_EVENT_RESERVATION_MONGO_CONDITIONS(params: factory.reservation.event.ISearchConditions): any[];
countScreeningEventReservations(params: factory.reservation.event.ISearchConditions): Promise<number>;
/**
* 上映イベント予約を検索する
*/
searchScreeningEventReservations(params: factory.reservation.event.ISearchConditions): Promise<factory.reservation.event.IReservation<factory.event.screeningEvent.IEvent>[]>;
/**
* IDで上映イベント予約を検索する
*/
findScreeningEventReservationById(params: {
id: string;
}): Promise<factory.reservation.event.IReservation<factory.event.screeningEvent.IEvent>>;
/**
* 予約確定
*/
confirm(params: factory.reservation.event.IReservation<factory.event.screeningEvent.IEvent>): Promise<void>;
/**
* 予約取消
*/
cancel(params: {
id: string;
}): Promise<void>;
/**
* チェックイン(発券)する
*/
checkIn(params: {
id?: string;
reservationNumber?: string;
}): Promise<void>;
/**
* 入場する
*/
attend(params: {
id: string;
}): Promise<factory.reservation.event.IReservation<factory.event.screeningEvent.IEvent>>;
}