UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

30 lines (29 loc) 1.27 kB
import type { AggregateReservationRepo } from '../../../repo/aggregateReservation'; import { EventRepo } from '../../../repo/event'; import type { OfferRepo } from '../../../repo/offer/unitPriceInCatalog'; import type { OfferCatalogRepo } from '../../../repo/offerCatalog'; import { ScreeningRoomRepo } from '../../../repo/place/screeningRoom'; import type { ProductRepo } from '../../../repo/product'; import { OfferRateLimitRepo } from '../../../repo/rateLimit/offer'; import type { ReservationRepo } from '../../../repo/reservation'; import type { StockHolderRepo } from '../../../repo/stockHolder'; import * as factory from '../../../factory'; type IAggregateOffersOperation<T> = (repos: { aggregateReservation: AggregateReservationRepo; event: EventRepo; stockHolder: StockHolderRepo; offer: OfferRepo; offerCatalog: OfferCatalogRepo; offerRateLimit: OfferRateLimitRepo; screeningRoom: ScreeningRoomRepo; product: ProductRepo; reservation: ReservationRepo; }) => Promise<T>; /** * イベントに対するオファー集計 */ declare function aggregateOffers(params: { id: string; typeOf: factory.eventType.ScreeningEvent | factory.eventType.Event; }): IAggregateOffersOperation<void>; export { aggregateOffers };