{"version":3,"file":"member-type-tree.repository-mbrFAckE.js","sources":["../../../src/packages/members/member-type/tree/member-type-tree.server.data-source.ts","../../../src/packages/members/member-type/tree/member-type-tree.repository.ts"],"sourcesContent":["import { UMB_MEMBER_TYPE_ENTITY_TYPE, UMB_MEMBER_TYPE_ROOT_ENTITY_TYPE } from '../entity.js';\r\nimport type { UmbMemberTypeTreeItemModel } from './types.js';\r\nimport type { UmbTreeChildrenOfRequestArgs, UmbTreeRootItemsRequestArgs } from '@umbraco-cms/backoffice/tree';\r\nimport { UmbTreeServerDataSourceBase } from '@umbraco-cms/backoffice/tree';\r\nimport type { MemberTypeTreeItemResponseModel } 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\n\r\n/**\r\n * A data source for the MemberType tree that fetches data from the server\r\n * @class UmbMemberTypeTreeServerDataSource\r\n * @implements {UmbTreeDataSource}\r\n */\r\nexport class UmbMemberTypeTreeServerDataSource extends UmbTreeServerDataSourceBase<\r\n\tMemberTypeTreeItemResponseModel,\r\n\tUmbMemberTypeTreeItemModel\r\n> {\r\n\t/**\r\n\t * Creates an instance of UmbMemberTypeTreeServerDataSource.\r\n\t * @param {UmbControllerHost} host - The controller host for this controller to be appended to\r\n\t * @memberof UmbMemberTypeTreeServerDataSource\r\n\t */\r\n\tconstructor(host: UmbControllerHost) {\r\n\t\tsuper(host, {\r\n\t\t\tgetRootItems,\r\n\t\t\tgetChildrenOf,\r\n\t\t\tgetAncestorsOf,\r\n\t\t\tmapper,\r\n\t\t});\r\n\t}\r\n}\r\n\r\nconst getRootItems = (args: UmbTreeRootItemsRequestArgs) =>\r\n\t// eslint-disable-next-line local-rules/no-direct-api-import\r\n\tMemberTypeService.getTreeMemberTypeRoot({ skip: args.skip, take: args.take });\r\n\r\nconst getChildrenOf = (args: UmbTreeChildrenOfRequestArgs) => {\r\n\tif (args.parent.unique === null) {\r\n\t\treturn getRootItems(args);\r\n\t} else {\r\n\t\tthrow new Error('Not supported for the member type tree');\r\n\t}\r\n};\r\n\r\nconst getAncestorsOf = () => {\r\n\tthrow new Error('Not supported for the member type tree');\r\n};\r\n\r\nconst mapper = (item: MemberTypeTreeItemResponseModel): UmbMemberTypeTreeItemModel => {\r\n\treturn {\r\n\t\tunique: item.id,\r\n\t\tparent: {\r\n\t\t\tunique: item.parent ? item.parent.id : null,\r\n\t\t\tentityType: item.parent ? UMB_MEMBER_TYPE_ENTITY_TYPE : UMB_MEMBER_TYPE_ROOT_ENTITY_TYPE,\r\n\t\t},\r\n\t\tname: item.name,\r\n\t\tentityType: UMB_MEMBER_TYPE_ENTITY_TYPE,\r\n\t\thasChildren: item.hasChildren,\r\n\t\tisFolder: false,\r\n\t\ticon: item.icon,\r\n\t};\r\n};\r\n","import { UMB_MEMBER_TYPE_ROOT_ENTITY_TYPE } from '../entity.js';\r\nimport { UmbMemberTypeTreeServerDataSource } from './member-type-tree.server.data-source.js';\r\nimport type { UmbMemberTypeTreeItemModel, UmbMemberTypeTreeRootModel } from './types.js';\r\nimport { UMB_MEMBER_TYPE_TREE_STORE_CONTEXT } from './member-type-tree.store.context-token.js';\r\nimport { UmbTreeRepositoryBase } from '@umbraco-cms/backoffice/tree';\r\nimport type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';\r\nimport type { UmbApi } from '@umbraco-cms/backoffice/extension-api';\r\n\r\nexport class UmbMemberTypeTreeRepository\r\n\textends UmbTreeRepositoryBase\r\n\timplements UmbApi\r\n{\r\n\tconstructor(host: UmbControllerHost) {\r\n\t\tsuper(host, UmbMemberTypeTreeServerDataSource, UMB_MEMBER_TYPE_TREE_STORE_CONTEXT);\r\n\t}\r\n\r\n\tasync requestTreeRoot() {\r\n\t\tconst { data: treeRootData } = await this._treeSource.getRootItems({ skip: 0, take: 1 });\r\n\t\tconst hasChildren = treeRootData ? treeRootData.total > 0 : false;\r\n\r\n\t\tconst data: UmbMemberTypeTreeRootModel = {\r\n\t\t\tunique: null,\r\n\t\t\tentityType: UMB_MEMBER_TYPE_ROOT_ENTITY_TYPE,\r\n\t\t\tname: '#treeHeaders_memberTypes',\r\n\t\t\thasChildren,\r\n\t\t\tisFolder: true,\r\n\t\t};\r\n\r\n\t\treturn { data };\r\n\t}\r\n}\r\n\r\nexport default UmbMemberTypeTreeRepository;\r\n"],"names":["UmbMemberTypeTreeServerDataSource","UmbTreeServerDataSourceBase","host","getRootItems","getChildrenOf","getAncestorsOf","mapper","args","MemberTypeService","item","UMB_MEMBER_TYPE_ENTITY_TYPE","UMB_MEMBER_TYPE_ROOT_ENTITY_TYPE","UmbMemberTypeTreeRepository","UmbTreeRepositoryBase","UMB_MEMBER_TYPE_TREE_STORE_CONTEXT","treeRootData","hasChildren"],"mappings":";;;AAaO,MAAMA,UAA0CC,EAGrD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,YAAYC,GAAyB;AACpC,UAAMA,GAAM;AAAA,MACX,cAAAC;AAAA,MACA,eAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,QAAAC;AAAA,IAAA,CACA;AAAA,EAAA;AAEH;AAEA,MAAMH,IAAe,CAACI;AAAA;AAAA,EAErBC,EAAkB,sBAAsB,EAAE,MAAMD,EAAK,MAAM,MAAMA,EAAK,KAAM,CAAA;AAAA,GAEvEH,IAAgB,CAACG,MAAuC;AACzD,MAAAA,EAAK,OAAO,WAAW;AAC1B,WAAOJ,EAAaI,CAAI;AAElB,QAAA,IAAI,MAAM,wCAAwC;AAE1D,GAEMF,IAAiB,MAAM;AACtB,QAAA,IAAI,MAAM,wCAAwC;AACzD,GAEMC,IAAS,CAACG,OACR;AAAA,EACN,QAAQA,EAAK;AAAA,EACb,QAAQ;AAAA,IACP,QAAQA,EAAK,SAASA,EAAK,OAAO,KAAK;AAAA,IACvC,YAAYA,EAAK,SAASC,IAA8BC;AAAA,EACzD;AAAA,EACA,MAAMF,EAAK;AAAA,EACX,YAAYC;AAAA,EACZ,aAAaD,EAAK;AAAA,EAClB,UAAU;AAAA,EACV,MAAMA,EAAK;AACZ;ACpDM,MAAMG,UACJC,EAET;AAAA,EACC,YAAYX,GAAyB;AAC9B,UAAAA,GAAMF,GAAmCc,CAAkC;AAAA,EAAA;AAAA,EAGlF,MAAM,kBAAkB;AACvB,UAAM,EAAE,MAAMC,EAAa,IAAI,MAAM,KAAK,YAAY,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,GACjFC,IAAcD,IAAeA,EAAa,QAAQ,IAAI;AAU5D,WAAO,EAAE,MARgC;AAAA,MACxC,QAAQ;AAAA,MACR,YAAYJ;AAAA,MACZ,MAAM;AAAA,MACN,aAAAK;AAAA,MACA,UAAU;AAAA,IACX,EAEc;AAAA,EAAA;AAEhB;"}