diff --git a/packages/core/utils/src/dml/__tests__/create-graphql.spec.ts b/packages/core/utils/src/dml/__tests__/create-graphql.spec.ts index 88b026df39..5ed1d84594 100644 --- a/packages/core/utils/src/dml/__tests__/create-graphql.spec.ts +++ b/packages/core/utils/src/dml/__tests__/create-graphql.spec.ts @@ -20,7 +20,9 @@ describe("GraphQL builder", () => { spend_limit: model.bigNumber(), phones: model.array(), group: model.belongsTo(() => group, { mappedBy: "users" }), - role: model.enum(["moderator", "admin", "guest"]).default("guest"), + role: model + .enum(["moderator", "admin", "guest", "new_user"]) + .default("guest"), tags: model.manyToMany(() => tag, { pivotTable: "custom_user_tags", }), @@ -56,9 +58,10 @@ describe("GraphQL builder", () => { } enum UserRoleEnum { - moderator - admin - guest + MODERATOR + ADMIN + GUEST + NEW_USER } type User { diff --git a/packages/core/utils/src/dml/helpers/graphql-builder/get-attribute.ts b/packages/core/utils/src/dml/helpers/graphql-builder/get-attribute.ts index 2938fa0689..b89e412484 100644 --- a/packages/core/utils/src/dml/helpers/graphql-builder/get-attribute.ts +++ b/packages/core/utils/src/dml/helpers/graphql-builder/get-attribute.ts @@ -43,7 +43,8 @@ export function getGraphQLAttributeFromDMLPropety( const enumName = toPascalCase(modelName + "_" + field.fieldName + "Enum") const enumValues = field.dataType .options!.choices.map((value) => { - return ` ${value}` + const enumValue = value.replace(/[^a-z0-9_]/gi, "_").toUpperCase() + return ` ${enumValue}` }) .join("\n")