@adobe/aio-commerce-lib-events 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/dist/cjs/commerce/index.cjs +1 -1
- package/dist/cjs/commerce/index.d.cts +47 -76
- package/dist/cjs/io-events/index.cjs +1 -1
- package/dist/cjs/io-events/index.d.cts +273 -3007
- package/dist/es/commerce/index.d.mts +47 -76
- package/dist/es/commerce/index.mjs +1 -1
- package/dist/es/io-events/index.d.mts +273 -3007
- package/dist/es/io-events/index.mjs +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as __exportAll}from"../chunk-BKfb2J6I.mjs";import{buildCamelCaseKeysResponseHook}from"@adobe/aio-commerce-lib-api/utils";import{booleanValueSchema,parseOrThrow,stringValueSchema}from"@aio-commerce-sdk/common-utils/valibot";import*as v from"valibot";import{AdobeIoEventsHttpClient,ApiClient}from"@adobe/aio-commerce-lib-api";const BASE64_ENCODED_STRING_REGEX=/^[A-Za-z0-9+/]*={0,2}$/;function isBase64EncodedString(value){return BASE64_ENCODED_STRING_REGEX.test(value)&&value.length%4==0}function encodeToBase64(value){return Buffer.from(value).toString(`base64`)}function tryDecodeFromBase64(value){return isBase64EncodedString(value)?Buffer.from(value,`base64`).toString(`utf-8`):value}function sampleEventTemplateSchema(fieldName){return v.pipe(v.union([v.pipe(stringValueSchema(fieldName),v.transform(tryDecodeFromBase64),v.parseJson(void 0,`Expected valid JSON string for property '${fieldName}'`),v.record(v.string(),v.unknown())),v.record(v.string(),v.unknown()),v.array(v.unknown())]),v.stringifyJson(void 0,`Expected valid JSON data for property '${fieldName}'`),v.transform(encodeToBase64))}const GetAllEventMetadataForProviderSchema=v.object({providerId:stringValueSchema(`providerId`)}),GetEventMetadataForEventAndProviderSchema=v.object({eventCode:stringValueSchema(`eventCode`),providerId:stringValueSchema(`providerId`)}),CreateEventMetadataForProviderSchema=v.object({consumerOrgId:stringValueSchema(`consumerOrgId`),projectId:stringValueSchema(`projectId`),workspaceId:stringValueSchema(`workspaceId`),providerId:stringValueSchema(`providerId`),label:stringValueSchema(`label`),description:stringValueSchema(`description`),eventCode:stringValueSchema(`eventCode`),sampleEventTemplate:v.optional(sampleEventTemplateSchema(`sampleEventTemplate`))});var endpoints_exports$2=__exportAll({createEventMetadataForProvider:()=>createEventMetadataForProvider,getAllEventMetadataForProvider:()=>getAllEventMetadataForProvider,getEventMetadataForEventAndProvider:()=>getEventMetadataForEventAndProvider});async function getAllEventMetadataForProvider(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(GetAllEventMetadataForProviderSchema,params);return httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}}).get(`providers/${validatedParams.providerId}/eventmetadata`,fetchOptions).json()}async function getEventMetadataForEventAndProvider(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(GetEventMetadataForEventAndProviderSchema,params);return httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}}).get(`providers/${validatedParams.providerId}/eventmetadata/${validatedParams.eventCode}`,fetchOptions).json()}async function createEventMetadataForProvider(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(CreateEventMetadataForProviderSchema,params);return httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}}).post(`${validatedParams.consumerOrgId}/${validatedParams.projectId}/${validatedParams.workspaceId}/providers/${validatedParams.providerId}/eventmetadata`,{...fetchOptions,json:{label:validatedParams.label,description:validatedParams.description,event_code:validatedParams.eventCode,sample_event_template:validatedParams.sampleEventTemplate}}).json()}function setQueryParamIfTruthy(queryParams,key,value){value&&queryParams.set(key,`${value}`)}function setArrayQueryParam(queryParams,key,values){if(values!==void 0&&values.length>0)for(let value of values)queryParams.set(key,`${value}`)}const VALID_EVENT_PROVIDER_TYPES=[`dx_commerce_events`,`3rd_party_custom_events`],VALID_DATA_RESIDENCY_REGIONS=[`va6`,`irl1`],EventProviderTypeSchema=v.picklist(VALID_EVENT_PROVIDER_TYPES),DataResidencyRegionSchema=v.picklist(VALID_DATA_RESIDENCY_REGIONS),EventProviderListAllParamsSchema=v.object({consumerOrgId:stringValueSchema(`consumerOrgId`),withEventMetadata:v.optional(booleanValueSchema(`withEventMetadata`)),filterBy:v.optional(v.object({instanceId:v.optional(stringValueSchema(`instanceId`)),providerTypes:v.optional(v.union([v.array(EventProviderTypeSchema,`Expected an array of event provider types`)]))}))}),EventProviderGetByIdParamsSchema=v.object({providerId:stringValueSchema(`providerId`),withEventMetadata:v.optional(booleanValueSchema(`withEventMetadata`))}),EventProviderCreateParamsSchema=v.object({consumerOrgId:stringValueSchema(`consumerOrgId`),projectId:stringValueSchema(`projectId`),workspaceId:stringValueSchema(`workspaceId`),label:stringValueSchema(`label`),description:v.optional(stringValueSchema(`description`)),docsUrl:v.optional(stringValueSchema(`docsUrl`)),instanceId:v.optional(stringValueSchema(`instanceId`)),providerType:v.optional(EventProviderTypeSchema),dataResidencyRegion:v.optional(DataResidencyRegionSchema)});var endpoints_exports$1=__exportAll({createEventProvider:()=>createEventProvider,getAllEventProviders:()=>getAllEventProviders,getEventProviderById:()=>getEventProviderById});async function getAllEventProviders(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(EventProviderListAllParamsSchema,params),queryParams=new URLSearchParams,{providerTypes=[],instanceId}=validatedParams.filterBy??{};return setArrayQueryParam(queryParams,`providerMetadataIds`,providerTypes),setQueryParamIfTruthy(queryParams,`instanceId`,instanceId),setQueryParamIfTruthy(queryParams,`eventmetadata`,validatedParams.withEventMetadata),httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}}).get(`${validatedParams.consumerOrgId}/providers`,{...fetchOptions,searchParams:queryParams}).json()}async function getEventProviderById(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(EventProviderGetByIdParamsSchema,params),searchParams=new URLSearchParams;return setQueryParamIfTruthy(searchParams,`eventmetadata`,validatedParams.withEventMetadata),httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}}).get(`providers/${params.providerId}`,{...fetchOptions,searchParams}).json()}async function createEventProvider(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(EventProviderCreateParamsSchema,params);return httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}}).post(`${validatedParams.consumerOrgId}/${validatedParams.projectId}/${validatedParams.workspaceId}/providers`,{...fetchOptions,json:{...validatedParams,docs_url:validatedParams.docsUrl,provider_metadata:validatedParams.providerType,instance_id:validatedParams.instanceId,data_residency_region:validatedParams.dataResidencyRegion}}).json()}var shorthands_exports=__exportAll({create3rdPartyCustomEventProvider:()=>create3rdPartyCustomEventProvider,createCommerceEventProvider:()=>createCommerceEventProvider,getAll3rdPartyCustomEventProviders:()=>getAll3rdPartyCustomEventProviders,getAllCommerceEventProviders:()=>getAllCommerceEventProviders});async function getAllCommerceEventProviders(httpClient,params,fetchOptions){return getAllEventProviders(httpClient,{...params,filterBy:{...params.filterBy,providerTypes:[`dx_commerce_events`]}},fetchOptions)}async function getAll3rdPartyCustomEventProviders(httpClient,params,fetchOptions){return getAllEventProviders(httpClient,{...params,filterBy:{...params.filterBy,providerTypes:[`3rd_party_custom_events`]}},fetchOptions)}async function createCommerceEventProvider(httpClient,params,fetchOptions){return createEventProvider(httpClient,{...params,providerType:`dx_commerce_events`},fetchOptions)}async function create3rdPartyCustomEventProvider(httpClient,params,fetchOptions){return createEventProvider(httpClient,{...params,providerType:`3rd_party_custom_events`},fetchOptions)}const VALID_DELIVERY_TYPES=[`webhook`,`webhook_batch`,`journal`,`aws_eventbridge`],AWS_REGION_REGEX=/^(us|ca|eu|af|ap|cn|me|sa|il)-[a-z]+-\d$/,AWS_ACCOUNT_ID_REGEX=/^\d{12}$/,DeliveryTypeSchema=v.picklist(VALID_DELIVERY_TYPES,`Expected delivery type to be one of: ${VALID_DELIVERY_TYPES.join(`, `)}`),EventsOfInterestSchema=v.object({providerId:stringValueSchema(`providerId`),eventCode:stringValueSchema(`eventCode`),providerMetadataId:v.optional(stringValueSchema(`providerMetadataId`))}),DestinationMetadataSchema=v.object({awsRegion:v.optional(v.pipe(stringValueSchema(`awsRegion`),v.regex(AWS_REGION_REGEX,`Expected AWS region in format like 'us-east-1'`))),awsAccountId:v.optional(v.pipe(stringValueSchema(`awsAccountId`),v.regex(AWS_ACCOUNT_ID_REGEX,`Expected AWS account ID to be a 12-digit number`)))}),SubscriberFilterSchema=v.object({name:v.pipe(stringValueSchema(`name`),v.minLength(3,`Expected subscriber filter name to be at least 3 characters`),v.maxLength(80,`Expected subscriber filter name to be at most 80 characters`)),description:v.optional(v.pipe(stringValueSchema(`description`),v.maxLength(250,`Expected subscriber filter description to be at most 250 characters`))),subscriberFilter:stringValueSchema(`subscriberFilter`)}),WorkspacePathParamsSchema=v.object({consumerOrgId:stringValueSchema(`consumerOrgId`),projectId:stringValueSchema(`projectId`),workspaceId:stringValueSchema(`workspaceId`)}),EventsOfInterestArraySchema=v.pipe(v.array(EventsOfInterestSchema,`Expected eventsOfInterest to be an array of event interest objects`),v.minLength(1,`Expected at least one event of interest`)),RegistrationBodySchema=v.object({clientId:v.pipe(stringValueSchema(`clientId`),v.minLength(3,`Expected clientId to be at least 1 character`),v.maxLength(255,`Expected clientId to be at most 255 characters`)),name:v.pipe(stringValueSchema(`name`),v.minLength(3,`Expected registration name to be at least 3 characters`),v.maxLength(255,`Expected registration name to be at most 255 characters`)),description:v.optional(v.pipe(stringValueSchema(`description`),v.maxLength(5e3,`Expected description to be at most 5000 characters`))),webhookUrl:v.optional(v.pipe(stringValueSchema(`webhookUrl`),v.maxLength(4e3,`Expected webhook URL to be at most 4000 characters`))),eventsOfInterest:EventsOfInterestArraySchema,deliveryType:DeliveryTypeSchema,runtimeAction:v.optional(v.pipe(stringValueSchema(`runtimeAction`),v.maxLength(255,`Expected runtime action to be at most 255 characters`))),enabled:v.optional(booleanValueSchema(`enabled`)),destinationMetadata:v.optional(DestinationMetadataSchema),subscriberFilters:v.optional(v.pipe(v.array(SubscriberFilterSchema,`Expected subscriberFilters to be an array of subscriber filter objects`),v.maxLength(1,`Expected at most 1 subscriber filter`)))}),GetAllRegistrationsParamsSchema=WorkspacePathParamsSchema,GetAllRegistrationsByConsumerOrgParamsSchema=v.object({consumerOrgId:stringValueSchema(`consumerOrgId`)}),GetRegistrationByIdParamsSchema=v.object({...WorkspacePathParamsSchema.entries,registrationId:stringValueSchema(`registrationId`)}),CreateRegistrationParamsSchema=v.object({...WorkspacePathParamsSchema.entries,...RegistrationBodySchema.entries}),UpdateRegistrationParamsSchema=v.object({...WorkspacePathParamsSchema.entries,registrationId:stringValueSchema(`registrationId`),...RegistrationBodySchema.entries}),DeleteRegistrationParamsSchema=v.object({...WorkspacePathParamsSchema.entries,registrationId:stringValueSchema(`registrationId`)});var endpoints_exports=__exportAll({createRegistration:()=>createRegistration,deleteRegistration:()=>deleteRegistration,getAllRegistrations:()=>getAllRegistrations,getAllRegistrationsByConsumerOrg:()=>getAllRegistrationsByConsumerOrg,getRegistrationById:()=>getRegistrationById,updateRegistration:()=>updateRegistration});async function getAllRegistrationsByConsumerOrg(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(GetAllRegistrationsByConsumerOrgParamsSchema,params);return httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}}).get(`${validatedParams.consumerOrgId}/registrations`,fetchOptions).json()}async function getAllRegistrations(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(GetAllRegistrationsParamsSchema,params);return httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}}).get(`${validatedParams.consumerOrgId}/${validatedParams.projectId}/${validatedParams.workspaceId}/registrations`,fetchOptions).json()}async function getRegistrationById(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(GetRegistrationByIdParamsSchema,params);return httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}}).get(`${validatedParams.consumerOrgId}/${validatedParams.projectId}/${validatedParams.workspaceId}/registrations/${validatedParams.registrationId}`,fetchOptions).json()}async function createRegistration(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(CreateRegistrationParamsSchema,params);return httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}}).post(`${validatedParams.consumerOrgId}/${validatedParams.projectId}/${validatedParams.workspaceId}/registrations`,{...fetchOptions,json:{client_id:validatedParams.clientId,name:validatedParams.name,description:validatedParams.description,webhook_url:validatedParams.webhookUrl,events_of_interest:validatedParams.eventsOfInterest.map(event=>({provider_id:event.providerId,event_code:event.eventCode,provider_metadata_id:event.providerMetadataId})),delivery_type:validatedParams.deliveryType,runtime_action:validatedParams.runtimeAction,enabled:validatedParams.enabled,destination_metadata:validatedParams.destinationMetadata?{aws_region:validatedParams.destinationMetadata.awsRegion,aws_account_id:validatedParams.destinationMetadata.awsAccountId}:void 0,subscriber_filters:validatedParams.subscriberFilters?.map(filter=>({name:filter.name,description:filter.description,subscriber_filter:filter.subscriberFilter}))}}).json()}async function updateRegistration(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(UpdateRegistrationParamsSchema,params);return httpClient.extend({hooks:{afterResponse:[buildCamelCaseKeysResponseHook()]}}).put(`${validatedParams.consumerOrgId}/${validatedParams.projectId}/${validatedParams.workspaceId}/registrations/${validatedParams.registrationId}`,{...fetchOptions,json:{name:validatedParams.name,description:validatedParams.description,webhook_url:validatedParams.webhookUrl,events_of_interest:validatedParams.eventsOfInterest.map(event=>({provider_id:event.providerId,event_code:event.eventCode,provider_metadata_id:event.providerMetadataId})),delivery_type:validatedParams.deliveryType,runtime_action:validatedParams.runtimeAction,enabled:validatedParams.enabled,destination_metadata:validatedParams.destinationMetadata?{aws_region:validatedParams.destinationMetadata.awsRegion,aws_account_id:validatedParams.destinationMetadata.awsAccountId}:void 0,subscriber_filters:validatedParams.subscriberFilters?.map(filter=>({name:filter.name,description:filter.description,subscriber_filter:filter.subscriberFilter}))}}).json()}async function deleteRegistration(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(DeleteRegistrationParamsSchema,params);return httpClient.delete(`${validatedParams.consumerOrgId}/${validatedParams.projectId}/${validatedParams.workspaceId}/registrations/${validatedParams.registrationId}`,fetchOptions).then(_res=>{})}function createAdobeIoEventsApiClient(params){return ApiClient.create(new AdobeIoEventsHttpClient(params),{...endpoints_exports$1,...endpoints_exports$2,...shorthands_exports,...endpoints_exports})}function createCustomAdobeIoEventsApiClient(params,functions){return ApiClient.create(new AdobeIoEventsHttpClient(params),functions)}export{create3rdPartyCustomEventProvider,createAdobeIoEventsApiClient,createCommerceEventProvider,createCustomAdobeIoEventsApiClient,createEventMetadataForProvider,createEventProvider,createRegistration,deleteRegistration,getAll3rdPartyCustomEventProviders,getAllCommerceEventProviders,getAllEventMetadataForProvider,getAllEventProviders,getAllRegistrations,getAllRegistrationsByConsumerOrg,getEventMetadataForEventAndProvider,getEventProviderById,getRegistrationById,updateRegistration};
|
|
1
|
+
import{t as __exportAll}from"../chunk-BKfb2J6I.mjs";import{booleanValueSchema,parseOrThrow,stringValueSchema}from"@aio-commerce-sdk/common-utils/valibot";import*as v from"valibot";import{AdobeIoEventsHttpClient,ApiClient}from"@adobe/aio-commerce-lib-api";const BASE64_ENCODED_STRING_REGEX=/^[A-Za-z0-9+/]*={0,2}$/;function isBase64EncodedString(value){return BASE64_ENCODED_STRING_REGEX.test(value)&&value.length%4==0}function encodeToBase64(value){return Buffer.from(value).toString(`base64`)}function tryDecodeFromBase64(value){return isBase64EncodedString(value)?Buffer.from(value,`base64`).toString(`utf-8`):value}function sampleEventTemplateSchema(fieldName){return v.pipe(v.union([v.pipe(stringValueSchema(fieldName),v.transform(tryDecodeFromBase64),v.parseJson(void 0,`Expected valid JSON string for property '${fieldName}'`),v.record(v.string(),v.unknown())),v.record(v.string(),v.unknown()),v.array(v.unknown())]),v.stringifyJson(void 0,`Expected valid JSON data for property '${fieldName}'`),v.transform(encodeToBase64))}const GetAllEventMetadataForProviderSchema=v.object({providerId:stringValueSchema(`providerId`)}),GetEventMetadataForEventAndProviderSchema=v.object({eventCode:stringValueSchema(`eventCode`),providerId:stringValueSchema(`providerId`)}),CreateEventMetadataForProviderSchema=v.object({consumerOrgId:stringValueSchema(`consumerOrgId`),projectId:stringValueSchema(`projectId`),workspaceId:stringValueSchema(`workspaceId`),providerId:stringValueSchema(`providerId`),label:stringValueSchema(`label`),description:stringValueSchema(`description`),eventCode:stringValueSchema(`eventCode`),sampleEventTemplate:v.optional(sampleEventTemplateSchema(`sampleEventTemplate`))});var endpoints_exports$2=__exportAll({createEventMetadataForProvider:()=>createEventMetadataForProvider,getAllEventMetadataForProvider:()=>getAllEventMetadataForProvider,getEventMetadataForEventAndProvider:()=>getEventMetadataForEventAndProvider});async function getAllEventMetadataForProvider(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(GetAllEventMetadataForProviderSchema,params);return httpClient.get(`providers/${validatedParams.providerId}/eventmetadata`,fetchOptions).json()}async function getEventMetadataForEventAndProvider(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(GetEventMetadataForEventAndProviderSchema,params);return httpClient.get(`providers/${validatedParams.providerId}/eventmetadata/${validatedParams.eventCode}`,fetchOptions).json()}async function createEventMetadataForProvider(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(CreateEventMetadataForProviderSchema,params);return httpClient.post(`${validatedParams.consumerOrgId}/${validatedParams.projectId}/${validatedParams.workspaceId}/providers/${validatedParams.providerId}/eventmetadata`,{...fetchOptions,json:{label:validatedParams.label,description:validatedParams.description,event_code:validatedParams.eventCode,sample_event_template:validatedParams.sampleEventTemplate}}).json()}function setQueryParamIfTruthy(queryParams,key,value){value&&queryParams.set(key,`${value}`)}function setArrayQueryParam(queryParams,key,values){if(values!==void 0&&values.length>0)for(let value of values)queryParams.set(key,`${value}`)}const VALID_EVENT_PROVIDER_TYPES=[`dx_commerce_events`,`3rd_party_custom_events`],VALID_DATA_RESIDENCY_REGIONS=[`va6`,`irl1`],EventProviderTypeSchema=v.picklist(VALID_EVENT_PROVIDER_TYPES),DataResidencyRegionSchema=v.picklist(VALID_DATA_RESIDENCY_REGIONS),EventProviderListAllParamsSchema=v.object({consumerOrgId:stringValueSchema(`consumerOrgId`),withEventMetadata:v.optional(booleanValueSchema(`withEventMetadata`)),filterBy:v.optional(v.object({instanceId:v.optional(stringValueSchema(`instanceId`)),providerTypes:v.optional(v.union([v.array(EventProviderTypeSchema,`Expected an array of event provider types`)]))}))}),EventProviderGetByIdParamsSchema=v.object({providerId:stringValueSchema(`providerId`),withEventMetadata:v.optional(booleanValueSchema(`withEventMetadata`))}),EventProviderCreateParamsSchema=v.object({consumerOrgId:stringValueSchema(`consumerOrgId`),projectId:stringValueSchema(`projectId`),workspaceId:stringValueSchema(`workspaceId`),label:stringValueSchema(`label`),description:v.optional(stringValueSchema(`description`)),docsUrl:v.optional(stringValueSchema(`docsUrl`)),instanceId:v.optional(stringValueSchema(`instanceId`)),providerType:v.optional(EventProviderTypeSchema),dataResidencyRegion:v.optional(DataResidencyRegionSchema)});var endpoints_exports$1=__exportAll({createEventProvider:()=>createEventProvider,getAllEventProviders:()=>getAllEventProviders,getEventProviderById:()=>getEventProviderById});async function getAllEventProviders(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(EventProviderListAllParamsSchema,params),queryParams=new URLSearchParams,{providerTypes=[],instanceId}=validatedParams.filterBy??{};return setArrayQueryParam(queryParams,`providerMetadataIds`,providerTypes),setQueryParamIfTruthy(queryParams,`instanceId`,instanceId),setQueryParamIfTruthy(queryParams,`eventmetadata`,validatedParams.withEventMetadata),httpClient.get(`${validatedParams.consumerOrgId}/providers`,{...fetchOptions,searchParams:queryParams}).json()}async function getEventProviderById(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(EventProviderGetByIdParamsSchema,params),searchParams=new URLSearchParams;return setQueryParamIfTruthy(searchParams,`eventmetadata`,validatedParams.withEventMetadata),httpClient.get(`providers/${params.providerId}`,{...fetchOptions,searchParams}).json()}async function createEventProvider(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(EventProviderCreateParamsSchema,params);return httpClient.post(`${validatedParams.consumerOrgId}/${validatedParams.projectId}/${validatedParams.workspaceId}/providers`,{...fetchOptions,json:{...validatedParams,docs_url:validatedParams.docsUrl,provider_metadata:validatedParams.providerType,instance_id:validatedParams.instanceId,data_residency_region:validatedParams.dataResidencyRegion}}).json()}var shorthands_exports=__exportAll({create3rdPartyCustomEventProvider:()=>create3rdPartyCustomEventProvider,createCommerceEventProvider:()=>createCommerceEventProvider,getAll3rdPartyCustomEventProviders:()=>getAll3rdPartyCustomEventProviders,getAllCommerceEventProviders:()=>getAllCommerceEventProviders});async function getAllCommerceEventProviders(httpClient,params,fetchOptions){return getAllEventProviders(httpClient,{...params,filterBy:{...params.filterBy,providerTypes:[`dx_commerce_events`]}},fetchOptions)}async function getAll3rdPartyCustomEventProviders(httpClient,params,fetchOptions){return getAllEventProviders(httpClient,{...params,filterBy:{...params.filterBy,providerTypes:[`3rd_party_custom_events`]}},fetchOptions)}async function createCommerceEventProvider(httpClient,params,fetchOptions){return createEventProvider(httpClient,{...params,providerType:`dx_commerce_events`},fetchOptions)}async function create3rdPartyCustomEventProvider(httpClient,params,fetchOptions){return createEventProvider(httpClient,{...params,providerType:`3rd_party_custom_events`},fetchOptions)}const VALID_DELIVERY_TYPES=[`webhook`,`webhook_batch`,`journal`,`aws_eventbridge`],AWS_REGION_REGEX=/^(us|ca|eu|af|ap|cn|me|sa|il)-[a-z]+-\d$/,AWS_ACCOUNT_ID_REGEX=/^\d{12}$/,DeliveryTypeSchema=v.picklist(VALID_DELIVERY_TYPES,`Expected delivery type to be one of: ${VALID_DELIVERY_TYPES.join(`, `)}`),EventsOfInterestSchema=v.object({providerId:stringValueSchema(`providerId`),eventCode:stringValueSchema(`eventCode`),providerMetadataId:v.optional(stringValueSchema(`providerMetadataId`))}),DestinationMetadataSchema=v.object({awsRegion:v.optional(v.pipe(stringValueSchema(`awsRegion`),v.regex(AWS_REGION_REGEX,`Expected AWS region in format like 'us-east-1'`))),awsAccountId:v.optional(v.pipe(stringValueSchema(`awsAccountId`),v.regex(AWS_ACCOUNT_ID_REGEX,`Expected AWS account ID to be a 12-digit number`)))}),SubscriberFilterSchema=v.object({name:v.pipe(stringValueSchema(`name`),v.minLength(3,`Expected subscriber filter name to be at least 3 characters`),v.maxLength(80,`Expected subscriber filter name to be at most 80 characters`)),description:v.optional(v.pipe(stringValueSchema(`description`),v.maxLength(250,`Expected subscriber filter description to be at most 250 characters`))),subscriberFilter:stringValueSchema(`subscriberFilter`)}),WorkspacePathParamsSchema=v.object({consumerOrgId:stringValueSchema(`consumerOrgId`),projectId:stringValueSchema(`projectId`),workspaceId:stringValueSchema(`workspaceId`)}),EventsOfInterestArraySchema=v.pipe(v.array(EventsOfInterestSchema,`Expected eventsOfInterest to be an array of event interest objects`),v.minLength(1,`Expected at least one event of interest`)),RegistrationBodySchema=v.object({clientId:v.pipe(stringValueSchema(`clientId`),v.minLength(3,`Expected clientId to be at least 1 character`),v.maxLength(255,`Expected clientId to be at most 255 characters`)),name:v.pipe(stringValueSchema(`name`),v.minLength(3,`Expected registration name to be at least 3 characters`),v.maxLength(255,`Expected registration name to be at most 255 characters`)),description:v.optional(v.pipe(stringValueSchema(`description`),v.maxLength(5e3,`Expected description to be at most 5000 characters`))),webhookUrl:v.optional(v.pipe(stringValueSchema(`webhookUrl`),v.maxLength(4e3,`Expected webhook URL to be at most 4000 characters`))),eventsOfInterest:EventsOfInterestArraySchema,deliveryType:DeliveryTypeSchema,runtimeAction:v.optional(v.pipe(stringValueSchema(`runtimeAction`),v.maxLength(255,`Expected runtime action to be at most 255 characters`))),enabled:v.optional(booleanValueSchema(`enabled`)),destinationMetadata:v.optional(DestinationMetadataSchema),subscriberFilters:v.optional(v.pipe(v.array(SubscriberFilterSchema,`Expected subscriberFilters to be an array of subscriber filter objects`),v.maxLength(1,`Expected at most 1 subscriber filter`)))}),GetAllRegistrationsParamsSchema=WorkspacePathParamsSchema,GetAllRegistrationsByConsumerOrgParamsSchema=v.object({consumerOrgId:stringValueSchema(`consumerOrgId`)}),GetRegistrationByIdParamsSchema=v.object({...WorkspacePathParamsSchema.entries,registrationId:stringValueSchema(`registrationId`)}),CreateRegistrationParamsSchema=v.object({...WorkspacePathParamsSchema.entries,...RegistrationBodySchema.entries}),UpdateRegistrationParamsSchema=v.object({...WorkspacePathParamsSchema.entries,registrationId:stringValueSchema(`registrationId`),...RegistrationBodySchema.entries}),DeleteRegistrationParamsSchema=v.object({...WorkspacePathParamsSchema.entries,registrationId:stringValueSchema(`registrationId`)});var endpoints_exports=__exportAll({createRegistration:()=>createRegistration,deleteRegistration:()=>deleteRegistration,getAllRegistrations:()=>getAllRegistrations,getAllRegistrationsByConsumerOrg:()=>getAllRegistrationsByConsumerOrg,getRegistrationById:()=>getRegistrationById,updateRegistration:()=>updateRegistration});async function getAllRegistrationsByConsumerOrg(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(GetAllRegistrationsByConsumerOrgParamsSchema,params);return httpClient.get(`${validatedParams.consumerOrgId}/registrations`,fetchOptions).json()}async function getAllRegistrations(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(GetAllRegistrationsParamsSchema,params);return httpClient.get(`${validatedParams.consumerOrgId}/${validatedParams.projectId}/${validatedParams.workspaceId}/registrations`,fetchOptions).json()}async function getRegistrationById(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(GetRegistrationByIdParamsSchema,params);return httpClient.get(`${validatedParams.consumerOrgId}/${validatedParams.projectId}/${validatedParams.workspaceId}/registrations/${validatedParams.registrationId}`,fetchOptions).json()}async function createRegistration(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(CreateRegistrationParamsSchema,params);return httpClient.post(`${validatedParams.consumerOrgId}/${validatedParams.projectId}/${validatedParams.workspaceId}/registrations`,{...fetchOptions,json:{client_id:validatedParams.clientId,name:validatedParams.name,description:validatedParams.description,webhook_url:validatedParams.webhookUrl,events_of_interest:validatedParams.eventsOfInterest.map(event=>({provider_id:event.providerId,event_code:event.eventCode,provider_metadata_id:event.providerMetadataId})),delivery_type:validatedParams.deliveryType,runtime_action:validatedParams.runtimeAction,enabled:validatedParams.enabled,destination_metadata:validatedParams.destinationMetadata?{aws_region:validatedParams.destinationMetadata.awsRegion,aws_account_id:validatedParams.destinationMetadata.awsAccountId}:void 0,subscriber_filters:validatedParams.subscriberFilters?.map(filter=>({name:filter.name,description:filter.description,subscriber_filter:filter.subscriberFilter}))}}).json()}async function updateRegistration(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(UpdateRegistrationParamsSchema,params);return httpClient.put(`${validatedParams.consumerOrgId}/${validatedParams.projectId}/${validatedParams.workspaceId}/registrations/${validatedParams.registrationId}`,{...fetchOptions,json:{name:validatedParams.name,description:validatedParams.description,webhook_url:validatedParams.webhookUrl,events_of_interest:validatedParams.eventsOfInterest.map(event=>({provider_id:event.providerId,event_code:event.eventCode,provider_metadata_id:event.providerMetadataId})),delivery_type:validatedParams.deliveryType,runtime_action:validatedParams.runtimeAction,enabled:validatedParams.enabled,destination_metadata:validatedParams.destinationMetadata?{aws_region:validatedParams.destinationMetadata.awsRegion,aws_account_id:validatedParams.destinationMetadata.awsAccountId}:void 0,subscriber_filters:validatedParams.subscriberFilters?.map(filter=>({name:filter.name,description:filter.description,subscriber_filter:filter.subscriberFilter}))}}).json()}async function deleteRegistration(httpClient,params,fetchOptions){let validatedParams=parseOrThrow(DeleteRegistrationParamsSchema,params);return httpClient.delete(`${validatedParams.consumerOrgId}/${validatedParams.projectId}/${validatedParams.workspaceId}/registrations/${validatedParams.registrationId}`,fetchOptions).then(_res=>{})}function createAdobeIoEventsApiClient(params){return ApiClient.create(new AdobeIoEventsHttpClient(params),{...endpoints_exports$1,...endpoints_exports$2,...shorthands_exports,...endpoints_exports})}function createCustomAdobeIoEventsApiClient(params,functions){return ApiClient.create(new AdobeIoEventsHttpClient(params),functions)}export{create3rdPartyCustomEventProvider,createAdobeIoEventsApiClient,createCommerceEventProvider,createCustomAdobeIoEventsApiClient,createEventMetadataForProvider,createEventProvider,createRegistration,deleteRegistration,getAll3rdPartyCustomEventProviders,getAllCommerceEventProviders,getAllEventMetadataForProvider,getAllEventProviders,getAllRegistrations,getAllRegistrationsByConsumerOrg,getEventMetadataForEventAndProvider,getEventProviderById,getRegistrationById,updateRegistration};
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@adobe/aio-commerce-lib-events",
|
|
3
3
|
"type": "module",
|
|
4
4
|
"author": "Adobe Inc.",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.5.0",
|
|
6
6
|
"private": false,
|
|
7
7
|
"engines": {
|
|
8
8
|
"node": ">=20 <=24"
|
|
@@ -53,10 +53,10 @@
|
|
|
53
53
|
],
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"valibot": "^1.1.0",
|
|
56
|
-
"@adobe/aio-commerce-lib-auth": "0.
|
|
56
|
+
"@adobe/aio-commerce-lib-auth": "0.8.0",
|
|
57
57
|
"@adobe/aio-commerce-lib-core": "0.6.0",
|
|
58
|
-
"@adobe/aio-commerce-lib-api": "0.
|
|
59
|
-
"@aio-commerce-sdk/common-utils": "0.0
|
|
58
|
+
"@adobe/aio-commerce-lib-api": "0.6.0",
|
|
59
|
+
"@aio-commerce-sdk/common-utils": "0.1.0"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
62
|
"msw": "^2.11.1",
|