UNPKG

@kontent-ai/management-sdk

Version:
111 lines 5.98 kB
import { WebhookModels } from '../models/webhook/webhook.models'; import { WebhookResponses } from '../responses'; import { BaseMapper } from './base-mapper'; export class WebhookMapper extends BaseMapper { mapGetWebhookResponse(response) { return new WebhookResponses.GetWebhookResponse(super.mapResponseDebug(response), response.data, this.mapWebhook(response.data)); } mapGetLegacyWebhookResponse(response) { return new WebhookResponses.GetLegacyWebhookResponse(super.mapResponseDebug(response), response.data, this.mapLegacyWebhook(response.data)); } mapAddWebhookResponse(response) { return new WebhookResponses.AddWebhookResponse(super.mapResponseDebug(response), response.data, this.mapWebhook(response.data)); } mapAddLegacyWebhookResponse(response) { return new WebhookResponses.AddLegacyWebhookResponse(super.mapResponseDebug(response), response.data, this.mapLegacyWebhook(response.data)); } mapWebhooksListResponse(response) { return new WebhookResponses.WebhookListResponse(super.mapResponseDebug(response), response.data, { webhooks: response.data.map((m) => this.mapWebhook(m)) }); } mapLegacyWebhooksListResponse(response) { return new WebhookResponses.LegacyWebhookListResponse(super.mapResponseDebug(response), response.data, { webhooks: response.data.map((m) => this.mapLegacyWebhook(m)) }); } mapLegacyWebhook(rawWebhook) { return new WebhookModels.LegacyWebhook({ id: rawWebhook.id, name: rawWebhook.name, lastModified: rawWebhook.last_modified ? new Date(rawWebhook.last_modified) : undefined, healthStatus: rawWebhook.health_status ? rawWebhook.health_status : undefined, secret: rawWebhook.secret, triggers: { deliveryApiContentChanges: rawWebhook.triggers.delivery_api_content_changes.map((m) => new WebhookModels.LegacyWebhookDeliveryApiContentChanges({ operations: m.operations, type: m.type })), workflowStepChanges: rawWebhook.triggers.workflow_step_changes.map((m) => new WebhookModels.LegacyWebhookWorkflowStepChanges({ transitionsTo: m.transitions_to.map((s) => new WebhookModels.WebhookTransitionsTo({ id: s.id })), type: m.type })), previewDeliveryContentChanges: rawWebhook.triggers.preview_delivery_api_content_changes.map((m) => new WebhookModels.LegacyWebhookPreviewDeliveryApiContentChanges({ operations: m.operations, type: m.type })), managementApiContentChanges: rawWebhook.triggers.management_api_content_changes.map((m) => new WebhookModels.LegacyWebhookManagementApiContentChanges({ operations: m.operations, type: m.type })) }, url: rawWebhook.url, _raw: rawWebhook }); } mapWebhook(rawWebhook) { return new WebhookModels.Webhook({ id: rawWebhook.id, name: rawWebhook.name, lastModified: rawWebhook.last_modified ? new Date(rawWebhook.last_modified) : undefined, healthStatus: rawWebhook.health_status, enabled: rawWebhook.enabled, headers: rawWebhook.headers, secret: rawWebhook.secret, deliveryTriggers: { slot: rawWebhook.delivery_triggers.slot, events: rawWebhook.delivery_triggers.events, asset: rawWebhook.delivery_triggers.asset ? new WebhookModels.WebhookDeliveryTriggersAsset({ enabled: rawWebhook.delivery_triggers.asset.enabled, actions: rawWebhook.delivery_triggers.asset.actions }) : undefined, contentType: rawWebhook.delivery_triggers.content_type ? new WebhookModels.WebhookDeliveryTriggersContentType({ enabled: rawWebhook.delivery_triggers.content_type.enabled, actions: rawWebhook.delivery_triggers.content_type.actions, filters: rawWebhook.delivery_triggers.content_type.filters }) : undefined, taxonomy: rawWebhook.delivery_triggers.taxonomy ? new WebhookModels.WebhookDeliveryTriggersTaxonomy({ enabled: rawWebhook.delivery_triggers.taxonomy.enabled, actions: rawWebhook.delivery_triggers.taxonomy.actions, filters: rawWebhook.delivery_triggers.taxonomy.filters }) : undefined, language: rawWebhook.delivery_triggers.language ? new WebhookModels.WebhookDeliveryTriggersLanguage({ enabled: rawWebhook.delivery_triggers.language.enabled, actions: rawWebhook.delivery_triggers.language.actions, filters: rawWebhook.delivery_triggers.language.filters }) : undefined, contentItem: rawWebhook.delivery_triggers.content_item ? new WebhookModels.WebhookDeliveryTriggersContentItem({ enabled: rawWebhook.delivery_triggers.content_item.enabled, actions: rawWebhook.delivery_triggers.content_item.actions, filters: rawWebhook.delivery_triggers.content_item.filters }) : undefined }, url: rawWebhook.url, _raw: rawWebhook }); } } export const webhookMapper = new WebhookMapper(); //# sourceMappingURL=webhook-mapper.js.map