mapping after new models
This commit is contained in:
@@ -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',
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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(', ');
|
||||
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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,
|
||||
};
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
Reference in New Issue
Block a user