{"version":3,"sources":["../src/resources/external_gateways.ts"],"names":["ApiResource"],"mappings":";;;;;AA+MA,IAAM,gBAAA,GAAN,MAAM,iBAAA,SAAyBA,6BAAA,CAA6B;AAAA,EAE3D,OAAgB,IAAA,GAA4B,mBAAA;AAAA,EAE5C,MAAM,MAAA,CAAO,QAAA,EAAiC,MAAA,EAA+C,OAAA,EAAqD;AACjJ,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAA+C,EAAE,GAAG,QAAA,EAAU,IAAA,EAAM,iBAAA,CAAiB,IAAA,EAAK,EAAG,MAAA,EAAQ,OAAO,CAAA;AAAA,EACnI;AAAA,EAEA,MAAM,MAAA,CAAO,QAAA,EAAiC,MAAA,EAA+C,OAAA,EAAqD;AACjJ,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAA+C,EAAE,GAAG,QAAA,EAAU,IAAA,EAAM,iBAAA,CAAiB,IAAA,EAAK,EAAG,MAAA,EAAQ,OAAO,CAAA;AAAA,EACnI;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,iBAAA,CAAiB,IAAA,EAAK,GAAI,IAAI,OAAO,CAAA;AAAA,EACxG;AAAA,EAEA,MAAM,eAAA,CAAgB,iBAAA,EAA6C,MAAA,EAAyC,OAAA,EAAiE;AAC5K,IAAA,MAAM,kBAAA,GAAsB,kBAAsC,EAAA,IAAM,iBAAA;AACxE,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,KAAA,CAAqB,EAAE,IAAA,EAAM,iBAAA,EAAkB,EAAG,CAAA,kBAAA,EAAqB,kBAAkB,CAAA,gBAAA,CAAA,EAAoB,MAAA,EAAQ,OAAO,CAAA;AAAA,EACnJ;AAAA,EAEA,MAAM,QAAA,CAAS,iBAAA,EAA6C,MAAA,EAAmC,OAAA,EAA2D;AACzJ,IAAA,MAAM,kBAAA,GAAsB,kBAAsC,EAAA,IAAM,iBAAA;AACxE,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,KAAA,CAAe,EAAE,IAAA,EAAM,UAAA,EAAW,EAAG,CAAA,kBAAA,EAAqB,kBAAkB,CAAA,SAAA,CAAA,EAAa,MAAA,EAAQ,OAAO,CAAA;AAAA,EAC/H;AAAA,EAEA,MAAM,YAAA,CAAa,iBAAA,EAA6C,MAAA,EAAsC,OAAA,EAA8D;AACnK,IAAA,MAAM,kBAAA,GAAsB,kBAAsC,EAAA,IAAM,iBAAA;AACxE,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,KAAA,CAAkB,EAAE,IAAA,EAAM,cAAA,EAAe,EAAG,CAAA,kBAAA,EAAqB,kBAAkB,CAAA,aAAA,CAAA,EAAiB,MAAA,EAAQ,OAAO,CAAA;AAAA,EAC1I;AAAA,EAEA,MAAM,iBAAA,CAAkB,iBAAA,EAA6C,MAAA,EAA2C,OAAA,EAAmE;AAClL,IAAA,MAAM,kBAAA,GAAsB,kBAAsC,EAAA,IAAM,iBAAA;AACxE,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,KAAA,CAAuB,EAAE,IAAA,EAAM,mBAAA,EAAoB,EAAG,CAAA,kBAAA,EAAqB,kBAAkB,CAAA,kBAAA,CAAA,EAAsB,MAAA,EAAQ,OAAO,CAAA;AAAA,EACzJ;AAAA,EAEA,MAAM,QAAA,CAAS,EAAA,EAA8B,MAAA,EAA+C,OAAA,EAAqD;AAChJ,IAAA,OAAO,KAAK,SAAA,CAAU,MAAA,CAA+C,EAAE,EAAA,EAAK,OAAO,OAAO,QAAA,GAAW,EAAA,GAAI,EAAA,CAAG,EAAA,EAAI,MAAM,iBAAA,CAAiB,IAAA,EAAM,UAAU,IAAA,EAAK,EAAG,QAAQ,OAAO,CAAA;AAAA,EAC/K;AAAA,EAEA,MAAM,OAAA,CAAQ,EAAA,EAA8B,MAAA,EAA+C,OAAA,EAAqD;AAC/I,IAAA,OAAO,KAAK,SAAA,CAAU,MAAA,CAA+C,EAAE,EAAA,EAAK,OAAO,OAAO,QAAA,GAAW,EAAA,GAAI,EAAA,CAAG,EAAA,EAAI,MAAM,iBAAA,CAAiB,IAAA,EAAM,SAAS,IAAA,EAAK,EAAG,QAAQ,OAAO,CAAA;AAAA,EAC9K;AAAA,EAEA,MAAM,cAAA,CAAe,EAAA,EAA8B,MAAA,EAA+C,OAAA,EAAqD;AACtJ,IAAA,OAAO,KAAK,SAAA,CAAU,MAAA,CAA+C,EAAE,EAAA,EAAK,OAAO,OAAO,QAAA,GAAW,EAAA,GAAI,EAAA,CAAG,EAAA,EAAI,MAAM,iBAAA,CAAiB,IAAA,EAAM,gBAAgB,IAAA,EAAK,EAAG,QAAQ,OAAO,CAAA;AAAA,EACrL;AAAA,EAGA,kBAAkB,QAAA,EAA4C;AAC7D,IAAA,OAAO,QAAA,CAAS,IAAA,IAAS,QAAA,CAAS,IAAA,KAAS,iBAAA,CAAiB,IAAA;AAAA,EAC7D;AAAA,EAGA,aAAa,EAAA,EAAoD;AAChE,IAAA,OAAO,KAAA,CAAM,qBAAyC,EAAE,CAAA;AAAA,EACzD;AAAA,EAEA,sBAAsB,GAAA,EAAqC;AAC1D,IAAA,OAAO,KAAA,CAAM,qBAAA,CAA0C,GAAG,GAAG,CAAA;AAAA,EAC9D;AAAA,EAGA,IAAA,GAA4B;AAC3B,IAAA,OAAO,iBAAA,CAAiB,IAAA;AAAA,EACzB;AAED,CAAA;AAGA,IAAM,QAAA,GAAW,IAAI,gBAAA,EAAiB;AACtC,IAAO,yBAAA,GAAQ","file":"chunk-WENVZ7YQ.cjs","sourcesContent":["import type { QueryParamsList, QueryParamsRetrieve } from '../query'\nimport type { ListResponse, Resource, ResourceCreate, ResourceId, ResourceRel, ResourceSort, /* ResourceFilter */ ResourcesConfig, ResourceUpdate, } from '../resource'\nimport { ApiResource } from '../resource'\nimport type { EventStore } from './event_stores'\nimport type { ExternalPayment } from './external_payments'\nimport type { PaymentMethod } from './payment_methods'\nimport type { Version } from './versions'\n\n\ntype ExternalGatewayType = 'external_gateways'\ntype ExternalGatewayRel = ResourceRel & { type: ExternalGatewayType }\n\n\nexport type ExternalGatewaySort = Pick<ExternalGateway, 'id' | 'name' | 'disabled_at' | 'circuit_state' | 'circuit_failure_count'> & ResourceSort\n// export type ExternalGatewayFilter = Pick<ExternalGateway, 'id' | 'name' | 'disabled_at' | 'circuit_state' | 'circuit_failure_count'> & ResourceFilter\n\n\ninterface ExternalGateway extends Resource {\n\t\n\treadonly type: ExternalGatewayType\n\n\t/** \n\t * The payment gateway's internal name.\n\t * @example ```\"US payment gateway\"```\n\t */\n\tname: string\n\t/** \n\t * Indicates if the payment source is forced on the editable order upon receiving a successful event from the gateway.\n\t * @example ```true```\n\t */\n\tforce_payments?: boolean | 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 endpoint used by the external gateway to authorize payments.\n\t * @example ```\"https://external_gateway.com/authorize\"```\n\t */\n\tauthorize_url?: string | null\n\t/** \n\t * The endpoint used by the external gateway to capture payments.\n\t * @example ```\"https://external_gateway.com/capture\"```\n\t */\n\tcapture_url?: string | null\n\t/** \n\t * The endpoint used by the external gateway to void payments.\n\t * @example ```\"https://external_gateway.com/void\"```\n\t */\n\tvoid_url?: string | null\n\t/** \n\t * The endpoint used by the external gateway to refund payments.\n\t * @example ```\"https://external_gateway.com/refund\"```\n\t */\n\trefund_url?: string | null\n\t/** \n\t * The endpoint used by the external gateway to create a customer payment token.\n\t * @example ```\"https://external_gateway.com/token\"```\n\t */\n\ttoken_url?: 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\t/** \n\t * List of related resources that will be included in the request to the external callback. Please do consult the documentation to check on which resource the includes are related (i.e. the order) and the defaults in case no list is provided.\n\t * @example ```[\"order.line_item_options\"]```\n\t */\n\texternal_includes?: string[] | null\n\n\tpayment_methods?: PaymentMethod[] | null\n\tversions?: Version[] | null\n\tevent_stores?: EventStore[] | null\n\texternal_payments?: ExternalPayment[] | null\n\n}\n\n\ninterface ExternalGatewayCreate extends ResourceCreate {\n\t\n\t/** \n\t * The payment gateway's internal name.\n\t * @example ```\"US payment gateway\"```\n\t */\n\tname: string\n\t/** \n\t * Indicates if the payment source is forced on the editable order upon receiving a successful event from the gateway.\n\t * @example ```true```\n\t */\n\tforce_payments?: boolean | 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 * The endpoint used by the external gateway to authorize payments.\n\t * @example ```\"https://external_gateway.com/authorize\"```\n\t */\n\tauthorize_url?: string | null\n\t/** \n\t * The endpoint used by the external gateway to capture payments.\n\t * @example ```\"https://external_gateway.com/capture\"```\n\t */\n\tcapture_url?: string | null\n\t/** \n\t * The endpoint used by the external gateway to void payments.\n\t * @example ```\"https://external_gateway.com/void\"```\n\t */\n\tvoid_url?: string | null\n\t/** \n\t * The endpoint used by the external gateway to refund payments.\n\t * @example ```\"https://external_gateway.com/refund\"```\n\t */\n\trefund_url?: string | null\n\t/** \n\t * The endpoint used by the external gateway to create a customer payment token.\n\t * @example ```\"https://external_gateway.com/token\"```\n\t */\n\ttoken_url?: string | null\n\t/** \n\t * List of related resources that will be included in the request to the external callback. Please do consult the documentation to check on which resource the includes are related (i.e. the order) and the defaults in case no list is provided.\n\t * @example ```[\"order.line_item_options\"]```\n\t */\n\texternal_includes?: string[] | null\n\t\n}\n\n\ninterface ExternalGatewayUpdate extends ResourceUpdate {\n\t\n\t/** \n\t * The payment gateway's internal name.\n\t * @example ```\"US payment gateway\"```\n\t */\n\tname?: string | null\n\t/** \n\t * Indicates if the payment source is forced on the editable order upon receiving a successful event from the gateway.\n\t * @example ```true```\n\t */\n\tforce_payments?: boolean | 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 * The endpoint used by the external gateway to authorize payments.\n\t * @example ```\"https://external_gateway.com/authorize\"```\n\t */\n\tauthorize_url?: string | null\n\t/** \n\t * The endpoint used by the external gateway to capture payments.\n\t * @example ```\"https://external_gateway.com/capture\"```\n\t */\n\tcapture_url?: string | null\n\t/** \n\t * The endpoint used by the external gateway to void payments.\n\t * @example ```\"https://external_gateway.com/void\"```\n\t */\n\tvoid_url?: string | null\n\t/** \n\t * The endpoint used by the external gateway to refund payments.\n\t * @example ```\"https://external_gateway.com/refund\"```\n\t */\n\trefund_url?: string | null\n\t/** \n\t * The endpoint used by the external gateway to create a customer payment token.\n\t * @example ```\"https://external_gateway.com/token\"```\n\t */\n\ttoken_url?: string | 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\t * List of related resources that will be included in the request to the external callback. Please do consult the documentation to check on which resource the includes are related (i.e. the order) and the defaults in case no list is provided.\n\t * @example ```[\"order.line_item_options\"]```\n\t */\n\texternal_includes?: string[] | null\n\t\n}\n\n\nclass ExternalGateways extends ApiResource<ExternalGateway> {\n\n\tstatic readonly TYPE: ExternalGatewayType = 'external_gateways' as const\n\n\tasync create(resource: ExternalGatewayCreate, params?: QueryParamsRetrieve<ExternalGateway>, options?: ResourcesConfig): Promise<ExternalGateway> {\n\t\treturn this.resources.create<ExternalGatewayCreate, ExternalGateway>({ ...resource, type: ExternalGateways.TYPE }, params, options)\n\t}\n\n\tasync update(resource: ExternalGatewayUpdate, params?: QueryParamsRetrieve<ExternalGateway>, options?: ResourcesConfig): Promise<ExternalGateway> {\n\t\treturn this.resources.update<ExternalGatewayUpdate, ExternalGateway>({ ...resource, type: ExternalGateways.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: ExternalGateways.TYPE } : id, options)\n\t}\n\n\tasync payment_methods(externalGatewayId: string | ExternalGateway, params?: QueryParamsList<PaymentMethod>, options?: ResourcesConfig): Promise<ListResponse<PaymentMethod>> {\n\t\tconst _externalGatewayId = (externalGatewayId as ExternalGateway).id || externalGatewayId as string\n\t\treturn this.resources.fetch<PaymentMethod>({ type: 'payment_methods' }, `external_gateways/${_externalGatewayId}/payment_methods`, params, options) as unknown as ListResponse<PaymentMethod>\n\t}\n\n\tasync versions(externalGatewayId: string | ExternalGateway, params?: QueryParamsList<Version>, options?: ResourcesConfig): Promise<ListResponse<Version>> {\n\t\tconst _externalGatewayId = (externalGatewayId as ExternalGateway).id || externalGatewayId as string\n\t\treturn this.resources.fetch<Version>({ type: 'versions' }, `external_gateways/${_externalGatewayId}/versions`, params, options) as unknown as ListResponse<Version>\n\t}\n\n\tasync event_stores(externalGatewayId: string | ExternalGateway, params?: QueryParamsList<EventStore>, options?: ResourcesConfig): Promise<ListResponse<EventStore>> {\n\t\tconst _externalGatewayId = (externalGatewayId as ExternalGateway).id || externalGatewayId as string\n\t\treturn this.resources.fetch<EventStore>({ type: 'event_stores' }, `external_gateways/${_externalGatewayId}/event_stores`, params, options) as unknown as ListResponse<EventStore>\n\t}\n\n\tasync external_payments(externalGatewayId: string | ExternalGateway, params?: QueryParamsList<ExternalPayment>, options?: ResourcesConfig): Promise<ListResponse<ExternalPayment>> {\n\t\tconst _externalGatewayId = (externalGatewayId as ExternalGateway).id || externalGatewayId as string\n\t\treturn this.resources.fetch<ExternalPayment>({ type: 'external_payments' }, `external_gateways/${_externalGatewayId}/external_payments`, params, options) as unknown as ListResponse<ExternalPayment>\n\t}\n\n\tasync _disable(id: string | ExternalGateway, params?: QueryParamsRetrieve<ExternalGateway>, options?: ResourcesConfig): Promise<ExternalGateway> {\n\t\treturn this.resources.update<ExternalGatewayUpdate, ExternalGateway>({ id: (typeof id === 'string')? id: id.id, type: ExternalGateways.TYPE, _disable: true }, params, options)\n\t}\n\n\tasync _enable(id: string | ExternalGateway, params?: QueryParamsRetrieve<ExternalGateway>, options?: ResourcesConfig): Promise<ExternalGateway> {\n\t\treturn this.resources.update<ExternalGatewayUpdate, ExternalGateway>({ id: (typeof id === 'string')? id: id.id, type: ExternalGateways.TYPE, _enable: true }, params, options)\n\t}\n\n\tasync _reset_circuit(id: string | ExternalGateway, params?: QueryParamsRetrieve<ExternalGateway>, options?: ResourcesConfig): Promise<ExternalGateway> {\n\t\treturn this.resources.update<ExternalGatewayUpdate, ExternalGateway>({ id: (typeof id === 'string')? id: id.id, type: ExternalGateways.TYPE, _reset_circuit: true }, params, options)\n\t}\n\n\n\tisExternalGateway(resource: any): resource is ExternalGateway {\n\t\treturn resource.type && (resource.type === ExternalGateways.TYPE)\n\t}\n\n\n\trelationship(id: string | ResourceId | null): ExternalGatewayRel {\n\t\treturn super.relationshipOneToOne<ExternalGatewayRel>(id)\n\t}\n\n\trelationshipToMany(...ids: string[]): ExternalGatewayRel[] {\n\t\treturn super.relationshipOneToMany<ExternalGatewayRel>(...ids)\n\t}\n\n\n\ttype(): ExternalGatewayType {\n\t\treturn ExternalGateways.TYPE\n\t}\n\n}\n\n\nconst instance = new ExternalGateways()\nexport default instance\n\nexport type { ExternalGateway, ExternalGatewayCreate, ExternalGateways, ExternalGatewayType, ExternalGatewayUpdate }\n"]}