@cerebruminc/yates 3.3.0 → 3.3.1-beta.dangerous.ae37008
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/dist/ast-fragments.d.ts +68 -0
- package/dist/ast-fragments.js +84 -0
- package/dist/ast-fragments.js.map +1 -0
- package/dist/escape.d.ts +2 -0
- package/dist/escape.js +36 -0
- package/dist/escape.js.map +1 -0
- package/dist/expressions.d.ts +11 -0
- package/dist/expressions.js +431 -0
- package/dist/expressions.js.map +1 -0
- package/dist/index.d.ts +103 -0
- package/dist/index.js +557 -0
- package/dist/index.js.map +1 -0
- package/package.json +9 -3
- package/.prettierrc +0 -8
- package/eslint.config.ts +0 -4
- package/renovate.json +0 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expressions.js","sourceRoot":"","sources":["../src/expressions.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { Prisma, PrismaClient } from "@prisma/client";
|
|
2
|
+
import { Expression } from "./expressions";
|
|
3
|
+
declare const VALID_OPERATIONS: readonly ["SELECT", "UPDATE", "INSERT", "DELETE"];
|
|
4
|
+
type Operation = (typeof VALID_OPERATIONS)[number];
|
|
5
|
+
export type Models = Prisma.ModelName;
|
|
6
|
+
interface ClientOptions {
|
|
7
|
+
/** The maximum amount of time Yates will wait to acquire a transaction from the database. The default value is 30 seconds. */
|
|
8
|
+
txMaxWait?: number;
|
|
9
|
+
/** The maximum amount of time the Yates query transaction can run before being canceled and rolled back. The default value is 30 seconds. */
|
|
10
|
+
txTimeout?: number;
|
|
11
|
+
}
|
|
12
|
+
export interface Ability<ContextKeys extends string, M extends Models> {
|
|
13
|
+
description?: string;
|
|
14
|
+
expression?: Expression<ContextKeys, M>;
|
|
15
|
+
operation: Operation;
|
|
16
|
+
model?: M;
|
|
17
|
+
slug?: string;
|
|
18
|
+
}
|
|
19
|
+
export type AllAbilities<ContextKeys extends string, YModels extends Models> = {
|
|
20
|
+
[model in YModels]: Ability<ContextKeys, model>;
|
|
21
|
+
}[YModels];
|
|
22
|
+
type CRUDOperations = "read" | "create" | "update" | "delete";
|
|
23
|
+
export type DefaultAbilities<ContextKeys extends string = string, YModels extends Models = Models> = {
|
|
24
|
+
[Model in YModels]: {
|
|
25
|
+
[op in CRUDOperations]: Ability<ContextKeys, Model>;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
export type CustomAbilities<ContextKeys extends string = string, YModels extends Models = Models> = {
|
|
29
|
+
[model in YModels]?: {
|
|
30
|
+
[op in string]?: Ability<ContextKeys, model>;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
export type GetContextFn<ContextKeys extends string = string> = () => {
|
|
34
|
+
role: string;
|
|
35
|
+
context?: {
|
|
36
|
+
[key in ContextKeys]: string | number | string[];
|
|
37
|
+
};
|
|
38
|
+
} | null;
|
|
39
|
+
declare module "@prisma/client" {
|
|
40
|
+
interface PrismaClient {
|
|
41
|
+
_executeRequest: (params: any) => Promise<any>;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
export declare const createAbilityName: (model: string, ability: string) => string;
|
|
45
|
+
export declare const createRoleName: (name: string) => string;
|
|
46
|
+
export declare const createClient: (prisma: PrismaClient, getContext: GetContextFn, options?: ClientOptions) => import("@prisma/client/runtime/library").DynamicClientExtensionThis<Prisma.TypeMap<import("@prisma/client/runtime/library").Args_2 & {
|
|
47
|
+
result: {};
|
|
48
|
+
model: {};
|
|
49
|
+
query: {};
|
|
50
|
+
client: {};
|
|
51
|
+
}>, Prisma.TypeMapCb, {
|
|
52
|
+
result: {};
|
|
53
|
+
model: {};
|
|
54
|
+
query: {};
|
|
55
|
+
client: {};
|
|
56
|
+
}>;
|
|
57
|
+
export declare const createRoles: <ContextKeys extends string, YModels extends Prisma.ModelName, K extends CustomAbilities<string, Prisma.ModelName> = CustomAbilities<string, Prisma.ModelName>, T = DefaultAbilities<ContextKeys, YModels> & K>({ prisma, customAbilities, getRoles, }: {
|
|
58
|
+
prisma: PrismaClient;
|
|
59
|
+
customAbilities?: Partial<K> | undefined;
|
|
60
|
+
getRoles: (abilities: T) => {
|
|
61
|
+
[role: string]: "*" | AllAbilities<ContextKeys, YModels>[];
|
|
62
|
+
};
|
|
63
|
+
}) => Promise<void>;
|
|
64
|
+
export interface SetupParams<ContextKeys extends string = string, YModels extends Models = Models, K extends CustomAbilities<ContextKeys, YModels> = CustomAbilities<ContextKeys, YModels>> {
|
|
65
|
+
/**
|
|
66
|
+
* The Prisma client instance. Used for database queries and model introspection.
|
|
67
|
+
*/
|
|
68
|
+
prisma: PrismaClient;
|
|
69
|
+
/**
|
|
70
|
+
* Custom abilities to add to the default abilities.
|
|
71
|
+
*/
|
|
72
|
+
customAbilities?: K;
|
|
73
|
+
/**
|
|
74
|
+
* A function that returns the roles for your application.
|
|
75
|
+
* This is paramaterised by the abilities, so you can use it to create roles that are a combination of abilities.
|
|
76
|
+
*/
|
|
77
|
+
getRoles: (abilities: DefaultAbilities<ContextKeys, YModels> & K) => {
|
|
78
|
+
[role: string]: AllAbilities<ContextKeys, YModels>[] | "*";
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* A function that returns the context for the current request.
|
|
82
|
+
* This is called on every prisma query, and is needed to determine the current user's role.
|
|
83
|
+
* You can also provide additional context here, which will be available in any RLS expressions you've defined.
|
|
84
|
+
* Returning `null` will result in the permissions being skipped entirely.
|
|
85
|
+
*/
|
|
86
|
+
getContext: GetContextFn<ContextKeys>;
|
|
87
|
+
options?: ClientOptions;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Creates an extended client that sets contextual parameters and user role on every query
|
|
91
|
+
**/
|
|
92
|
+
export declare const setup: <ContextKeys extends string = string, YModels extends Prisma.ModelName = Prisma.ModelName, K extends CustomAbilities<ContextKeys, YModels> = CustomAbilities<ContextKeys, YModels>>(params: SetupParams<ContextKeys, YModels, K>) => Promise<import("@prisma/client/runtime/library").DynamicClientExtensionThis<Prisma.TypeMap<import("@prisma/client/runtime/library").Args_2 & {
|
|
93
|
+
result: {};
|
|
94
|
+
model: {};
|
|
95
|
+
query: {};
|
|
96
|
+
client: {};
|
|
97
|
+
}>, Prisma.TypeMapCb, {
|
|
98
|
+
result: {};
|
|
99
|
+
model: {};
|
|
100
|
+
query: {};
|
|
101
|
+
client: {};
|
|
102
|
+
}>>;
|
|
103
|
+
export {};
|