diff --git a/src/components/Header/components/CurrentUserModal/CurrentUserModal.tsx b/src/components/Header/components/CurrentUserModal/CurrentUserModal.tsx index 29a3c16..aaa29c2 100644 --- a/src/components/Header/components/CurrentUserModal/CurrentUserModal.tsx +++ b/src/components/Header/components/CurrentUserModal/CurrentUserModal.tsx @@ -83,6 +83,7 @@ export const CurrentUserModal = ({ open, onClose, user }: UserModalProps) => { name={`app_roles.${index}.role`} label="Role" options={[ + { value: UserRole.NoAccess, name: 'No access' }, { value: UserRole.Admin, name: 'Admin' }, { value: UserRole.User, name: 'User' }, ]} @@ -121,9 +122,12 @@ export const CurrentUserModal = ({ open, onClose, user }: UserModalProps) => {
diff --git a/src/components/Header/components/CurrentUserModal/consts.ts b/src/components/Header/components/CurrentUserModal/consts.ts index abda708..1b02fa3 100644 --- a/src/components/Header/components/CurrentUserModal/consts.ts +++ b/src/components/Header/components/CurrentUserModal/consts.ts @@ -12,7 +12,7 @@ export const appAccessList = [ label: 'Wordpress', }, { - name: 'next-cloud', + name: 'nextcloud', image: '/assets/nextcloud.svg', label: 'NextCloud', }, @@ -30,19 +30,19 @@ const initialAppRoles = [ }, { name: 'wekan', - role: UserRole.User, + role: UserRole.NoAccess, }, { name: 'wordpress', - role: UserRole.User, + role: UserRole.NoAccess, }, { - name: 'next-cloud', - role: UserRole.User, + name: 'nextcloud', + role: UserRole.NoAccess, }, { name: 'zulip', - role: UserRole.User, + role: UserRole.NoAccess, }, ]; diff --git a/src/modules/users/components/UserModal/UserModal.tsx b/src/modules/users/components/UserModal/UserModal.tsx index b31d218..a810f30 100644 --- a/src/modules/users/components/UserModal/UserModal.tsx +++ b/src/modules/users/components/UserModal/UserModal.tsx @@ -133,6 +133,7 @@ export const UserModal = ({ open, onClose, userId, setUserId }: UserModalProps) name={`app_roles.${index}.role`} label="Role" options={[ + { value: UserRole.NoAccess, name: 'No access' }, { value: UserRole.User, name: 'User' }, { value: UserRole.Admin, name: 'Admin' }, ]} @@ -194,6 +195,7 @@ export const UserModal = ({ open, onClose, userId, setUserId }: UserModalProps) control={control} name={`app_roles.${index}.role`} options={[ + { value: UserRole.NoAccess, name: 'No Access' }, { value: UserRole.User, name: 'User' }, { value: UserRole.Admin, name: 'Admin' }, ]} diff --git a/src/modules/users/components/UserModal/consts.ts b/src/modules/users/components/UserModal/consts.ts index a47d6de..1b02fa3 100644 --- a/src/modules/users/components/UserModal/consts.ts +++ b/src/modules/users/components/UserModal/consts.ts @@ -30,19 +30,19 @@ const initialAppRoles = [ }, { name: 'wekan', - role: UserRole.User, + role: UserRole.NoAccess, }, { name: 'wordpress', - role: UserRole.User, + role: UserRole.NoAccess, }, { name: 'nextcloud', - role: UserRole.User, + role: UserRole.NoAccess, }, { name: 'zulip', - role: UserRole.User, + role: UserRole.NoAccess, }, ]; diff --git a/src/services/users/transformations.ts b/src/services/users/transformations.ts index 5f1c2f7..e296df9 100644 --- a/src/services/users/transformations.ts +++ b/src/services/users/transformations.ts @@ -1,16 +1,38 @@ import { AppRoles, User, UserRole } from './types'; +const transformRoleById = (roleId: any): UserRole => { + switch (roleId) { + case 1: + return UserRole.Admin; + case 2: + return UserRole.User; + default: + return UserRole.NoAccess; + } +}; + +const transformRoleIdByRole = (role: UserRole | null): number | null => { + switch (role) { + case UserRole.Admin: + return 1; + case UserRole.User: + return 2; + default: + return null; + } +}; + export const transformAppRoles = (data: any): AppRoles => { - const resolvedAdminRole = data.role_id === 1 ? UserRole.Admin : UserRole.User; + const userRole = transformRoleById(data.role_id); return { name: data.name ?? '', - role: resolvedAdminRole ?? UserRole.User, + role: userRole, }; }; export const transformRequestAppRoles = (data: AppRoles): any => { - const resolvedRequestRole = data.role === UserRole.Admin ? 1 : null; + const resolvedRequestRole = transformRoleIdByRole(data.role) ?? null; return { name: data.name ?? '', diff --git a/src/services/users/types.ts b/src/services/users/types.ts index 9245247..f97f435 100644 --- a/src/services/users/types.ts +++ b/src/services/users/types.ts @@ -13,6 +13,7 @@ export interface FormUser extends User { } export enum UserRole { + NoAccess = 'no_access', Admin = 'admin', User = 'user', }