@kontent-ai/management-sdk
Version:
Official Kontent.ai management SDK
42 lines • 2.19 kB
JavaScript
import { ContentItemModels } from '../models';
import { ContentItemResponses } from '../responses';
import { BaseMapper } from './base-mapper';
export class ContentItemsMapper extends BaseMapper {
mapListingItemsResponse(response) {
const pagination = super.mapPagination(response.data.pagination);
const items = response.data.items.map((m) => this.mapContentItem(m));
return new ContentItemResponses.ContentItemsResponse(super.mapResponseDebug(response), response.data, {
pagination: pagination,
items: items
});
}
mapViewContentItemResponse(response) {
return new ContentItemResponses.ViewContentItemResponse(super.mapResponseDebug(response), response.data, this.mapContentItem(response.data));
}
mapAddContentItemResponse(response) {
return new ContentItemResponses.AddContentItemResponse(super.mapResponseDebug(response), response.data, this.mapContentItem(response.data));
}
mapUpdateContentItemResponse(response) {
return new ContentItemResponses.UpdateContentItemResponse(super.mapResponseDebug(response), response.data, this.mapContentItem(response.data));
}
mapUpsertContentItemResponse(response) {
return new ContentItemResponses.UpsertContentItemResponse(super.mapResponseDebug(response), response.data, this.mapContentItem(response.data));
}
mapContentItem(rawItem) {
var _a, _b;
return new ContentItemModels.ContentItem({
codename: rawItem.codename,
externalId: rawItem.external_id,
id: rawItem.id,
lastModified: new Date(rawItem.last_modified),
name: rawItem.name,
type: rawItem.type,
collection: super.mapIdReference(rawItem.collection),
spaces: rawItem.spaces.map((m) => super.mapIdReference(m)),
sitemapLocations: (_b = (_a = rawItem.sitemap_locations) === null || _a === void 0 ? void 0 : _a.map((m) => super.mapIdReference(m))) !== null && _b !== void 0 ? _b : [],
_raw: rawItem
});
}
}
export const contentItemsMapper = new ContentItemsMapper();
//# sourceMappingURL=content-items-mapper.js.map