UNPKG

@commercelayer/sdk

Version:
1 lines 10.9 kB
{"version":3,"sources":["../src/resources/webhooks.ts"],"names":["ApiResource"],"mappings":";;;;;AAkJA,IAAM,QAAA,GAAN,MAAM,SAAA,SAAiBA,6BAAA,CAAqB;AAAA,EAE3C,OAAgB,IAAA,GAAoB,UAAA;AAAA,EAEpC,MAAM,MAAA,CAAO,QAAA,EAAyB,MAAA,EAAuC,OAAA,EAA6C;AACzH,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAA+B,EAAE,GAAG,QAAA,EAAU,IAAA,EAAM,SAAA,CAAS,IAAA,EAAK,EAAG,MAAA,EAAQ,OAAO,CAAA;AAAA,EAC3G;AAAA,EAEA,MAAM,MAAA,CAAO,QAAA,EAAyB,MAAA,EAAuC,OAAA,EAA6C;AACzH,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAA+B,EAAE,GAAG,QAAA,EAAU,IAAA,EAAM,SAAA,CAAS,IAAA,EAAK,EAAG,MAAA,EAAQ,OAAO,CAAA;AAAA,EAC3G;AAAA,EAEA,MAAM,MAAA,CAAO,EAAA,EAAyB,OAAA,EAA0C;AAC/E,IAAA,MAAM,IAAA,CAAK,SAAA,CAAU,MAAA,CAAQ,OAAO,EAAA,KAAO,QAAA,GAAW,EAAE,EAAA,EAAI,IAAA,EAAM,SAAA,CAAS,IAAA,EAAK,GAAI,IAAI,OAAO,CAAA;AAAA,EAChG;AAAA,EAEA,MAAM,oBAAA,CAAqB,SAAA,EAA6B,MAAA,EAAyC,OAAA,EAAiE;AACjK,IAAA,MAAM,UAAA,GAAc,UAAsB,EAAA,IAAM,SAAA;AAChD,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,KAAA,CAAqB,EAAE,IAAA,EAAM,iBAAA,EAAkB,EAAG,CAAA,SAAA,EAAY,UAAU,CAAA,qBAAA,CAAA,EAAyB,MAAA,EAAQ,OAAO,CAAA;AAAA,EACvI;AAAA,EAEA,MAAM,QAAA,CAAS,SAAA,EAA6B,MAAA,EAAmC,OAAA,EAA2D;AACzI,IAAA,MAAM,UAAA,GAAc,UAAsB,EAAA,IAAM,SAAA;AAChD,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,KAAA,CAAe,EAAE,IAAA,EAAM,UAAA,EAAW,EAAG,CAAA,SAAA,EAAY,UAAU,CAAA,SAAA,CAAA,EAAa,MAAA,EAAQ,OAAO,CAAA;AAAA,EAC9G;AAAA,EAEA,MAAM,YAAA,CAAa,SAAA,EAA6B,MAAA,EAAsC,OAAA,EAA8D;AACnJ,IAAA,MAAM,UAAA,GAAc,UAAsB,EAAA,IAAM,SAAA;AAChD,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,KAAA,CAAkB,EAAE,IAAA,EAAM,cAAA,EAAe,EAAG,CAAA,SAAA,EAAY,UAAU,CAAA,aAAA,CAAA,EAAiB,MAAA,EAAQ,OAAO,CAAA;AAAA,EACzH;AAAA,EAEA,MAAM,QAAA,CAAS,EAAA,EAAsB,MAAA,EAAuC,OAAA,EAA6C;AACxH,IAAA,OAAO,KAAK,SAAA,CAAU,MAAA,CAA+B,EAAE,EAAA,EAAK,OAAO,OAAO,QAAA,GAAW,EAAA,GAAI,EAAA,CAAG,EAAA,EAAI,MAAM,SAAA,CAAS,IAAA,EAAM,UAAU,IAAA,EAAK,EAAG,QAAQ,OAAO,CAAA;AAAA,EACvJ;AAAA,EAEA,MAAM,OAAA,CAAQ,EAAA,EAAsB,MAAA,EAAuC,OAAA,EAA6C;AACvH,IAAA,OAAO,KAAK,SAAA,CAAU,MAAA,CAA+B,EAAE,EAAA,EAAK,OAAO,OAAO,QAAA,GAAW,EAAA,GAAI,EAAA,CAAG,EAAA,EAAI,MAAM,SAAA,CAAS,IAAA,EAAM,SAAS,IAAA,EAAK,EAAG,QAAQ,OAAO,CAAA;AAAA,EACtJ;AAAA,EAEA,MAAM,cAAA,CAAe,EAAA,EAAsB,MAAA,EAAuC,OAAA,EAA6C;AAC9H,IAAA,OAAO,KAAK,SAAA,CAAU,MAAA,CAA+B,EAAE,EAAA,EAAK,OAAO,OAAO,QAAA,GAAW,EAAA,GAAI,EAAA,CAAG,EAAA,EAAI,MAAM,SAAA,CAAS,IAAA,EAAM,gBAAgB,IAAA,EAAK,EAAG,QAAQ,OAAO,CAAA;AAAA,EAC7J;AAAA,EAGA,UAAU,QAAA,EAAoC;AAC7C,IAAA,OAAO,QAAA,CAAS,IAAA,IAAS,QAAA,CAAS,IAAA,KAAS,SAAA,CAAS,IAAA;AAAA,EACrD;AAAA,EAGA,aAAa,EAAA,EAA4C;AACxD,IAAA,OAAO,KAAA,CAAM,qBAAiC,EAAE,CAAA;AAAA,EACjD;AAAA,EAEA,sBAAsB,GAAA,EAA6B;AAClD,IAAA,OAAO,KAAA,CAAM,qBAAA,CAAkC,GAAG,GAAG,CAAA;AAAA,EACtD;AAAA,EAGA,IAAA,GAAoB;AACnB,IAAA,OAAO,SAAA,CAAS,IAAA;AAAA,EACjB;AAED,CAAA;AAGA,IAAM,QAAA,GAAW,IAAI,QAAA,EAAS;AAC9B,IAAO,gBAAA,GAAQ","file":"chunk-2VNQTC3B.cjs","sourcesContent":["import { ApiResource } from '../resource'\nimport type { Resource, ResourceCreate, ResourceUpdate, ResourceId, ResourcesConfig, ResourceRel, ListResponse, ResourceSort, /* ResourceFilter */ } from '../resource'\nimport type { QueryParamsRetrieve, QueryParamsList } from '../query'\n\nimport type { EventCallback } from './event_callbacks'\nimport type { Version } from './versions'\nimport type { EventStore } from './event_stores'\n\n\ntype WebhookType = 'webhooks'\ntype WebhookRel = ResourceRel & { type: WebhookType }\n\n\nexport type WebhookSort = Pick<Webhook, 'id' | 'disabled_at' | 'circuit_state' | 'circuit_failure_count'> & ResourceSort\n// export type WebhookFilter = Pick<Webhook, 'id' | 'name' | 'topic' | 'disabled_at' | 'circuit_state' | 'circuit_failure_count'> & ResourceFilter\n\n\ninterface Webhook extends Resource {\n\t\n\treadonly type: WebhookType\n\n\t/** \n\t * Unique name for the webhook.\n\t * @example ```\"myorg-orders.place\"```\n\t */\n\tname?: string | null\n\t/** \n\t * The identifier of the resource/event that will trigger the webhook.\n\t * @example ```\"orders.place\"```\n\t */\n\ttopic: string\n\t/** \n\t * URI where the webhook subscription should send the POST request when the event occurs.\n\t * @example ```\"https://yourapp.com/webhooks\"```\n\t */\n\tcallback_url: string\n\t/** \n\t * List of related resources that should be included in the webhook body.\n\t * @example ```[\"customer\",\"shipping_address\",\"billing_address\"]```\n\t */\n\tinclude_resources?: string[] | null\n\t/** \n\t * Time at which this resource was disabled.\n\t * @example ```\"2018-01-01T12:00:00.000Z\"```\n\t */\n\tdisabled_at?: string | null\n\t/** \n\t * The circuit breaker state, by default it is 'closed'. It can become 'open' once the number of consecutive failures overlaps the specified threshold, in such case no further calls to the failing callback are made.\n\t * @example ```\"closed\"```\n\t */\n\tcircuit_state?: string | null\n\t/** \n\t * The number of consecutive failures recorded by the circuit breaker associated to this resource, will be reset on first successful call to callback.\n\t * @example ```5```\n\t */\n\tcircuit_failure_count?: number | null\n\t/** \n\t * The shared secret used to sign the external request payload.\n\t * @example ```\"1c0994cc4e996e8c6ee56a2198f66f3c\"```\n\t */\n\tshared_secret: string\n\n\tlast_event_callbacks?: EventCallback[] | null\n\tversions?: Version[] | null\n\tevent_stores?: EventStore[] | null\n\n}\n\n\ninterface WebhookCreate extends ResourceCreate {\n\t\n\t/** \n\t * Unique name for the webhook.\n\t * @example ```\"myorg-orders.place\"```\n\t */\n\tname?: string | null\n\t/** \n\t * The identifier of the resource/event that will trigger the webhook.\n\t * @example ```\"orders.place\"```\n\t */\n\ttopic: string\n\t/** \n\t * URI where the webhook subscription should send the POST request when the event occurs.\n\t * @example ```\"https://yourapp.com/webhooks\"```\n\t */\n\tcallback_url: string\n\t/** \n\t * List of related resources that should be included in the webhook body.\n\t * @example ```[\"customer\",\"shipping_address\",\"billing_address\"]```\n\t */\n\tinclude_resources?: string[] | null\n\t/** \n\t * Send this attribute if you want to mark this resource as disabled.\n\t * @example ```true```\n\t */\n\t_disable?: boolean | null\n\t/** \n\t * Send this attribute if you want to mark this resource as enabled.\n\t * @example ```true```\n\t */\n\t_enable?: boolean | null\n\t\n}\n\n\ninterface WebhookUpdate extends ResourceUpdate {\n\t\n\t/** \n\t * Unique name for the webhook.\n\t * @example ```\"myorg-orders.place\"```\n\t */\n\tname?: string | null\n\t/** \n\t * The identifier of the resource/event that will trigger the webhook.\n\t * @example ```\"orders.place\"```\n\t */\n\ttopic?: string | null\n\t/** \n\t * URI where the webhook subscription should send the POST request when the event occurs.\n\t * @example ```\"https://yourapp.com/webhooks\"```\n\t */\n\tcallback_url?: string | null\n\t/** \n\t * List of related resources that should be included in the webhook body.\n\t * @example ```[\"customer\",\"shipping_address\",\"billing_address\"]```\n\t */\n\tinclude_resources?: string[] | null\n\t/** \n\t * Send this attribute if you want to mark this resource as disabled.\n\t * @example ```true```\n\t */\n\t_disable?: boolean | null\n\t/** \n\t * Send this attribute if you want to mark this resource as enabled.\n\t * @example ```true```\n\t */\n\t_enable?: boolean | null\n\t/** \n\t * Send this attribute if you want to reset the circuit breaker associated to this resource to 'closed' state and zero failures count. Cannot be passed by sales channels.\n\t * @example ```true```\n\t */\n\t_reset_circuit?: boolean | null\n\t\n}\n\n\nclass Webhooks extends ApiResource<Webhook> {\n\n\tstatic readonly TYPE: WebhookType = 'webhooks' as const\n\n\tasync create(resource: WebhookCreate, params?: QueryParamsRetrieve<Webhook>, options?: ResourcesConfig): Promise<Webhook> {\n\t\treturn this.resources.create<WebhookCreate, Webhook>({ ...resource, type: Webhooks.TYPE }, params, options)\n\t}\n\n\tasync update(resource: WebhookUpdate, params?: QueryParamsRetrieve<Webhook>, options?: ResourcesConfig): Promise<Webhook> {\n\t\treturn this.resources.update<WebhookUpdate, Webhook>({ ...resource, type: Webhooks.TYPE }, params, options)\n\t}\n\n\tasync delete(id: string | ResourceId, options?: ResourcesConfig): Promise<void> {\n\t\tawait this.resources.delete((typeof id === 'string')? { id, type: Webhooks.TYPE } : id, options)\n\t}\n\n\tasync last_event_callbacks(webhookId: string | Webhook, params?: QueryParamsList<EventCallback>, options?: ResourcesConfig): Promise<ListResponse<EventCallback>> {\n\t\tconst _webhookId = (webhookId as Webhook).id || webhookId as string\n\t\treturn this.resources.fetch<EventCallback>({ type: 'event_callbacks' }, `webhooks/${_webhookId}/last_event_callbacks`, params, options) as unknown as ListResponse<EventCallback>\n\t}\n\n\tasync versions(webhookId: string | Webhook, params?: QueryParamsList<Version>, options?: ResourcesConfig): Promise<ListResponse<Version>> {\n\t\tconst _webhookId = (webhookId as Webhook).id || webhookId as string\n\t\treturn this.resources.fetch<Version>({ type: 'versions' }, `webhooks/${_webhookId}/versions`, params, options) as unknown as ListResponse<Version>\n\t}\n\n\tasync event_stores(webhookId: string | Webhook, params?: QueryParamsList<EventStore>, options?: ResourcesConfig): Promise<ListResponse<EventStore>> {\n\t\tconst _webhookId = (webhookId as Webhook).id || webhookId as string\n\t\treturn this.resources.fetch<EventStore>({ type: 'event_stores' }, `webhooks/${_webhookId}/event_stores`, params, options) as unknown as ListResponse<EventStore>\n\t}\n\n\tasync _disable(id: string | Webhook, params?: QueryParamsRetrieve<Webhook>, options?: ResourcesConfig): Promise<Webhook> {\n\t\treturn this.resources.update<WebhookUpdate, Webhook>({ id: (typeof id === 'string')? id: id.id, type: Webhooks.TYPE, _disable: true }, params, options)\n\t}\n\n\tasync _enable(id: string | Webhook, params?: QueryParamsRetrieve<Webhook>, options?: ResourcesConfig): Promise<Webhook> {\n\t\treturn this.resources.update<WebhookUpdate, Webhook>({ id: (typeof id === 'string')? id: id.id, type: Webhooks.TYPE, _enable: true }, params, options)\n\t}\n\n\tasync _reset_circuit(id: string | Webhook, params?: QueryParamsRetrieve<Webhook>, options?: ResourcesConfig): Promise<Webhook> {\n\t\treturn this.resources.update<WebhookUpdate, Webhook>({ id: (typeof id === 'string')? id: id.id, type: Webhooks.TYPE, _reset_circuit: true }, params, options)\n\t}\n\n\n\tisWebhook(resource: any): resource is Webhook {\n\t\treturn resource.type && (resource.type === Webhooks.TYPE)\n\t}\n\n\n\trelationship(id: string | ResourceId | null): WebhookRel {\n\t\treturn super.relationshipOneToOne<WebhookRel>(id)\n\t}\n\n\trelationshipToMany(...ids: string[]): WebhookRel[] {\n\t\treturn super.relationshipOneToMany<WebhookRel>(...ids)\n\t}\n\n\n\ttype(): WebhookType {\n\t\treturn Webhooks.TYPE\n\t}\n\n}\n\n\nconst instance = new Webhooks()\nexport default instance\n\nexport type { Webhooks, Webhook, WebhookCreate, WebhookUpdate, WebhookType }\n"]}