Files
speckle-server/packages/frontend-2/lib/projects/helpers/visibility.ts
T
Kristaps Fabians Geikins 4db1531064 feat: "workspace" project visibility (#4704)
* WIP new visi

* test fixes

* visibility seems to work

* authz policies & authorizeResolver updated

* various test fixes

* users tests

* frontend changes

* minor adjustments

* shared test fix

* test fixes

* force rerun CI
2025-05-14 15:20:26 +03:00

27 lines
824 B
TypeScript

import { throwUncoveredError } from '@speckle/shared'
import { ProjectVisibility } from '~/lib/common/generated/gql/graphql'
export const SupportedProjectVisibility = <const>{
Public: ProjectVisibility.Public,
Private: ProjectVisibility.Private,
Workspace: ProjectVisibility.Workspace
}
export type SupportedProjectVisibility =
(typeof SupportedProjectVisibility)[keyof typeof SupportedProjectVisibility]
export const castToSupportedVisibility = (
visibility: ProjectVisibility
): SupportedProjectVisibility => {
switch (visibility) {
case ProjectVisibility.Public:
case ProjectVisibility.Unlisted:
return SupportedProjectVisibility.Public
case ProjectVisibility.Private:
case ProjectVisibility.Workspace:
return visibility
default:
throwUncoveredError(visibility)
}
}