mapping after new models

This commit is contained in:
Mads Rasmussen
2024-02-05 21:10:49 +01:00
parent b437ecd4fd
commit 0649c0d41a
9 changed files with 37 additions and 36 deletions

View File

@@ -6,7 +6,7 @@ export type UmbMockUserModel = UserResponseModel & UserItemResponseModel;
export const data: Array<UmbMockUserModel> = [
{
id: 'bca6c733-a63d-4353-a271-9a8b6bcca8bd',
contentStartNodeIds: [],
documentStartNodeIds: [],
mediaStartNodeIds: [],
name: 'Umbraco User',
email: 'noreply@umbraco.com',
@@ -24,7 +24,7 @@ export const data: Array<UmbMockUserModel> = [
},
{
id: '82e11d3d-b91d-43c9-9071-34d28e62e81d',
contentStartNodeIds: ['simple-document-id'],
documentStartNodeIds: ['simple-document-id'],
mediaStartNodeIds: ['f2f81a40-c989-4b6b-84e2-057cecd3adc1'],
name: 'Amelie Walker',
email: 'awalker1@domain.com',
@@ -42,7 +42,7 @@ export const data: Array<UmbMockUserModel> = [
},
{
id: 'aa1d83a9-bc7f-47d2-b288-58d8a31f5017',
contentStartNodeIds: [],
documentStartNodeIds: [],
mediaStartNodeIds: [],
name: 'Oliver Kim',
email: 'okim1@domain.com',
@@ -60,7 +60,7 @@ export const data: Array<UmbMockUserModel> = [
},
{
id: 'ff2f4a50-d3d4-4bc4-869d-c7948c160e54',
contentStartNodeIds: [],
documentStartNodeIds: [],
mediaStartNodeIds: [],
name: 'Eliana Nieves',
email: 'enieves1@domain.com',
@@ -78,7 +78,7 @@ export const data: Array<UmbMockUserModel> = [
},
{
id: 'c290c6d9-9f12-4838-8567-621b52a178de',
contentStartNodeIds: [],
documentStartNodeIds: [],
mediaStartNodeIds: [],
name: 'Jasmine Patel',
email: 'jpatel1@domain.com',

View File

@@ -62,7 +62,7 @@ class UmbUserMockDB extends UmbEntityMockDbBase<UmbMockUserModel> {
hasAccessToAllLanguages: true,
languageIsoCode: firstUser.languageIsoCode,
languages: [],
documentStartNodeIds: firstUser.contentStartNodeIds,
documentStartNodeIds: firstUser.documentStartNodeIds,
mediaStartNodeIds: firstUser.mediaStartNodeIds,
permissions,
};
@@ -163,7 +163,7 @@ const createMockMapper = (item: CreateUserRequestModel): UmbMockUserModel => {
userGroupIds: item.userGroupIds,
id: UmbId.new(),
languageIsoCode: null,
contentStartNodeIds: [],
documentStartNodeIds: [],
mediaStartNodeIds: [],
avatarUrls: [],
state: UserStateModel.INACTIVE,
@@ -184,7 +184,7 @@ const detailResponseMapper = (item: UmbMockUserModel): UserResponseModel => {
userGroupIds: item.userGroupIds,
id: item.id,
languageIsoCode: item.languageIsoCode,
contentStartNodeIds: item.contentStartNodeIds,
documentStartNodeIds: item.documentStartNodeIds,
mediaStartNodeIds: item.mediaStartNodeIds,
avatarUrls: item.avatarUrls,
state: item.state,

View File

@@ -46,11 +46,11 @@ export class UmbUserCollectionServerDataSource implements UmbCollectionDataSourc
email: item.email,
userName: item.userName,
name: item.name,
userGroupIds: item.userGroupIds,
userGroupUniques: item.userGroupIds,
unique: item.id,
languageIsoCode: item.languageIsoCode || null,
contentStartNodeIds: item.contentStartNodeIds,
mediaStartNodeIds: item.mediaStartNodeIds,
documentStartNodeUniques: item.documentStartNodeIds,
mediaStartNodeUniques: item.mediaStartNodeIds,
avatarUrls: item.avatarUrls,
state: item.state,
failedLoginAttempts: item.failedLoginAttempts,

View File

@@ -107,7 +107,7 @@ export class UmbUserGridCollectionViewElement extends UmbLitElement {
#renderUserGroupNames(user: UmbUserDetailModel) {
const userGroupNames = this.#userGroups
.filter((userGroup) => user.userGroupIds?.includes(userGroup.unique))
.filter((userGroup) => user.userGroupUniques?.includes(userGroup.unique))
.map((userGroup) => userGroup.name)
.join(', ');

View File

@@ -87,7 +87,7 @@ export class UmbUserTableCollectionViewElement extends UmbLitElement {
async #observeUserGroups() {
if (this._users.length === 0) return;
const userGroupsIds = [...new Set(this._users.flatMap((user) => user.userGroupIds))];
const userGroupsIds = [...new Set(this._users.flatMap((user) => user.userGroupUniques))];
const { asObservable } = await this.#userGroupItemRepository.requestItems(userGroupsIds);
this.observe(
asObservable(),
@@ -121,7 +121,7 @@ export class UmbUserTableCollectionViewElement extends UmbLitElement {
},
{
columnAlias: 'userGroup',
value: this.#getUserGroupNames(user.userGroupIds ?? []),
value: this.#getUserGroupNames(user.userGroupUniques ?? []),
},
{
columnAlias: 'userLastLogin',

View File

@@ -45,7 +45,7 @@ export class UmbCreateUserModalElement extends UmbModalBaseElement {
userScaffold.name = name;
userScaffold.email = email;
userScaffold.userName = email;
userScaffold.userGroupIds = userGroups;
userScaffold.userGroupUniques = userGroups;
// TODO: figure out when to use email or username
const { data } = await this.#userDetailRepository.create(userScaffold);

View File

@@ -34,7 +34,7 @@ export class UmbUserServerDataSource implements UmbDetailDataSource<UmbUserDetai
async createScaffold() {
const data: UmbUserDetailModel = {
avatarUrls: [],
contentStartNodeIds: [],
documentStartNodeUniques: [],
createDate: null,
email: '',
entityType: UMB_USER_ENTITY_TYPE,
@@ -43,12 +43,12 @@ export class UmbUserServerDataSource implements UmbDetailDataSource<UmbUserDetai
lastLockoutDate: null,
lastLoginDate: null,
lastPasswordChangeDate: null,
mediaStartNodeIds: [],
mediaStartNodeUniques: [],
name: '',
state: null,
unique: UmbId.new(),
updateDate: null,
userGroupIds: [],
userGroupUniques: [],
userName: '',
};
@@ -73,7 +73,7 @@ export class UmbUserServerDataSource implements UmbDetailDataSource<UmbUserDetai
// TODO: make data mapper to prevent errors
const dataType: UmbUserDetailModel = {
avatarUrls: data.avatarUrls,
contentStartNodeIds: data.contentStartNodeIds,
documentStartNodeUniques: data.documentStartNodeIds,
createDate: data.createDate,
email: data.email,
entityType: UMB_USER_ENTITY_TYPE,
@@ -82,12 +82,12 @@ export class UmbUserServerDataSource implements UmbDetailDataSource<UmbUserDetai
lastLockoutDate: data.lastLockoutDate || null,
lastLoginDate: data.lastLoginDate || null,
lastPasswordChangeDate: data.lastPasswordChangeDate || null,
mediaStartNodeIds: data.mediaStartNodeIds,
mediaStartNodeUniques: data.mediaStartNodeIds,
name: data.name,
state: data.state,
unique: data.id,
updateDate: data.updateDate,
userGroupIds: data.userGroupIds,
userGroupUniques: data.userGroupIds,
userName: data.userName,
};
@@ -107,7 +107,7 @@ export class UmbUserServerDataSource implements UmbDetailDataSource<UmbUserDetai
const requestBody: CreateUserRequestModel = {
email: model.email,
name: model.name,
userGroupIds: model.userGroupIds,
userGroupIds: model.userGroupUniques,
userName: model.userName,
};
@@ -137,12 +137,12 @@ export class UmbUserServerDataSource implements UmbDetailDataSource<UmbUserDetai
// TODO: make data mapper to prevent errors
const requestBody: UpdateUserRequestModel = {
documentStartNodeIds: model.contentStartNodeIds,
documentStartNodeIds: model.documentStartNodeUniques,
email: model.email,
languageIsoCode: model.languageIsoCode || '',
mediaStartNodeIds: model.mediaStartNodeIds,
mediaStartNodeIds: model.mediaStartNodeUniques,
name: model.name,
userGroupIds: model.userGroupIds,
userGroupIds: model.userGroupUniques,
userName: model.userName,
};

View File

@@ -6,11 +6,11 @@ export interface UmbUserDetailModel {
email: string;
userName: string;
name: string;
userGroupIds: Array<string>;
userGroupUniques: Array<string>;
unique: string;
languageIsoCode: string | null;
contentStartNodeIds: Array<string>;
mediaStartNodeIds: Array<string>;
documentStartNodeUniques: Array<string>;
mediaStartNodeUniques: Array<string>;
avatarUrls: Array<string>;
state: UserStateModel | null;
failedLoginAttempts: number;

View File

@@ -26,17 +26,17 @@ export class UmbUserWorkspaceAccessSettingsElement extends UmbLitElement {
#onUserGroupsChange(event: UmbChangeEvent) {
const target = event.target as UmbUserGroupInputElement;
this.#userWorkspaceContext?.updateProperty('userGroupIds', target.selectedIds);
this.#userWorkspaceContext?.updateProperty('userGroupUniques', target.selectedIds);
}
#onDocumentStartNodeChange(event: UmbChangeEvent) {
const target = event.target as UmbInputDocumentElement;
this.#userWorkspaceContext?.updateProperty('contentStartNodeIds', target.selectedIds);
this.#userWorkspaceContext?.updateProperty('documentStartNodeUniques', target.selectedIds);
}
#onMediaStartNodeChange(event: UmbChangeEvent) {
const target = event.target as UmbInputMediaElement;
this.#userWorkspaceContext?.updateProperty('mediaStartNodeIds', target.selectedIds);
this.#userWorkspaceContext?.updateProperty('mediaStartNodeUniques', target.selectedIds);
}
render() {
@@ -48,14 +48,14 @@ export class UmbUserWorkspaceAccessSettingsElement extends UmbLitElement {
description="${this.localize.term('user_groupsHelp')}">
<umb-user-group-input
slot="editor"
.selectedIds=${this._user?.userGroupIds ?? []}
.selectedIds=${this._user?.userGroupUniques ?? []}
@change=${this.#onUserGroupsChange}></umb-user-group-input>
</umb-property-layout>
<umb-property-layout
label=${this.localize.term('user_startnodes')}
description=${this.localize.term('user_startnodeshelp')}>
<umb-input-document
.selectedIds=${this._user?.contentStartNodeIds ?? []}
.selectedIds=${this._user?.documentStartNodeUniques ?? []}
@change=${this.#onDocumentStartNodeChange}
slot="editor"></umb-input-document>
</umb-property-layout>
@@ -63,7 +63,7 @@ export class UmbUserWorkspaceAccessSettingsElement extends UmbLitElement {
label=${this.localize.term('user_mediastartnodes')}
description=${this.localize.term('user_mediastartnodeshelp')}>
<umb-input-media
.selectedIds=${this._user?.mediaStartNodeIds ?? []}
.selectedIds=${this._user?.mediaStartNodeUniques ?? []}
@change=${this.#onMediaStartNodeChange}
slot="editor"></umb-input-media>
</umb-property-layout>
@@ -85,12 +85,13 @@ export class UmbUserWorkspaceAccessSettingsElement extends UmbLitElement {
#renderDocumentStartNodes() {
return html` <b><umb-localize key="sections_content">Content</umb-localize></b>
<umb-user-document-start-node .uniques=${this._user?.contentStartNodeIds || []}></umb-user-document-start-node>`;
<umb-user-document-start-node
.uniques=${this._user?.documentStartNodeUniques || []}></umb-user-document-start-node>`;
}
#renderMediaStartNodes() {
return html` <b><umb-localize key="sections_media">Media</umb-localize></b>
<umb-user-media-start-node .uniques=${this._user?.mediaStartNodeIds || []}></umb-user-media-start-node>`;
<umb-user-media-start-node .uniques=${this._user?.mediaStartNodeUniques || []}></umb-user-media-start-node>`;
}
static styles = [