Files
speckle-server/packages/server/modules/workspaces/errors/workspace.ts
T
Gergő Jedlicska 0b0853bb3c feat(workspaces): do not allow discoverablity if no verified domains (#2847)
* feat(workspaces): do not allow discoverablity if no verified domains

* test(workspaces): fix tests
2024-09-02 15:47:57 +02:00

96 lines
3.1 KiB
TypeScript

import { BaseError } from '@/modules/shared/errors/base'
export class WorkspaceAdminRequiredError extends BaseError {
static defaultMessage = 'Cannot remove last admin from a workspace'
static code = 'WORKSPACE_ADMIN_REQUIRED_ERROR'
static statusCode = 400
}
export class WorkspaceInvalidRoleError extends BaseError {
static defaultMessage = 'Invalid workspace role provided'
static code = 'WORKSPACE_INVALID_ROLE_ERROR'
static statusCode = 400
}
export class WorkspaceInvalidLogoError extends BaseError {
static defaultMessage = 'Provided logo is not valid'
static code = 'WORKSPACE_INVALID_LOGO_ERROR'
static statusCode = 400
}
export class WorkspaceInvalidDescriptionError extends BaseError {
static defaultMessage = 'Provided description is too long'
static code = 'WORKSPACE_INVALID_DESCRIPTION_ERROR'
static statusCode = 400
}
export class WorkspaceNoVerifiedDomainsError extends BaseError {
static defaultMessage = 'Invalid operation, the workspace has no verified domains'
static code = 'WORKSPACE_NO_VERIFIED_DOMAINS'
static statusCode = 400
}
export class WorkspaceQueryError extends BaseError {
static defaultMessage = 'Unexpected error during query operation'
static code = 'WORKSPACE_QUERY_ERROR'
}
export class WorkspacesNotAuthorizedError extends BaseError {
static defaultMessage = 'You are not authorized'
static code = 'WORKSPACES_NOT_AUTHORIZED_ERROR'
static statusCode = 401
}
export class WorkspacesNotYetImplementedError extends BaseError {
static defaultMessage = 'Not yet implemented'
static code = 'WORKSPACES_NOT_YET_IMPLEMENTED_ERROR'
}
export class WorkspaceNotFoundError extends BaseError {
static defaultMessage = 'Workspace not found'
static code = 'WORKSPACE_NOT_FOUND_ERROR'
static statusCode = 404
}
export class WorkspaceNotDiscoverableError extends BaseError {
static defaultMessage = 'Workspace is not discoverable'
static code = 'WORKSPACE_NOT_DISCOVERABLE'
static statusCode = 400
}
export class WorkspaceNotJoinableError extends BaseError {
static defaultMessage = 'Workspace is not joinable'
static code = 'WORKSPACE_NOT_JOINABLE'
static statusCode = 400
}
export class WorkspaceJoinNotAllowedError extends BaseError {
static defaultMessage = 'You do not have permissions to join this workspace'
static code = 'WORKSPACE_JOIN_NOT_ALLOWED'
static statusCode = 403
}
export class WorkspaceUnverifiedDomainError extends BaseError {
static defaultMessage = 'Cannot add unverified domain to workspace'
static code = 'WORKSPACE_UNVERIFIED_DOMAIN_ERROR'
static statusCode = 403
}
export class WorkspaceDomainBlockedError extends BaseError {
static defaultMessage = 'Cannot add blocked domain to workspace'
static code = 'WORKSPACE_DOMAIN_BLOCKED_ERROR'
static statusCode = 400
}
export class WorkspaceProtectedError extends BaseError {
static defaultMessage = 'Workspace protected'
static code = 'WORKSPACE_PROTECTED'
static statusCode = 400
}
export class WorkspaceDomainsInvalidState extends BaseError {
static defaultMessage = 'Workspace has no verified domains'
static code = 'WORKSPACE_NO_VERIFIED_DOMAINS'
static statusCode = 500
}