Spaces:
Build error
Build error
twenty / packages /twenty-server /src /engine /metadata-modules /command-menu-item /command-menu-item.exception.ts
| import { type MessageDescriptor } from '@lingui/core'; | |
| import { msg } from '@lingui/core/macro'; | |
| import { assertUnreachable } from 'twenty-shared/utils'; | |
| import { CustomException } from 'src/utils/custom-exception'; | |
| export enum CommandMenuItemExceptionCode { | |
| COMMAND_MENU_ITEM_NOT_FOUND = 'COMMAND_MENU_ITEM_NOT_FOUND', | |
| INVALID_COMMAND_MENU_ITEM_INPUT = 'INVALID_COMMAND_MENU_ITEM_INPUT', | |
| WORKFLOW_OR_FRONT_COMPONENT_REQUIRED = 'WORKFLOW_OR_FRONT_COMPONENT_REQUIRED', | |
| COMMAND_MENU_ITEM_CANNOT_BE_RESET = 'COMMAND_MENU_ITEM_CANNOT_BE_RESET', | |
| } | |
| const getCommandMenuItemExceptionUserFriendlyMessage = ( | |
| code: CommandMenuItemExceptionCode, | |
| ) => { | |
| switch (code) { | |
| case CommandMenuItemExceptionCode.COMMAND_MENU_ITEM_NOT_FOUND: | |
| return msg`Command menu item not found.`; | |
| case CommandMenuItemExceptionCode.INVALID_COMMAND_MENU_ITEM_INPUT: | |
| return msg`Invalid command menu item input.`; | |
| case CommandMenuItemExceptionCode.WORKFLOW_OR_FRONT_COMPONENT_REQUIRED: | |
| return msg`Either workflow version or front component is required.`; | |
| case CommandMenuItemExceptionCode.COMMAND_MENU_ITEM_CANNOT_BE_RESET: | |
| return msg`Custom command menu item cannot be reset to default.`; | |
| default: | |
| assertUnreachable(code); | |
| } | |
| }; | |
| export class CommandMenuItemException extends CustomException<CommandMenuItemExceptionCode> { | |
| constructor( | |
| message: string, | |
| code: CommandMenuItemExceptionCode, | |
| { userFriendlyMessage }: { userFriendlyMessage?: MessageDescriptor } = {}, | |
| ) { | |
| super(message, code, { | |
| userFriendlyMessage: | |
| userFriendlyMessage ?? | |
| getCommandMenuItemExceptionUserFriendlyMessage(code), | |
| }); | |
| } | |
| } | |