SuperAPI AI 工具集

zenstack

通用与其它

查看项目

更新于 10-15 17:25

技能介绍

用途:ZenStack 是增强 Prisma ORM 的 TypeScript 工具包,在数据层加入授权与校验,用于定义访问控制策略并自动生成类型安全 API。

主要能力:在 ZModel 中用 @@allow/@@deny 定义模型级策略,支持 all/create/read/update/delete 操作,deny 优先于 allow,auth() 返回当前用户或 null;支持 RBAC、ABAC、多租户与层级访问。字段级用 @allow/@deny 控制读写,如 password 永不可读。校验属性包括 @email、@url、@length、@gt/@gte、@lt/@lte、@regex、@startsWith、@endsWith。可生成 tRPC 路由,并用 enhance(prisma, { user }) 得到遵循策略的增强客户端。check() 可在不访问数据库时测试权限,future() 用于更新结果校验。

使用方式:安装 npm install zenstack @zenstackhq/runtime,运行 npx zenstack init 初始化,npx zenstack generate 生成 Prisma schema 与产物,npx zenstack format 格式化。tRPC 插件在 ZModel 中配置 provider 与 output。v3 基于 Kysely 重写,提供 Prisma 兼容 API 与 $qb 查询构建器,支持强类型 JSON、@@delegate 多态模型、@computed 计算字段与运行时插件。

适用场景:为现有 Prisma 项目添加 RBAC、多租户数据隔离、软删除、基于时间的访问、字段级敏感数据隐藏,以及从 ZModel 生成 tRPC 路由。

限制:资料未提供具体收费、价格与平台支持信息;v3 与 v2 的迁移细节需参考对应迁移指南。