diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/user.data.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/user.data.ts index 34707e5eb8..19190bb7a0 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/user.data.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/user.data.ts @@ -1,7 +1,10 @@ +import { UmbId } from '@umbraco-cms/backoffice/id'; import { UmbEntityData } from './entity.data.js'; import { umbUserGroupData } from './user-group.data.js'; import { UmbLoggedInUser } from '@umbraco-cms/backoffice/auth'; import { + CreateUserRequestModel, + InviteUserRequestModel, UpdateUserGroupsOnUserRequestModel, UserItemResponseModel, UserResponseModel, @@ -21,6 +24,31 @@ class UmbUserData extends UmbEntityData { super(data); } + /** + * Create user + * @param {CreateUserRequestModel} data + * @memberof UmbUserData + */ + createUser = (data: CreateUserRequestModel) => { + const user: UserResponseModel = { + id: UmbId.new(), + languageIsoCode: null, + contentStartNodeIds: [], + mediaStartNodeIds: [], + avatarUrls: [], + state: UserStateModel.INACTIVE, + failedLoginAttempts: 0, + createDate: new Date().toUTCString(), + updateDate: new Date().toUTCString(), + lastLoginDate: null, + lastLockoutDate: null, + lastPasswordChangeDate: null, + ...data, + }; + + this.insert(user); + }; + /** * Get user items * @param {Array} ids @@ -104,6 +132,15 @@ class UmbUserData extends UmbEntityData { user.state = UserStateModel.ACTIVE; }); } + + invite(data: InviteUserRequestModel): void { + const invitedUser = { + status: UserStateModel.INVITED, + ...data, + }; + + this.createUser(invitedUser); + } } export const data: Array = [