Files
speckle-server/packages/frontend-2/lib/workspaces/helpers/roles.ts
T
Kristaps Fabians Geikins 2bb7802fb9 feat: accept & decline workspace invite as a registered member (#2675)
* 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
2024-08-19 13:01:25 +03:00

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
}
}