@chevre/domain
Version:
Chevre Domain Library for Node.js
41 lines (40 loc) • 1.85 kB
TypeScript
import type * as COAService from '@motionpicture/coa-service';
import * as factory from '../../../../factory';
import { IMinimizedIndividualEvent } from '../../../../factory/event';
export type IAcceptedOffer4COA = factory.action.accept.coaOffer.IAcceptedOffer4COA;
export type IRequestBody = COAService.factory.reserve.IUpdTmpReserveSeatArgs;
export type IResponseBody = COAService.factory.reserve.IUpdTmpReserveSeatResult;
export declare function createAuthorizeSeatReservationActionAttributes(params: {
acceptAction: {
id: string;
};
event: {
id: string;
typeOf: factory.eventType.ScreeningEvent;
};
transaction: Pick<factory.transaction.ITransaction<factory.transactionType.PlaceOrder>, 'agent' | 'id' | 'project' | 'seller' | 'typeOf'>;
pendingTransaction: factory.action.authorize.offer.eventService.ICOAPendingTransaction;
}): factory.action.authorize.offer.eventService.IAttributes;
/**
* 供給情報から承認アクションの価格を導き出す
*/
export declare function offers2resultPrice(offers: IAcceptedOffer4COA[]): {
price: number;
eligibleMonetaryAmount: never[];
};
type IResultAcceptedOffer = factory.order.IAcceptedOffer<factory.order.IEventReservation>;
/**
* COA仮予約結果から注文アイテムを生成する
*/
export declare function responseBody2acceptedOffers4result(params: {
project: {
id: string;
};
responseBody: IResponseBody;
acceptedOffer: IAcceptedOffer4COA[];
event: Pick<IMinimizedIndividualEvent<factory.eventType.ScreeningEvent>, 'coaInfo' | 'doorTime' | 'endDate' | 'id' | 'location' | 'startDate' | 'superEvent' | 'typeOf' | 'identifier' | 'name'>;
seller: Pick<factory.transaction.placeOrder.ISeller, 'typeOf' | 'name'>;
bookingTime: Date;
totalPrice: number;
}): IResultAcceptedOffer[];
export {};