如何在 prisma 客户端中获取枚举?

t81*_*101 32 postgresql node.js prisma

我可以在客户端获取模型的枚举值列表,例如选择选项吗?

示例枚举

enum user_type {
    superadmin
    admin
    user
}
Run Code Online (Sandbox Code Playgroud)

我希望将其作为客户端的选择选项。我怎样才能将它们作为 JSON 数据获取?

Tas*_*mam 51

您可以user_type在应用程序代码中访问枚举,如下所示:

import {user_type } from "@prisma/client";

let foo: user_type = "superadmin";
// use like any other type/enum
Run Code Online (Sandbox Code Playgroud)

您计划如何将其连接到客户端或将其发送到客户端取决于您。通常,Prisma 类型驻留在代码的服务器端,而不是客户端,因此可能很难直接在客户端代码中导入 prisma 类型。

这就是 Prismauser_type在底层定义枚举的方式。

// file: node_modules/.prisma/client/index.d.ts
export const user_type: {
  superadmin: 'superadmin',
  admin: 'admin',
  user: 'user'
};
Run Code Online (Sandbox Code Playgroud)

如果您愿意,您可以将其复制并粘贴到您的客户端代码中。