{"version":3,"file":"media-url.repository-9y-sQXAe.js","sources":["../../../src/packages/media/media/repository/detail/media-detail.store.context-token.ts","../../../src/packages/media/media/repository/item/media-item.store.context-token.ts","../../../src/packages/media/media/repository/url/media-url.store.context-token.ts","../../../src/packages/media/media/repository/url/media-url.server.data-source.ts","../../../src/packages/media/media/repository/url/media-url.repository.ts"],"sourcesContent":["import type UmbMediaDetailStore from './media-detail.store.js';\r\nimport { UmbContextToken } from '@umbraco-cms/backoffice/context-api';\r\n\r\nexport const UMB_MEDIA_DETAIL_STORE_CONTEXT = new UmbContextToken('UmbMediaDetailStore');\r\n","import type UmbMediaItemStore from './media-item.store.js';\r\nimport { UmbContextToken } from '@umbraco-cms/backoffice/context-api';\r\n\r\nexport const UMB_MEDIA_ITEM_STORE_CONTEXT = new UmbContextToken('UmbMediaItemStore');\r\n","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_DETAIL_STORE_CONTEXT","UmbContextToken","UMB_MEDIA_ITEM_STORE_CONTEXT","UMB_MEDIA_URL_STORE_CONTEXT","UmbMediaUrlServerDataSource","UmbItemServerDataSourceBase","host","getItems","mapper","uniques","MediaService","item","url","extension","UmbMediaUrlRepository","UmbItemRepositoryBase"],"mappings":";;;AAGa,MAAAA,IAAiC,IAAIC,EAAqC,qBAAqB,GCA/FC,IAA+B,IAAID,EAAmC,mBAAmB,GCAzFE,IAA8B,IAAIF,EAAkC,kBAAkB;ACO5F,MAAMG,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,GAA6BD,CAA2B;AAAA,EAAA;AAEtE;;;;;;;"}