处理枚举,其值包含graphql中的空白

发布于 2025-02-14 01:42:01 字数 802 浏览 1 评论 0原文

我的项目在Nestjs/GraphQl中。我的枚举类型与以下内容类似:

enum UserRoles {
    admin = 'admin',
    superAdmin = 'super admin'
}

registerEnumType(UserRoles, { name: 'UserRoles' })

在数据库中,用户角色被存储为此枚举的值,即'admin''Super Admin'。但是,GraphQl从枚举密钥中获取枚举元素,

enum UserRoles {
    admin
    superAdmin
}

但是已经生成,然后我在'SuperAdmin''Super Admin'之间遇到冲突。

我尝试重写我的枚举

enum UserRoles {
    admin = 'admin',
    'super admin' = 'super admin'
}

,但您可以猜到,GraphQl无法解析此枚举,并在构建时丢了错误。

我如何处理这种情况。除了将数据库中的每个文档从“超级admin”更改为 'SuperAdmin'之外,还有什么可能的解决方案。

My project is in nestjs/graphql. I have a similar enum type to the following:

enum UserRoles {
    admin = 'admin',
    superAdmin = 'super admin'
}

registerEnumType(UserRoles, { name: 'UserRoles' })

In the database, user roles are stored as the values of this enum i.e. 'admin' and 'super admin'. However graphql takes enum elements from enum keys and has generated

enum UserRoles {
    admin
    superAdmin
}

However, then I'm getting conflicts between 'superAdmin' and 'super admin'.

I tried rewriting my enum as

enum UserRoles {
    admin = 'admin',
    'super admin' = 'super admin'
}

But then, as you can guess, graphql could not parse this and throwed an error while building.

How can I handle this kind of situations. What are the possible solutions except changing every document in the database from 'super admin' to 'superAdmin'.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文