fix types after merge

This commit is contained in:
Jesper Møller Jensen
2023-05-11 20:11:45 +12:00
parent be09954ba0
commit 68eb3e4dde
10 changed files with 44 additions and 47 deletions

View File

@@ -1,6 +1,13 @@
import { UUITextStyles } from '@umbraco-ui/uui-css';
import { css, html } from 'lit';
import { customElement, state } from 'lit/decorators.js';
import { UmbUserGroupCollectionContext } from './user-group-collection.context';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import { UMB_COLLECTION_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/collection';
import { UserGroupResponseModel } from '@umbraco-cms/backoffice/backend-api';
import './user-group-table-name-column-layout.element';
import './user-group-table-sections-column-layout.element';
import {
UmbTableColumn,
UmbTableConfig,
@@ -8,14 +15,7 @@ import {
UmbTableElement,
UmbTableItem,
UmbTableSelectedEvent,
} from '../../../shared/components/table';
import { UmbUserGroupCollectionContext } from './user-group-collection.context';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import { UMB_COLLECTION_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/collection';
import { UserGroupPresentationModel } from '@umbraco-cms/backoffice/backend-api';
import './user-group-table-name-column-layout.element';
import './user-group-table-sections-column-layout.element';
} from '@umbraco-cms/backoffice/core/components';
@customElement('umb-user-group-collection-view')
export class UmbUserGroupCollectionViewElement extends UmbLitElement {
@@ -53,7 +53,7 @@ export class UmbUserGroupCollectionViewElement extends UmbLitElement {
private _selection: Array<string> = [];
@state()
private _userGroups: Array<UserGroupPresentationModel> = [];
private _userGroups: Array<UserGroupResponseModel> = [];
#collectionContext?: UmbUserGroupCollectionContext;
@@ -70,7 +70,7 @@ export class UmbUserGroupCollectionViewElement extends UmbLitElement {
});
}
private _createTableItems(userGroups: Array<UserGroupPresentationModel>) {
private _createTableItems(userGroups: Array<UserGroupResponseModel>) {
this._tableItems = userGroups.map((userGroup) => {
return {
id: userGroup.id || '',

View File

@@ -1,11 +1,11 @@
import { USER_GROUP_REPOSITORY_ALIAS } from '../repository/manifests';
import { UmbUserGroupCollectionFilterModel } from '../types';
import { UmbCollectionContext } from '@umbraco-cms/backoffice/collection';
import { UserGroupPresentationModel } from '@umbraco-cms/backoffice/backend-api';
import { UserGroupResponseModel } from '@umbraco-cms/backoffice/backend-api';
import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller';
export class UmbUserGroupCollectionContext extends UmbCollectionContext<
UserGroupPresentationModel,
UserGroupResponseModel,
UmbUserGroupCollectionFilterModel
> {
constructor(host: UmbControllerHostElement) {

View File

@@ -1,6 +1,6 @@
import { html, LitElement } from 'lit';
import { customElement, property } from 'lit/decorators.js';
import { UmbTableItem } from '../../../shared/components/table';
import { UmbTableItem } from '@umbraco-cms/backoffice/core/components';
@customElement('umb-user-group-table-name-column-layout')
export class UmbUserGroupTableNameColumnLayoutElement extends LitElement {

View File

@@ -2,7 +2,7 @@ import type { UmbUserGroupCollectionFilterModel } from '../../types';
import { UmbCollectionDataSource } from '@umbraco-cms/backoffice/repository';
import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller';
import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources';
import { UserGroupPresentationModel, UserGroupResource } from '@umbraco-cms/backoffice/backend-api';
import { UserGroupResponseModel, UserGroupResource } from '@umbraco-cms/backoffice/backend-api';
/**
* A data source for the UserGroup that fetches data from the server
@@ -10,7 +10,7 @@ import { UserGroupPresentationModel, UserGroupResource } from '@umbraco-cms/back
* @class UmbUserGroupCollectionServerDataSource
* @implements {RepositoryDetailDataSource}
*/
export class UmbUserGroupCollectionServerDataSource implements UmbCollectionDataSource<UserGroupPresentationModel> {
export class UmbUserGroupCollectionServerDataSource implements UmbCollectionDataSource<UserGroupResponseModel> {
#host: UmbControllerHostElement;
/**

View File

@@ -1,10 +1,10 @@
import { UmbUserGroupDetailDataSource } from '../../types';
import { DataSourceResponse } from '@umbraco-cms/backoffice/repository';
import {
UserGroupPresentationModel,
UserGroupResponseModel,
UserGroupResource,
UpdateUserGroupRequestModel,
SaveUserGroupRequestModel,
CreateUserGroupRequestModel,
} from '@umbraco-cms/backoffice/backend-api';
import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller';
import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources';
@@ -29,7 +29,7 @@ export class UmbUserGroupServerDataSource implements UmbUserGroupDetailDataSourc
//TODO should parentId be optional in the generic interface?
async createScaffold(parentId: string | null) {
const data: SaveUserGroupRequestModel = {
const data: CreateUserGroupRequestModel = {
name: '',
icon: '',
sections: [],
@@ -40,11 +40,11 @@ export class UmbUserGroupServerDataSource implements UmbUserGroupDetailDataSourc
return { data };
}
get(id: string): Promise<DataSourceResponse<UserGroupPresentationModel>> {
get(id: string): Promise<DataSourceResponse<UserGroupResponseModel>> {
if (!id) throw new Error('Id is missing');
return tryExecuteAndNotify(this.#host, UserGroupResource.getUserGroupById({ id }));
}
insert(data: SaveUserGroupRequestModel) {
insert(data: CreateUserGroupRequestModel) {
return tryExecuteAndNotify(this.#host, UserGroupResource.postUserGroup({ requestBody: data }));
}
update(id: string, data: UpdateUserGroupRequestModel) {

View File

@@ -3,10 +3,10 @@ import { UmbUserGroupCollectionFilterModel, UmbUserGroupDetailDataSource } from
import { UmbUserGroupServerDataSource } from './sources/user-group.server.data';
import { UmbUserGroupCollectionServerDataSource } from './sources/user-group-collection.server.data';
import {
SaveUserGroupRequestModel,
CreateUserGroupRequestModel,
UpdateUserGroupRequestModel,
UserGroupBaseModel,
UserGroupPresentationModel,
UserGroupResponseModel,
} from '@umbraco-cms/backoffice/backend-api';
import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller';
import {
@@ -20,13 +20,13 @@ import {
// TODO: implement
export class UmbUserGroupRepository
implements
UmbDetailRepository<SaveUserGroupRequestModel, any, UpdateUserGroupRequestModel, UserGroupPresentationModel>,
UmbDetailRepository<CreateUserGroupRequestModel, any, UpdateUserGroupRequestModel, UserGroupResponseModel>,
UmbCollectionRepository
{
#host: UmbControllerHostElement;
#detailSource: UmbUserGroupDetailDataSource;
#collectionSource: UmbCollectionDataSource<UserGroupPresentationModel>;
#collectionSource: UmbCollectionDataSource<UserGroupResponseModel>;
constructor(host: UmbControllerHostElement) {
this.#host = host;
@@ -68,7 +68,7 @@ export class UmbUserGroupRepository
return { error };
}
async save(id: string, userGroup: UserGroupPresentationModel) {
async save(id: string, userGroup: UserGroupResponseModel) {
if (!id) throw new Error('UserGroup id is missing');
if (!userGroup) throw new Error('UserGroup update data is missing');

View File

@@ -1,7 +1,7 @@
import {
SaveUserGroupRequestModel,
CreateUserGroupRequestModel,
UpdateUserGroupRequestModel,
UserGroupPresentationModel,
UserGroupResponseModel,
} from '@umbraco-cms/backoffice/backend-api';
import type { UmbEntityBase } from '@umbraco-cms/backoffice/models';
import { UmbDataSource } from '@umbraco-cms/backoffice/repository';
@@ -25,8 +25,8 @@ export interface UmbUserGroupCollectionFilterModel {
//TODO Which model should we use instead of "any"?
export type UmbUserGroupDetailDataSource = UmbDataSource<
SaveUserGroupRequestModel,
CreateUserGroupRequestModel,
any,
UpdateUserGroupRequestModel,
UserGroupPresentationModel
UserGroupResponseModel
>;

View File

@@ -7,13 +7,13 @@ import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import '../../../shared/components/input-section/input-section.element';
import { UMB_ENTITY_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/context-api';
import { UserGroupPresentationModel } from '@umbraco-cms/backoffice/backend-api';
import { UserGroupResponseModel } from '@umbraco-cms/backoffice/backend-api';
import { UMB_CONFIRM_MODAL, UMB_MODAL_CONTEXT_TOKEN, UmbModalContext } from '@umbraco-cms/backoffice/modal';
@customElement('umb-user-group-workspace-edit')
export class UmbUserGroupWorkspaceEditElement extends UmbLitElement {
@state()
private _userGroup?: UserGroupPresentationModel;
private _userGroup?: UserGroupResponseModel;
@state()
private _userKeys?: Array<string>;

View File

@@ -1,14 +1,14 @@
import { UmbUserGroupRepository } from '../repository/user-group.repository';
import { UmbEntityWorkspaceContextInterface, UmbWorkspaceContext } from '@umbraco-cms/backoffice/workspace';
import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller';
import { UserGroupPresentationModel } from '@umbraco-cms/backoffice/backend-api';
import { UserGroupResponseModel } from '@umbraco-cms/backoffice/backend-api';
import { UmbObjectState } from '@umbraco-cms/backoffice/observable-api';
export class UmbUserGroupWorkspaceContext
extends UmbWorkspaceContext<UmbUserGroupRepository, UserGroupPresentationModel>
implements UmbEntityWorkspaceContextInterface<UserGroupPresentationModel | undefined>
extends UmbWorkspaceContext<UmbUserGroupRepository, UserGroupResponseModel>
implements UmbEntityWorkspaceContextInterface<UserGroupResponseModel | undefined>
{
#data = new UmbObjectState<UserGroupPresentationModel | undefined>(undefined);
#data = new UmbObjectState<UserGroupResponseModel | undefined>(undefined);
data = this.#data.asObservable();
constructor(host: UmbControllerHostElement) {
@@ -19,7 +19,7 @@ export class UmbUserGroupWorkspaceContext
const { data } = await this.repository.createScaffold(null);
this.setIsNew(true);
// TODO: Should the data be the base model or the presentation model?
this.#data.next(data as unknown as UserGroupPresentationModel);
this.#data.next(data as unknown as UserGroupResponseModel);
return { data };
}
@@ -37,7 +37,7 @@ export class UmbUserGroupWorkspaceContext
getEntityType(): string {
throw new Error('Method not implemented.');
}
getData(): UserGroupPresentationModel | undefined {
getData(): UserGroupResponseModel | undefined {
throw new Error('Method not implemented.');
}
async save() {
@@ -62,10 +62,7 @@ export class UmbUserGroupWorkspaceContext
await this.repository.delete(id);
}
updateProperty<Alias extends keyof UserGroupPresentationModel>(
alias: Alias,
value: UserGroupPresentationModel[Alias]
) {
updateProperty<Alias extends keyof UserGroupResponseModel>(alias: Alias, value: UserGroupResponseModel[Alias]) {
this.#data.update({ [alias]: value });
}
}

View File

@@ -1,13 +1,13 @@
import { UmbEntityData } from './entity.data';
import { PagedUserGroupPresentationModel, UserGroupPresentationModel } from '@umbraco-cms/backoffice/backend-api';
import { PagedUserGroupResponseModel, UserGroupResponseModel } from '@umbraco-cms/backoffice/backend-api';
// Temp mocked database
class UmbUserGroupsData extends UmbEntityData<UserGroupPresentationModel> {
constructor(data: Array<UserGroupPresentationModel>) {
class UmbUserGroupsData extends UmbEntityData<UserGroupResponseModel> {
constructor(data: Array<UserGroupResponseModel>) {
super(data);
}
getAll(): PagedUserGroupPresentationModel {
getAll(): PagedUserGroupResponseModel {
return {
total: this.data.length,
items: this.data,
@@ -15,9 +15,9 @@ class UmbUserGroupsData extends UmbEntityData<UserGroupPresentationModel> {
}
}
export const data: Array<UserGroupPresentationModel> = [
export const data: Array<UserGroupResponseModel> = [
{
$type: 'UserGroupPresentationModel',
$type: 'UserGroupResponseModel',
id: 'c630d49e-4e7b-42ea-b2bc-edc0edacb6b1',
name: 'Administrators',
icon: 'umb:medal',