init repository
This commit is contained in:
@@ -1,11 +1,40 @@
|
||||
import { Observable } from 'rxjs';
|
||||
import { UserGroupBaseModel } from '@umbraco-cms/backoffice/backend-api';
|
||||
import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller';
|
||||
import {
|
||||
UmbCollectionRepository,
|
||||
UmbDetailRepository,
|
||||
UmbRepositoryErrorResponse,
|
||||
UmbRepositoryResponse,
|
||||
} from '@umbraco-cms/backoffice/repository';
|
||||
|
||||
// TODO: implement
|
||||
export class UmbUserGroupRepository {
|
||||
export class UmbUserGroupRepository implements UmbDetailRepository<UserGroupBaseModel>, UmbCollectionRepository {
|
||||
#host: UmbControllerHostElement;
|
||||
|
||||
constructor(host: UmbControllerHostElement) {
|
||||
this.#host = host;
|
||||
console.log(this.#host);
|
||||
}
|
||||
|
||||
createScaffold(parentId: string | null): Promise<UmbRepositoryResponse<any>> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
requestById(id: string): Promise<UmbRepositoryResponse<any>> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
byId(id: string): Promise<Observable<any>> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
create(data: any): Promise<UmbRepositoryResponse<any>> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
save(id: string, data: any): Promise<UmbRepositoryErrorResponse> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
delete(id: string): Promise<UmbRepositoryErrorResponse> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
requestCollection(filter?: any): Promise<any> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,6 +11,20 @@ export class UmbUserGroupWorkspaceContext
|
||||
#data = new UmbObjectState<UserGroupBaseModel | undefined>(undefined);
|
||||
data = this.#data.asObservable();
|
||||
|
||||
constructor(host: UmbControllerHostElement) {
|
||||
super(host, new UmbUserGroupRepository(host));
|
||||
}
|
||||
|
||||
async load(id: string) {
|
||||
console.log('load');
|
||||
|
||||
const { data } = await this.repository.requestById(id);
|
||||
if (data) {
|
||||
this.setIsNew(false);
|
||||
this.#data.update(data);
|
||||
}
|
||||
}
|
||||
|
||||
getEntityId(): string | undefined {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
@@ -26,9 +40,6 @@ export class UmbUserGroupWorkspaceContext
|
||||
destroy(): void {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
constructor(host: UmbControllerHostElement) {
|
||||
super(host, new UmbUserGroupRepository(host));
|
||||
}
|
||||
|
||||
updateProperty<Alias extends keyof UserGroupBaseModel>(alias: Alias, value: UserGroupBaseModel[Alias]) {
|
||||
this.#data.update({ [alias]: value });
|
||||
|
||||
Reference in New Issue
Block a user