{"version":3,"file":"document-type-detail.repository-Bnfo5Sh4.js","sources":["../../../src/packages/documents/document-types/repository/detail/document-type-detail.server.data-source.ts","../../../src/packages/documents/document-types/repository/detail/document-type-detail.repository.ts"],"sourcesContent":["import type { UmbDocumentTypeDetailModel } from '../../types.js';\r\nimport { UMB_DOCUMENT_TYPE_ENTITY_TYPE } from '../../entity.js';\r\nimport { UmbId } from '@umbraco-cms/backoffice/id';\r\nimport type { UmbDetailDataSource } from '@umbraco-cms/backoffice/repository';\r\nimport type {\r\n\tCreateDocumentTypeRequestModel,\r\n\tUpdateDocumentTypeRequestModel,\r\n} from '@umbraco-cms/backoffice/external/backend-api';\r\nimport { DocumentTypeService } from '@umbraco-cms/backoffice/external/backend-api';\r\nimport type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';\r\nimport { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources';\r\nimport type { UmbPropertyContainerTypes, UmbPropertyTypeContainerModel } from '@umbraco-cms/backoffice/content-type';\r\n\r\n/**\r\n * A data source for the Document Type that fetches data from the server\r\n * @class UmbDocumentTypeServerDataSource\r\n * @implements {RepositoryDetailDataSource}\r\n */\r\nexport class UmbDocumentTypeDetailServerDataSource implements UmbDetailDataSource {\r\n\t#host: UmbControllerHost;\r\n\r\n\t/**\r\n\t * Creates an instance of UmbDocumentTypeServerDataSource.\r\n\t * @param {UmbControllerHost} host - The controller host for this controller to be appended to\r\n\t * @memberof UmbDocumentTypeServerDataSource\r\n\t */\r\n\tconstructor(host: UmbControllerHost) {\r\n\t\tthis.#host = host;\r\n\t}\r\n\r\n\t/**\r\n\t * Creates a new Document Type scaffold\r\n\t * @param {(string | null)} parentUnique\r\n\t * @param preset\r\n\t * @returns { CreateDocumentTypeRequestModel }\r\n\t * @memberof UmbDocumentTypeServerDataSource\r\n\t */\r\n\tasync createScaffold(preset: Partial = {}) {\r\n\t\tconst data: UmbDocumentTypeDetailModel = {\r\n\t\t\tentityType: UMB_DOCUMENT_TYPE_ENTITY_TYPE,\r\n\t\t\tunique: UmbId.new(),\r\n\t\t\tname: '',\r\n\t\t\talias: '',\r\n\t\t\tdescription: '',\r\n\t\t\ticon: 'icon-document',\r\n\t\t\tallowedAtRoot: false,\r\n\t\t\tvariesByCulture: false,\r\n\t\t\tvariesBySegment: false,\r\n\t\t\tisElement: false,\r\n\t\t\tproperties: [],\r\n\t\t\tcontainers: [],\r\n\t\t\tallowedContentTypes: [],\r\n\t\t\tcompositions: [],\r\n\t\t\tallowedTemplates: [],\r\n\t\t\tdefaultTemplate: null,\r\n\t\t\tcleanup: {\r\n\t\t\t\tpreventCleanup: false,\r\n\t\t\t\tkeepAllVersionsNewerThanDays: null,\r\n\t\t\t\tkeepLatestVersionPerDayForDays: null,\r\n\t\t\t},\r\n\t\t\tcollection: null,\r\n\t\t\t...preset,\r\n\t\t};\r\n\r\n\t\treturn { data };\r\n\t}\r\n\r\n\t/**\r\n\t * Fetches a Media Type with the given id from the server\r\n\t * @param {string} unique\r\n\t * @returns {*}\r\n\t * @memberof UmbDocumentTypeServerDataSource\r\n\t */\r\n\tasync read(unique: string) {\r\n\t\tif (!unique) throw new Error('Unique is missing');\r\n\r\n\t\tconst { data, error } = await tryExecuteAndNotify(\r\n\t\t\tthis.#host,\r\n\t\t\tDocumentTypeService.getDocumentTypeById({ id: unique }),\r\n\t\t);\r\n\r\n\t\tif (error || !data) {\r\n\t\t\treturn { error };\r\n\t\t}\r\n\r\n\t\t// TODO: make data mapper to prevent errors\r\n\t\tconst DocumentType: UmbDocumentTypeDetailModel = {\r\n\t\t\tentityType: UMB_DOCUMENT_TYPE_ENTITY_TYPE,\r\n\t\t\tunique: data.id,\r\n\t\t\tname: data.name,\r\n\t\t\talias: data.alias,\r\n\t\t\tdescription: data.description ?? '',\r\n\t\t\ticon: data.icon,\r\n\t\t\tallowedAtRoot: data.allowedAsRoot,\r\n\t\t\tvariesByCulture: data.variesByCulture,\r\n\t\t\tvariesBySegment: data.variesBySegment,\r\n\t\t\tisElement: data.isElement,\r\n\t\t\tproperties: data.properties.map((property) => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tid: property.id,\r\n\t\t\t\t\tcontainer: property.container,\r\n\t\t\t\t\tsortOrder: property.sortOrder,\r\n\t\t\t\t\talias: property.alias,\r\n\t\t\t\t\tname: property.name,\r\n\t\t\t\t\tdescription: property.description,\r\n\t\t\t\t\tdataType: { unique: property.dataType.id },\r\n\t\t\t\t\tvariesByCulture: property.variesByCulture,\r\n\t\t\t\t\tvariesBySegment: property.variesBySegment,\r\n\t\t\t\t\tvalidation: property.validation,\r\n\t\t\t\t\tappearance: property.appearance,\r\n\t\t\t\t};\r\n\t\t\t}),\r\n\t\t\tcontainers: data.containers as UmbPropertyTypeContainerModel[],\r\n\t\t\tallowedContentTypes: data.allowedDocumentTypes.map((allowedDocumentType) => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tcontentType: { unique: allowedDocumentType.documentType.id },\r\n\t\t\t\t\tsortOrder: allowedDocumentType.sortOrder,\r\n\t\t\t\t};\r\n\t\t\t}),\r\n\t\t\tcompositions: data.compositions.map((composition) => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tcontentType: { unique: composition.documentType.id },\r\n\t\t\t\t\tcompositionType: composition.compositionType,\r\n\t\t\t\t};\r\n\t\t\t}),\r\n\t\t\tallowedTemplates: data.allowedTemplates,\r\n\t\t\tdefaultTemplate: data.defaultTemplate ? { id: data.defaultTemplate.id } : null,\r\n\t\t\tcleanup: data.cleanup,\r\n\t\t\tcollection: data.collection ? { unique: data.collection?.id } : null,\r\n\t\t};\r\n\r\n\t\treturn { data: DocumentType };\r\n\t}\r\n\r\n\t/**\r\n\t * Inserts a new Media Type on the server\r\n\t * @param {UmbDocumentTypeDetailModel} model\r\n\t * @param parentUnique\r\n\t * @returns {*}\r\n\t * @memberof UmbDocumentTypeServerDataSource\r\n\t */\r\n\tasync create(model: UmbDocumentTypeDetailModel, parentUnique: string | null = null) {\r\n\t\tif (!model) throw new Error('Media Type is missing');\r\n\t\tif (!model.unique) throw new Error('Media Type unique is missing');\r\n\r\n\t\t// TODO: make data mapper to prevent errors\r\n\t\tconst requestBody: CreateDocumentTypeRequestModel = {\r\n\t\t\tparent: parentUnique ? { id: parentUnique } : null,\r\n\t\t\talias: model.alias,\r\n\t\t\tname: model.name,\r\n\t\t\tdescription: model.description,\r\n\t\t\ticon: model.icon,\r\n\t\t\tallowedAsRoot: model.allowedAtRoot,\r\n\t\t\tvariesByCulture: model.variesByCulture,\r\n\t\t\tvariesBySegment: model.variesBySegment,\r\n\t\t\tisElement: model.isElement,\r\n\t\t\tproperties: model.properties.map((property) => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tid: property.id,\r\n\t\t\t\t\tcontainer: property.container,\r\n\t\t\t\t\tsortOrder: property.sortOrder,\r\n\t\t\t\t\talias: property.alias,\r\n\t\t\t\t\tname: property.name,\r\n\t\t\t\t\tdescription: property.description,\r\n\t\t\t\t\tdataType: { id: property.dataType.unique },\r\n\t\t\t\t\tvariesByCulture: property.variesByCulture,\r\n\t\t\t\t\tvariesBySegment: property.variesBySegment,\r\n\t\t\t\t\tvalidation: property.validation,\r\n\t\t\t\t\tappearance: property.appearance,\r\n\t\t\t\t};\r\n\t\t\t}),\r\n\t\t\tcontainers: model.containers,\r\n\t\t\tallowedDocumentTypes: model.allowedContentTypes.map((allowedContentType) => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tdocumentType: { id: allowedContentType.contentType.unique },\r\n\t\t\t\t\tsortOrder: allowedContentType.sortOrder,\r\n\t\t\t\t};\r\n\t\t\t}),\r\n\t\t\tcompositions: model.compositions.map((composition) => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tdocumentType: { id: composition.contentType.unique },\r\n\t\t\t\t\tcompositionType: composition.compositionType,\r\n\t\t\t\t};\r\n\t\t\t}),\r\n\t\t\tid: model.unique,\r\n\t\t\tallowedTemplates: model.allowedTemplates,\r\n\t\t\tdefaultTemplate: model.defaultTemplate ? { id: model.defaultTemplate.id } : null,\r\n\t\t\tcleanup: model.cleanup,\r\n\t\t\tcollection: model.collection?.unique ? { id: model.collection?.unique } : null,\r\n\t\t};\r\n\r\n\t\tconst { data, error } = await tryExecuteAndNotify(\r\n\t\t\tthis.#host,\r\n\t\t\tDocumentTypeService.postDocumentType({\r\n\t\t\t\trequestBody,\r\n\t\t\t}),\r\n\t\t);\r\n\r\n\t\tif (data) {\r\n\t\t\treturn this.read(data);\r\n\t\t}\r\n\r\n\t\treturn { error };\r\n\t}\r\n\r\n\t/**\r\n\t * Updates a DocumentType on the server\r\n\t * @param {UmbDocumentTypeDetailModel} DocumentType\r\n\t * @param model\r\n\t * @returns {*}\r\n\t * @memberof UmbDocumentTypeServerDataSource\r\n\t */\r\n\tasync update(model: UmbDocumentTypeDetailModel) {\r\n\t\tif (!model.unique) throw new Error('Unique is missing');\r\n\r\n\t\t// TODO: make data mapper to prevent errors\r\n\t\tconst requestBody: UpdateDocumentTypeRequestModel = {\r\n\t\t\talias: model.alias,\r\n\t\t\tname: model.name,\r\n\t\t\tdescription: model.description,\r\n\t\t\ticon: model.icon,\r\n\t\t\tallowedAsRoot: model.allowedAtRoot,\r\n\t\t\tvariesByCulture: model.variesByCulture,\r\n\t\t\tvariesBySegment: model.variesBySegment,\r\n\t\t\tisElement: model.isElement,\r\n\t\t\tproperties: model.properties.map((property) => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tid: property.id,\r\n\t\t\t\t\tcontainer: property.container,\r\n\t\t\t\t\tsortOrder: property.sortOrder,\r\n\t\t\t\t\talias: property.alias,\r\n\t\t\t\t\tname: property.name,\r\n\t\t\t\t\tdescription: property.description,\r\n\t\t\t\t\tdataType: { id: property.dataType.unique },\r\n\t\t\t\t\tvariesByCulture: property.variesByCulture,\r\n\t\t\t\t\tvariesBySegment: property.variesBySegment,\r\n\t\t\t\t\tvalidation: property.validation,\r\n\t\t\t\t\tappearance: property.appearance,\r\n\t\t\t\t};\r\n\t\t\t}),\r\n\t\t\tcontainers: model.containers.map((container) => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tid: container.id,\r\n\t\t\t\t\tparent: container.parent ? { id: container.parent.id } : null,\r\n\t\t\t\t\tname: container.name ?? '',\r\n\t\t\t\t\ttype: container.type as UmbPropertyContainerTypes, // TODO: check if the value is valid\r\n\t\t\t\t\tsortOrder: container.sortOrder,\r\n\t\t\t\t};\r\n\t\t\t}),\r\n\t\t\tallowedDocumentTypes: model.allowedContentTypes.map((allowedContentType) => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tdocumentType: { id: allowedContentType.contentType.unique },\r\n\t\t\t\t\tsortOrder: allowedContentType.sortOrder,\r\n\t\t\t\t};\r\n\t\t\t}),\r\n\t\t\tcompositions: model.compositions.map((composition) => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tdocumentType: { id: composition.contentType.unique },\r\n\t\t\t\t\tcompositionType: composition.compositionType,\r\n\t\t\t\t};\r\n\t\t\t}),\r\n\t\t\tallowedTemplates: model.allowedTemplates,\r\n\t\t\tdefaultTemplate: model.defaultTemplate ? { id: model.defaultTemplate.id } : null,\r\n\t\t\tcleanup: model.cleanup,\r\n\t\t\tcollection: model.collection?.unique ? { id: model.collection?.unique } : null,\r\n\t\t};\r\n\r\n\t\tconst { error } = await tryExecuteAndNotify(\r\n\t\t\tthis.#host,\r\n\t\t\tDocumentTypeService.putDocumentTypeById({\r\n\t\t\t\tid: model.unique,\r\n\t\t\t\trequestBody,\r\n\t\t\t}),\r\n\t\t);\r\n\r\n\t\tif (!error) {\r\n\t\t\treturn this.read(model.unique);\r\n\t\t}\r\n\r\n\t\treturn { error };\r\n\t}\r\n\r\n\t/**\r\n\t * Deletes a Media Type on the server\r\n\t * @param {string} unique\r\n\t * @returns {*}\r\n\t * @memberof UmbDocumentTypeServerDataSource\r\n\t */\r\n\tasync delete(unique: string) {\r\n\t\tif (!unique) throw new Error('Unique is missing');\r\n\r\n\t\treturn tryExecuteAndNotify(\r\n\t\t\tthis.#host,\r\n\t\t\tDocumentTypeService.deleteDocumentTypeById({\r\n\t\t\t\tid: unique,\r\n\t\t\t}),\r\n\t\t);\r\n\t}\r\n}\r\n","import type { UmbDocumentTypeDetailModel } from '../../types.js';\r\nimport { UmbDocumentTypeDetailServerDataSource } from './document-type-detail.server.data-source.js';\r\nimport { UMB_DOCUMENT_TYPE_DETAIL_STORE_CONTEXT } from './document-type-detail.store.context-token.js';\r\nimport type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';\r\nimport { UmbDetailRepositoryBase } from '@umbraco-cms/backoffice/repository';\r\nexport class UmbDocumentTypeDetailRepository extends UmbDetailRepositoryBase {\r\n\tconstructor(host: UmbControllerHost) {\r\n\t\tsuper(host, UmbDocumentTypeDetailServerDataSource, UMB_DOCUMENT_TYPE_DETAIL_STORE_CONTEXT);\r\n\t}\r\n}\r\n\r\nexport { UmbDocumentTypeDetailRepository as api };\r\n"],"names":["UmbDocumentTypeDetailServerDataSource","#host","host","preset","UMB_DOCUMENT_TYPE_ENTITY_TYPE","UmbId","unique","data","error","tryExecuteAndNotify","DocumentTypeService","property","allowedDocumentType","composition","model","parentUnique","requestBody","allowedContentType","container","UmbDocumentTypeDetailRepository","UmbDetailRepositoryBase","UMB_DOCUMENT_TYPE_DETAIL_STORE_CONTEXT"],"mappings":"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"}