{"version":3,"file":"member-type-detail.repository-DGOrgJJe.js","sources":["../../../src/packages/members/member-type/repository/detail/member-type-detail.server.data-source.ts","../../../src/packages/members/member-type/repository/detail/member-type-detail.repository.ts"],"sourcesContent":["import type { UmbMemberTypeDetailModel } from '../../types.js';\r\nimport { UMB_MEMBER_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\tCreateMemberTypeRequestModel,\r\n\tUpdateMemberTypeRequestModel,\r\n} from '@umbraco-cms/backoffice/external/backend-api';\r\nimport { MemberTypeService } 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 } from '@umbraco-cms/backoffice/content-type';\r\n\r\n/**\r\n * A data source for the Member Type that fetches data from the server\r\n * @class UmbMemberTypeServerDataSource\r\n * @implements {RepositoryDetailDataSource}\r\n */\r\nexport class UmbMemberTypeServerDataSource implements UmbDetailDataSource<UmbMemberTypeDetailModel> {\r\n\t#host: UmbControllerHost;\r\n\r\n\t/**\r\n\t * Creates an instance of UmbMemberTypeServerDataSource.\r\n\t * @param {UmbControllerHost} host - The controller host for this controller to be appended to\r\n\t * @memberof UmbMemberTypeServerDataSource\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 Member Type scaffold\r\n\t * @param {Partial<UmbMemberTypeDetailModel>} [preset]\r\n\t * @returns { CreateMemberTypeRequestModel }\r\n\t * @memberof UmbMemberTypeServerDataSource\r\n\t */\r\n\tasync createScaffold(preset: Partial<UmbMemberTypeDetailModel> = {}) {\r\n\t\tconst data: UmbMemberTypeDetailModel = {\r\n\t\t\tentityType: UMB_MEMBER_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-user',\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\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 Member Type with the given id from the server\r\n\t * @param {string} unique\r\n\t * @returns {*}\r\n\t * @memberof UmbMemberTypeServerDataSource\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(this.#host, MemberTypeService.getMemberTypeById({ id: unique }));\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 memberType: UmbMemberTypeDetailModel = {\r\n\t\t\tentityType: UMB_MEMBER_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 ? { id: property.container.id } : null,\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\tvisibility: property.visibility,\r\n\t\t\t\t\tisSensitive: property.isSensitive,\r\n\t\t\t\t};\r\n\t\t\t}),\r\n\t\t\tcontainers: data.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\tallowedContentTypes: [],\r\n\t\t\tcompositions: data.compositions.map((composition) => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tcontentType: { unique: composition.memberType.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\tcollection: data.collection ? { unique: data.collection.id } : null,\r\n\t\t};\r\n\r\n\t\treturn { data: memberType };\r\n\t}\r\n\r\n\t/**\r\n\t * Inserts a new Member Type on the server\r\n\t * @param {UmbMemberTypeDetailModel} model\r\n\t * @returns {*}\r\n\t * @memberof UmbMemberTypeServerDataSource\r\n\t */\r\n\tasync create(model: UmbMemberTypeDetailModel) {\r\n\t\tif (!model) throw new Error('Member Type is missing');\r\n\r\n\t\t// TODO: make data mapper to prevent errors\r\n\t\tconst requestBody: CreateMemberTypeRequestModel = {\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 ? { id: property.container.id } : null,\r\n\t\t\t\t\tsortOrder: property.sortOrder,\r\n\t\t\t\t\talias: property.alias,\r\n\t\t\t\t\tisSensitive: property.isSensitive ?? false,\r\n\t\t\t\t\tvisibility: property.visibility ?? { memberCanEdit: false, memberCanView: false },\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\tid: model.unique,\r\n\t\t\tcompositions: model.compositions.map((composition) => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tmemberType: { 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};\r\n\r\n\t\tconst { data, error } = await tryExecuteAndNotify(\r\n\t\t\tthis.#host,\r\n\t\t\tMemberTypeService.postMemberType({\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 MemberType on the server\r\n\t * @param {UmbMemberTypeDetailModel} MemberType\r\n\t * @param model\r\n\t * @returns {*}\r\n\t * @memberof UmbMemberTypeServerDataSource\r\n\t */\r\n\tasync update(model: UmbMemberTypeDetailModel) {\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: UpdateMemberTypeRequestModel = {\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 ? { id: property.container.id } : null,\r\n\t\t\t\t\tsortOrder: property.sortOrder,\r\n\t\t\t\t\tisSensitive: property.isSensitive ?? false,\r\n\t\t\t\t\tvisibility: property.visibility ?? { memberCanEdit: false, memberCanView: false },\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\tcompositions: model.compositions.map((composition) => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tmemberType: { 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};\r\n\r\n\t\tconst { error } = await tryExecuteAndNotify(\r\n\t\t\tthis.#host,\r\n\t\t\tMemberTypeService.putMemberTypeById({\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 Member Type on the server\r\n\t * @param {string} unique\r\n\t * @returns {*}\r\n\t * @memberof UmbMemberTypeServerDataSource\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\tMemberTypeService.deleteMemberTypeById({\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 { UmbMemberTypeDetailModel } from '../../types.js';\r\nimport { UmbMemberTypeServerDataSource } from './member-type-detail.server.data-source.js';\r\nimport { UMB_MEMBER_TYPE_DETAIL_STORE_CONTEXT } from './member-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\n\r\n/**\r\n * A repository for the Member Type detail\r\n * @class UmbMemberTypeDetailRepository\r\n * @augments {UmbDetailRepositoryBase<UmbMemberTypeDetailModel>}\r\n */\r\nexport class UmbMemberTypeDetailRepository extends UmbDetailRepositoryBase<UmbMemberTypeDetailModel> {\r\n\t/**\r\n\t * Creates an instance of UmbMemberTypeDetailRepository.\r\n\t * @param {UmbControllerHost} host - The controller host for this controller to be appended to\r\n\t * @memberof UmbMemberTypeDetailRepository\r\n\t */\r\n\tconstructor(host: UmbControllerHost) {\r\n\t\tsuper(host, UmbMemberTypeServerDataSource, UMB_MEMBER_TYPE_DETAIL_STORE_CONTEXT);\r\n\t}\r\n}\r\n\r\nexport default UmbMemberTypeDetailRepository;\r\n"],"names":["UmbMemberTypeServerDataSource","#host","host","preset","UMB_MEMBER_TYPE_ENTITY_TYPE","UmbId","unique","data","error","tryExecuteAndNotify","MemberTypeService","property","container","composition","model","requestBody","UmbMemberTypeDetailRepository","UmbDetailRepositoryBase","UMB_MEMBER_TYPE_DETAIL_STORE_CONTEXT"],"mappings":"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"}