首页 > 解决方案 > 如何根据环境在我的模式中使用 GraphQLEnumType?

问题描述

我有 2 个应用程序对某些功能使用相同的 graphQL。一个应用程序使用某个角色,第二个应用程序使用另一组角色。这是与 graphql 接口的唯一区别。

所以我在我的 NestJS/GraphQL 应用程序中创建了一个枚举值解析器。

export const UserType = new GraphQLEnumType({
  name: 'User',
  values: {
    USER: {
      value: 'USER',
    },
    VIEWER: {
      value: 'VIEWER',
    },
    ...(process.env.DOMAIN === 'admin'
      ? {
          ADMIN: {
            value: 'ADMIN',
          },
        }
      : null),
  },
});

基本上,我想根据环境生成一组模式。这样当我这样做时,npm run codegen我可以根据环境生成 FE 可以使用的 2 个不同的模式。

问题是,我不明白如何在我的.graphql查询中使用上述内容

举个例子

type CreateSubUser {
  user: UserType!
  name: String!
}

这个回报

未知类型“用户类型”

标签: graphql

解决方案


推荐阅读