@kontent-ai/management-sdk
Version:
Official Kontent.ai management SDK
115 lines • 6.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.webhookMapper = exports.WebhookMapper = void 0;
const webhook_models_1 = require("../models/webhook/webhook.models");
const responses_1 = require("../responses");
const base_mapper_1 = require("./base-mapper");
class WebhookMapper extends base_mapper_1.BaseMapper {
mapGetWebhookResponse(response) {
return new responses_1.WebhookResponses.GetWebhookResponse(super.mapResponseDebug(response), response.data, this.mapWebhook(response.data));
}
mapGetLegacyWebhookResponse(response) {
return new responses_1.WebhookResponses.GetLegacyWebhookResponse(super.mapResponseDebug(response), response.data, this.mapLegacyWebhook(response.data));
}
mapAddWebhookResponse(response) {
return new responses_1.WebhookResponses.AddWebhookResponse(super.mapResponseDebug(response), response.data, this.mapWebhook(response.data));
}
mapAddLegacyWebhookResponse(response) {
return new responses_1.WebhookResponses.AddLegacyWebhookResponse(super.mapResponseDebug(response), response.data, this.mapLegacyWebhook(response.data));
}
mapWebhooksListResponse(response) {
return new responses_1.WebhookResponses.WebhookListResponse(super.mapResponseDebug(response), response.data, {
webhooks: response.data.map((m) => this.mapWebhook(m))
});
}
mapLegacyWebhooksListResponse(response) {
return new responses_1.WebhookResponses.LegacyWebhookListResponse(super.mapResponseDebug(response), response.data, {
webhooks: response.data.map((m) => this.mapLegacyWebhook(m))
});
}
mapLegacyWebhook(rawWebhook) {
return new webhook_models_1.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 webhook_models_1.WebhookModels.LegacyWebhookDeliveryApiContentChanges({
operations: m.operations,
type: m.type
})),
workflowStepChanges: rawWebhook.triggers.workflow_step_changes.map((m) => new webhook_models_1.WebhookModels.LegacyWebhookWorkflowStepChanges({
transitionsTo: m.transitions_to.map((s) => new webhook_models_1.WebhookModels.WebhookTransitionsTo({
id: s.id
})),
type: m.type
})),
previewDeliveryContentChanges: rawWebhook.triggers.preview_delivery_api_content_changes.map((m) => new webhook_models_1.WebhookModels.LegacyWebhookPreviewDeliveryApiContentChanges({
operations: m.operations,
type: m.type
})),
managementApiContentChanges: rawWebhook.triggers.management_api_content_changes.map((m) => new webhook_models_1.WebhookModels.LegacyWebhookManagementApiContentChanges({
operations: m.operations,
type: m.type
}))
},
url: rawWebhook.url,
_raw: rawWebhook
});
}
mapWebhook(rawWebhook) {
return new webhook_models_1.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 webhook_models_1.WebhookModels.WebhookDeliveryTriggersAsset({
enabled: rawWebhook.delivery_triggers.asset.enabled,
actions: rawWebhook.delivery_triggers.asset.actions
})
: undefined,
contentType: rawWebhook.delivery_triggers.content_type
? new webhook_models_1.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 webhook_models_1.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 webhook_models_1.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 webhook_models_1.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
});
}
}
exports.WebhookMapper = WebhookMapper;
exports.webhookMapper = new WebhookMapper();
//# sourceMappingURL=webhook-mapper.js.map