import { IAttributes as IInformActionAttributes, IOrderAsAbout, IPlaceOrderAsAbout, IRecipient, IRecipientDeprecated } from '../action/interact/inform'; import { IExtendId } from '../autoGenerated'; import { IEntryPoint } from '../entryPoint'; import { IAccountTitleAsNotification } from '../notification/accountTitle'; import { ICategoryCodeAsNotification } from '../notification/categoryCode'; import { IMovieAsNotification, INoteDigitalDocumentAsNotification } from '../notification/creativeWork'; import { IEvent4inform2agg, IEventAsNotification } from '../notification/event'; import { IEventSeriesAsNotification } from '../notification/eventSeries'; import { IOfferAsNotification } from '../notification/offer'; import { IOfferCatalogAsNotification } from '../notification/offerCatalog'; import { IOrder4inform } from '../notification/order'; import { IPayAction4inform } from '../notification/payAction'; import { IPersonAsNotification } from '../notification/person'; import { IEntranceGateAsNotification, IHasPOSAsNotification, IMovieTheaterAsNotification, IRoomAsNotification } from '../notification/place'; import { IProductAsNotification } from '../notification/product'; import { IRefundAction4inform } from '../notification/refundAction'; import { IReservation4inform } from '../notification/reservation'; import { ITask4inform } from '../notification/task'; import { IPlaceOrderAsNotification } from '../notification/transaction'; import { ITaskAttributes } from '../task'; import { TaskName } from '../taskName'; export type IDeprecatedRecipient = Pick & { url?: never; }; /** * define strictly(2025-02-20~) */ export type IAnyResourceAsObject = IPlaceOrderAsNotification | IOfferCatalogAsNotification | IEntranceGateAsNotification | IHasPOSAsNotification | IMovieTheaterAsNotification | IRoomAsNotification | IOfferAsNotification | IAccountTitleAsNotification | IProductAsNotification | ICategoryCodeAsNotification | IMovieAsNotification | INoteDigitalDocumentAsNotification | IPersonAsNotification | IEvent4inform2agg | IEventAsNotification | IEventSeriesAsNotification; export type IInformAnyResourceAction = Pick, 'object' | 'about'> & { /** * 通知識別子(2024-10-24~) */ identifier?: string; recipient: IDeprecatedRecipient; target: IEntryPoint; id?: never; typeOf?: never; purpose?: never; }; export type IPotentialInformOrderAction = Pick, 'object' | 'about'> & { /** * about required(2025-02-19~) */ about?: IOrderAsAbout; /** * 通知識別子(2024-10-24~) */ identifier?: string; recipient: IDeprecatedRecipient; target: IEntryPoint; id?: never; typeOf?: never; purpose?: never; }; export type IPotentialInformReservationAction = Pick, 'object' | 'about'> & { /** * about required(2025-02-19~) */ about?: IOrderAsAbout | IPlaceOrderAsAbout; /** * 通知識別子(2024-10-24~) */ identifier?: string; recipient: Pick & { id?: string; }; target: IEntryPoint; id?: never; typeOf?: never; purpose?: never; }; /** * support task(2025-08-03~) */ export type IPotentialInformTaskAction = Pick, 'object'> & { /** * 通知識別子 */ identifier: string; recipient: IDeprecatedRecipient; target: IEntryPoint; id?: never; typeOf?: never; purpose?: never; about?: never; }; export type IPotentialInformActionWithId = Pick, 'object' | 'purpose' | 'about'> & { identifier?: never; recipient?: never; target?: never; /** * potentialAction id */ id: string; typeOf: IInformActionAttributes['typeOf']; }; export type IData = IInformAnyResourceAction | IPotentialInformOrderAction | IPotentialInformReservationAction | IPotentialInformActionWithId | IPotentialInformTaskAction; export interface IAttributes extends ITaskAttributes { name: TaskName.TriggerWebhook; data: IData; } /** * trigger webhook task */ export type ITask = IExtendId;