{"version":3,"file":"language-collection.repository-BxyLnSXx.js","sources":["../../../src/packages/language/collection/repository/language-collection.server.data-source.ts","../../../src/packages/language/collection/repository/language-collection.repository.ts"],"sourcesContent":["import type { UmbLanguageCollectionFilterModel } from '../types.js';\r\nimport type { UmbLanguageDetailModel } from '../../types.js';\r\nimport { UMB_LANGUAGE_ENTITY_TYPE } from '../../entity.js';\r\nimport type { UmbCollectionDataSource } from '@umbraco-cms/backoffice/collection';\r\nimport { LanguageService } 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\n\r\n/**\r\n * A data source that fetches the language collection data from the server.\r\n * @class UmbLanguageCollectionServerDataSource\r\n * @implements {UmbCollectionDataSource}\r\n */\r\nexport class UmbLanguageCollectionServerDataSource implements UmbCollectionDataSource {\r\n\t#host: UmbControllerHost;\r\n\r\n\t/**\r\n\t * Creates an instance of UmbLanguageCollectionServerDataSource.\r\n\t * @param {UmbControllerHost} host - The controller host for this controller to be appended to\r\n\t * @memberof UmbLanguageCollectionServerDataSource\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 * Gets the language collection filtered by the given filter.\r\n\t * @param {UmbLanguageCollectionFilterModel} filter\r\n\t * @returns {*}\r\n\t * @memberof UmbLanguageCollectionServerDataSource\r\n\t */\r\n\tasync getCollection(filter: UmbLanguageCollectionFilterModel) {\r\n\t\tconst { data, error } = await tryExecuteAndNotify(this.#host, LanguageService.getLanguage(filter));\r\n\r\n\t\tif (data) {\r\n\t\t\tconst items = data.items.map((item) => {\r\n\t\t\t\tconst model: UmbLanguageDetailModel = {\r\n\t\t\t\t\tunique: item.isoCode,\r\n\t\t\t\t\tname: item.name,\r\n\t\t\t\t\tentityType: UMB_LANGUAGE_ENTITY_TYPE,\r\n\t\t\t\t\tisDefault: item.isDefault,\r\n\t\t\t\t\tisMandatory: item.isMandatory,\r\n\t\t\t\t\tfallbackIsoCode: item.fallbackIsoCode || null,\r\n\t\t\t\t};\r\n\r\n\t\t\t\treturn model;\r\n\t\t\t});\r\n\r\n\t\t\treturn { data: { items, total: data.total } };\r\n\t\t}\r\n\r\n\t\treturn { error };\r\n\t}\r\n}\r\n","import type { UmbLanguageCollectionFilterModel } from '../types.js';\r\nimport { UmbLanguageCollectionServerDataSource } from './language-collection.server.data-source.js';\r\nimport type { UmbLanguageCollectionDataSource } from './types.js';\r\nimport { UmbRepositoryBase } from '@umbraco-cms/backoffice/repository';\r\nimport type { UmbCollectionRepository } from '@umbraco-cms/backoffice/collection';\r\nimport type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';\r\n\r\nexport class UmbLanguageCollectionRepository extends UmbRepositoryBase implements UmbCollectionRepository {\r\n\t#collectionSource: UmbLanguageCollectionDataSource;\r\n\r\n\tconstructor(host: UmbControllerHost) {\r\n\t\tsuper(host);\r\n\t\tthis.#collectionSource = new UmbLanguageCollectionServerDataSource(host);\r\n\t}\r\n\r\n\tasync requestCollection(filter: UmbLanguageCollectionFilterModel) {\r\n\t\treturn this.#collectionSource.getCollection(filter);\r\n\t}\r\n}\r\n\r\nexport default UmbLanguageCollectionRepository;\r\n"],"names":["UmbLanguageCollectionServerDataSource","#host","host","filter","data","error","tryExecuteAndNotify","LanguageService","item","UMB_LANGUAGE_ENTITY_TYPE","UmbLanguageCollectionRepository","UmbRepositoryBase","#collectionSource"],"mappings":";;;;AAaO,MAAMA,EAAiG;AAAA,EAC7GC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,YAAYC,GAAyB;AACpC,SAAKD,KAAQC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASd,MAAM,cAAcC,GAA0C;AACvD,UAAA,EAAE,MAAAC,GAAM,OAAAC,EAAU,IAAA,MAAMC,EAAoB,KAAKL,IAAOM,EAAgB,YAAYJ,CAAM,CAAC;AAEjG,WAAIC,IAcI,EAAE,MAAM,EAAE,OAbHA,EAAK,MAAM,IAAI,CAACI,OACS;AAAA,MACrC,QAAQA,EAAK;AAAA,MACb,MAAMA,EAAK;AAAA,MACX,YAAYC;AAAA,MACZ,WAAWD,EAAK;AAAA,MAChB,aAAaA,EAAK;AAAA,MAClB,iBAAiBA,EAAK,mBAAmB;AAAA,IAC1C,EAGA,GAEuB,OAAOJ,EAAK,QAAQ,IAGtC,EAAE,OAAAC,EAAM;AAAA,EAAA;AAEjB;AC9CO,MAAMK,UAAwCC,EAAqD;AAAA,EACzGC;AAAA,EAEA,YAAYV,GAAyB;AACpC,UAAMA,CAAI,GACL,KAAAU,KAAoB,IAAIZ,EAAsCE,CAAI;AAAA,EAAA;AAAA,EAGxE,MAAM,kBAAkBC,GAA0C;AAC1D,WAAA,KAAKS,GAAkB,cAAcT,CAAM;AAAA,EAAA;AAEpD;"}