import { IEvent as IScreeningEvent, IExtensibleEventOffer, IOffer, IOffer4COA, ISeller, ISellerMakesOffer } from '../event/screeningEvent'; import { EventType } from '../eventType'; import { IAvailableAtOrFrom } from '../offer'; import { OrganizationType } from '../organizationType'; interface IUpdatedEvent4inform { /** * 同時複数作成に対応 */ id: string[]; isNew: boolean; project: { id: string; typeOf: OrganizationType.Project; }; typeOf: EventType.ScreeningEvent; } /** * agg(分析サービス)へのイベント通知 */ type IEvent4inform2agg = IUpdatedEvent4inform; type IEventSellerMakesOfferAsNotification = (Pick & { availableAtOrFrom: IAvailableAtOrFrom[]; identifier?: string; }); type IEventOfferAsNotification = (Pick & { seller: Pick & { makesOffer: IEventSellerMakesOfferAsNotification[]; }; }) | (Pick & { seller: Pick & { makesOffer: IEventSellerMakesOfferAsNotification[]; }; }) | Pick; /** * 外部へのイベント通知 * redefine(2025-11-01~) */ type IEventAsNotification = Pick & { offers: IEventOfferAsNotification; identifier?: string; }; export { IEvent4inform2agg, IEventAsNotification, IEventOfferAsNotification, IEventSellerMakesOfferAsNotification };