@chevre/domain
Version: 
Chevre Domain Library for Node.js
34 lines (33 loc) • 1.37 kB
TypeScript
import * as factory from '../factory';
import { MongoRepository as ActionRepo } from '../repo/action';
import { RedisRepository as ScreeningEventAvailabilityRepo } from '../repo/itemAvailability/screeningEvent';
import { MongoRepository as ReservationRepo } from '../repo/reservation';
import { MongoRepository as TaskRepo } from '../repo/task';
import { MongoRepository as TransactionRepo } from '../repo/transaction';
/**
 * 予約を確定する
 */
export declare function confirmReservation(actionAttributesList: factory.action.reserve.IAttributes[]): (repos: {
    action: ActionRepo;
    reservation: ReservationRepo;
    task: TaskRepo;
}) => Promise<void>;
/**
 * 進行中の予約をキャンセルする
 */
export declare function cancelPendingReservation(actionAttributesList: factory.action.cancel.reservation.IAttributes[]): (repos: {
    action: ActionRepo;
    reservation: ReservationRepo;
    transaction: TransactionRepo;
    eventAvailability: ScreeningEventAvailabilityRepo;
}) => Promise<void>;
/**
 * 予約をキャンセルする
 */
export declare function cancelReservation(actionAttributesList: factory.action.cancel.reservation.IAttributes[]): (repos: {
    action: ActionRepo;
    reservation: ReservationRepo;
    task: TaskRepo;
    transaction: TransactionRepo;
    eventAvailability: ScreeningEventAvailabilityRepo;
}) => Promise<void>;