{"version":3,"file":"media-url.repository-DUerHiJb.js","sources":["../../../src/packages/media/media/url/repository/media-url.store.context-token.ts","../../../src/packages/media/media/url/repository/media-url.server.data-source.ts","../../../src/packages/media/media/url/repository/media-url.repository.ts"],"sourcesContent":["import type UmbMediaUrlStore from './media-url.store.js';\r\nimport { UmbContextToken } from '@umbraco-cms/backoffice/context-api';\r\n\r\nexport const UMB_MEDIA_URL_STORE_CONTEXT = new UmbContextToken('UmbMediaUrlStore');\r\n","import type { UmbMediaUrlModel } from './types.js';\r\nimport type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';\r\nimport { MediaService, type MediaUrlInfoResponseModel } from '@umbraco-cms/backoffice/external/backend-api';\r\nimport { UmbItemServerDataSourceBase } from '@umbraco-cms/backoffice/repository';\r\n\r\n/**\r\n * A server data source for Media Urls\r\n * @class UmbMediaUrlServerDataSource\r\n * @implements {DocumentTreeDataSource}\r\n */\r\nexport class UmbMediaUrlServerDataSource extends UmbItemServerDataSourceBase<\r\n\tMediaUrlInfoResponseModel,\r\n\tUmbMediaUrlModel\r\n> {\r\n\t/**\r\n\t * Creates an instance of UmbMediaUrlServerDataSource.\r\n\t * @param {UmbControllerHost} host - The controller host for this controller to be appended to\r\n\t * @memberof UmbMediaUrlServerDataSource\r\n\t */\r\n\tconstructor(host: UmbControllerHost) {\r\n\t\tsuper(host, {\r\n\t\t\tgetItems,\r\n\t\t\tmapper,\r\n\t\t});\r\n\t}\r\n}\r\n\r\n/* eslint-disable local-rules/no-direct-api-import */\r\nconst getItems = (uniques: Array) => MediaService.getMediaUrls({ id: uniques });\r\n\r\nconst mapper = (item: MediaUrlInfoResponseModel): UmbMediaUrlModel => {\r\n\tconst url = item.urlInfos.length ? item.urlInfos[0].url : undefined;\r\n\tconst extension = url ? url.slice(url.lastIndexOf('.') + 1, url.length) : undefined;\r\n\r\n\treturn {\r\n\t\tunique: item.id,\r\n\t\turl,\r\n\t\textension,\r\n\t\t/*info: item.urlInfos.map((urlInfo) => ({\r\n\t\t\t...urlInfo,\r\n\t\t\textension: '',\r\n\t\t})),*/\r\n\t};\r\n};\r\n","import type { UmbMediaUrlModel } from './types.js';\r\nimport { UMB_MEDIA_URL_STORE_CONTEXT } from './media-url.store.context-token.js';\r\nimport { UmbMediaUrlServerDataSource } from './media-url.server.data-source.js';\r\nimport { UmbItemRepositoryBase } from '@umbraco-cms/backoffice/repository';\r\nimport type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';\r\n\r\nexport class UmbMediaUrlRepository extends UmbItemRepositoryBase {\r\n\tconstructor(host: UmbControllerHost) {\r\n\t\tsuper(host, UmbMediaUrlServerDataSource, UMB_MEDIA_URL_STORE_CONTEXT);\r\n\t}\r\n}\r\n\r\nexport { UmbMediaUrlRepository as api };\r\n\r\nexport default UmbMediaUrlRepository;\r\n"],"names":["UMB_MEDIA_URL_STORE_CONTEXT","UmbContextToken","UmbMediaUrlServerDataSource","UmbItemServerDataSourceBase","host","getItems","mapper","uniques","MediaService","item","url","extension","UmbMediaUrlRepository","UmbItemRepositoryBase"],"mappings":";;;AAGa,MAAAA,IAA8B,IAAIC,EAAkC,kBAAkB;ACO5F,MAAMC,UAAoCC,EAG/C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,YAAYC,GAAyB;AACpC,UAAMA,GAAM;AAAA,MACX,UAAAC;AAAA,MACA,QAAAC;AAAA,IAAA,CACA;AAAA,EAAA;AAEH;AAGA,MAAMD,IAAW,CAACE,MAA2BC,EAAa,aAAa,EAAE,IAAID,GAAS,GAEhFD,IAAS,CAACG,MAAsD;AAC/D,QAAAC,IAAMD,EAAK,SAAS,SAASA,EAAK,SAAS,CAAC,EAAE,MAAM,QACpDE,IAAYD,IAAMA,EAAI,MAAMA,EAAI,YAAY,GAAG,IAAI,GAAGA,EAAI,MAAM,IAAI;AAEnE,SAAA;AAAA,IACN,QAAQD,EAAK;AAAA,IACb,KAAAC;AAAA,IACA,WAAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAKD;AACD;ACrCO,MAAMC,UAA8BC,EAAwC;AAAA,EAClF,YAAYT,GAAyB;AAC9B,UAAAA,GAAMF,GAA6BF,CAA2B;AAAA,EAAA;AAEtE;;;;;;;"}