f6d0af5fb8
Error available in REST API <img width="1360" height="653" alt="Screenshot 2025-08-13 at 11 48 19" src="https://github.com/user-attachments/assets/a055859d-ce54-4ff6-9aba-fac48e03a98d" /> `curl http://localhost:3000/rest/people \ --request POST \ --header 'Content-Type: application/json' \ --data '{ "emails": { "primaryEmail": "test@test.com" } }'` closes https://github.com/twentyhq/twenty/issues/13567
24 lines
774 B
TypeScript
24 lines
774 B
TypeScript
import { UserInputError } from 'src/engine/core-modules/graphql/utils/graphql-errors.util';
|
|
import {
|
|
type TwentyORMException,
|
|
TwentyORMExceptionCode,
|
|
} from 'src/engine/twenty-orm/exceptions/twenty-orm.exception';
|
|
|
|
export const twentyORMGraphqlApiExceptionHandler = (
|
|
error: TwentyORMException,
|
|
) => {
|
|
switch (error.code) {
|
|
case TwentyORMExceptionCode.INVALID_INPUT:
|
|
case TwentyORMExceptionCode.DUPLICATE_ENTRY_DETECTED:
|
|
case TwentyORMExceptionCode.CONNECT_RECORD_NOT_FOUND:
|
|
case TwentyORMExceptionCode.CONNECT_NOT_ALLOWED:
|
|
case TwentyORMExceptionCode.CONNECT_UNIQUE_CONSTRAINT_ERROR:
|
|
throw new UserInputError(error.message, {
|
|
userFriendlyMessage: error.userFriendlyMessage,
|
|
});
|
|
default: {
|
|
throw error;
|
|
}
|
|
}
|
|
};
|