2bb7802fb9
* abstract base invite banner * WIP banner actions * WIP modify obj * minor fix * invite accept/decline cache mutations * banner accept/decline basically works * new block for accepting workspace invite * WIP wrong account flow * login/registration block changes * add email invite related changes * add new email FE * add email w/ invite works * final adjustments * minor fixes * addressing cr comments * no-FF support * extra workspace ff checks
38 lines
948 B
TypeScript
38 lines
948 B
TypeScript
import { Roles, type WorkspaceRoles } from '@speckle/shared'
|
|
import { WorkspaceRole } from '~/lib/common/generated/gql/graphql'
|
|
|
|
export type SelectableWorkspaceRole = WorkspaceRoles | 'delete'
|
|
|
|
export const roleSelectItems: Record<
|
|
SelectableWorkspaceRole | string,
|
|
{ id: SelectableWorkspaceRole; title: string }
|
|
> = {
|
|
[Roles.Workspace.Admin]: {
|
|
id: Roles.Workspace.Admin,
|
|
title: 'Admin'
|
|
},
|
|
[Roles.Workspace.Member]: {
|
|
id: Roles.Workspace.Member,
|
|
title: 'Member'
|
|
},
|
|
[Roles.Workspace.Guest]: {
|
|
id: Roles.Workspace.Guest,
|
|
title: 'Guest'
|
|
},
|
|
['delete']: {
|
|
id: 'delete',
|
|
title: 'Remove'
|
|
}
|
|
}
|
|
|
|
export const mapMainRoleToGqlWorkspaceRole = (role: WorkspaceRoles): WorkspaceRole => {
|
|
switch (role) {
|
|
case Roles.Workspace.Admin:
|
|
return WorkspaceRole.Admin
|
|
case Roles.Workspace.Member:
|
|
return WorkspaceRole.Member
|
|
case Roles.Workspace.Guest:
|
|
return WorkspaceRole.Guest
|
|
}
|
|
}
|