diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/packages/repository/sources/package.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/packages/repository/sources/package.server.data.ts new file mode 100644 index 0000000000..64568481cc --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/backoffice/packages/repository/sources/package.server.data.ts @@ -0,0 +1,22 @@ +import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { tryExecuteAndNotify } from '@umbraco-cms/resources'; +import { umbracoPath } from '@umbraco-cms/utils'; + +/** + * Data source for packages from the server + * @export + */ +export class UmbPackageServerDataSource { + constructor(private readonly host: UmbControllerHostInterface) {} + + /** + * Get the root items from the server + * @memberof UmbPackageServerDataSource + */ + getRootItems() { + return tryExecuteAndNotify( + this.host, + fetch(umbracoPath('/manifests')).then((res) => res.json()) + ); + } +}