From b8f1e97e42f4af0e1034f467bbf4100b57b72418 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Tue, 14 Nov 2023 22:19:40 +0100 Subject: [PATCH] reuse item repository for data type items --- .../item/data-type-item.repository.ts | 41 ++----------------- 1 file changed, 4 insertions(+), 37 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/data-type/repository/item/data-type-item.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/core/data-type/repository/item/data-type-item.repository.ts index faa193daad..30f7ba46b9 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/data-type/repository/item/data-type-item.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/data-type/repository/item/data-type-item.repository.ts @@ -1,47 +1,14 @@ -import { UmbDataTypeRepositoryBase } from '../data-type-repository-base.js'; import { UmbDataTypeItemServerDataSource } from './data-type-item.server.data.js'; +import { UMB_DATA_TYPE_ITEM_STORE_CONTEXT } from './data-type-item.store.js'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; -import { UmbItemDataSource, UmbItemRepository } from '@umbraco-cms/backoffice/repository'; +import { UmbItemRepository, UmbItemRepositoryBase } from '@umbraco-cms/backoffice/repository'; import { DataTypeItemResponseModel } from '@umbraco-cms/backoffice/backend-api'; export class UmbDataTypeItemRepository - extends UmbDataTypeRepositoryBase + extends UmbItemRepositoryBase implements UmbItemRepository { - #itemSource: UmbItemDataSource; - constructor(host: UmbControllerHost) { - super(host); - this.#itemSource = new UmbDataTypeItemServerDataSource(host); - } - - /** - * Requests the Data Type items for the given ids - * @param {Array} ids - * @return {*} - * @memberof UmbDataTypeItemRepository - */ - async requestItems(ids: Array) { - if (!ids) throw new Error('Ids are missing'); - await this._init; - - const { data, error } = await this.#itemSource.getItems(ids); - - if (data) { - this._itemStore!.appendItems(data); - } - - return { data, error, asObservable: () => this._itemStore!.items(ids) }; - } - - /** - * Returns a promise with an observable of the Data Type items for the given ids - * @param {Array} ids - * @return {Promise>} - * @memberof UmbDataTypeItemRepository - */ - async items(ids: Array) { - await this._init; - return this._itemStore!.items(ids); + super(host, UmbDataTypeItemServerDataSource, UMB_DATA_TYPE_ITEM_STORE_CONTEXT); } }