From 934465d38cda875c6d66aa182e35171237e0d8a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesper=20M=C3=B8ller=20Jensen?= Date: Wed, 12 Oct 2022 11:07:14 +0200 Subject: [PATCH] add user-group store --- .../src/core/stores/user/user-group.store.ts | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/Umbraco.Web.UI.Client/src/core/stores/user/user-group.store.ts diff --git a/src/Umbraco.Web.UI.Client/src/core/stores/user/user-group.store.ts b/src/Umbraco.Web.UI.Client/src/core/stores/user/user-group.store.ts new file mode 100644 index 0000000000..a35c541473 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/core/stores/user/user-group.store.ts @@ -0,0 +1,32 @@ +import { BehaviorSubject, map, Observable } from 'rxjs'; +import type { UserDetails, UserEntity, UserGroupDetails } from '../../models'; +import { UmbEntityStore } from '../entity.store'; +import { UmbDataStoreBase } from '../store'; +import { v4 as uuidv4 } from 'uuid'; + +/** + * @export + * @class UmbUserGroupStore + * @extends {UmbDataStoreBase} + * @description - Data Store for Users + */ +export class UmbUserGroupStore extends UmbDataStoreBase { + private _entityStore: UmbEntityStore; + + constructor(entityStore: UmbEntityStore) { + super(); + this._entityStore = entityStore; + } + + getAll(): Observable> { + // TODO: use Fetcher API. + // TODO: only fetch if the data type is not in the store? + fetch(`/umbraco/backoffice/user-groups/list/items`) + .then((res) => res.json()) + .then((data) => { + this.update(data.items); + }); + + return this.items; + } +}