@cerebruminc/yates 3.0.1 → 3.0.2-beta.dangerous.50afce2
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/expressions.js +56 -0
- package/dist/expressions.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +44 -20
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [3.0.2](https://github.com/cerebruminc/yates/compare/v3.0.1...v3.0.2) (2023-12-15)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* allow non-scalar values when using client expressions ([9fc0a52](https://github.com/cerebruminc/yates/commit/9fc0a524516c286f6b10ec4a1441e8711ffc251f))
|
|
9
|
+
|
|
3
10
|
## [3.0.1](https://github.com/cerebruminc/yates/compare/v3.0.0...v3.0.1) (2023-12-11)
|
|
4
11
|
|
|
5
12
|
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates an AST fragment that will check if a column value exists in a JSONB array stored in a `current_setting`
|
|
3
|
+
* The AST fragment represents SQL that looks like this:
|
|
4
|
+
* = ANY (SELECT jsonb_array_elements_text(current_setting('ctx.my_context_value')::jsonb))
|
|
5
|
+
*/
|
|
6
|
+
export declare const jsonb_array_elements_text: (setting: string) => {
|
|
7
|
+
type: string;
|
|
8
|
+
name: string;
|
|
9
|
+
args: {
|
|
10
|
+
type: string;
|
|
11
|
+
value: {
|
|
12
|
+
ast: {
|
|
13
|
+
with: null;
|
|
14
|
+
type: string;
|
|
15
|
+
options: null;
|
|
16
|
+
distinct: {
|
|
17
|
+
type: null;
|
|
18
|
+
};
|
|
19
|
+
columns: {
|
|
20
|
+
type: string;
|
|
21
|
+
expr: {
|
|
22
|
+
type: string;
|
|
23
|
+
name: string;
|
|
24
|
+
args: {
|
|
25
|
+
type: string;
|
|
26
|
+
value: {
|
|
27
|
+
type: string;
|
|
28
|
+
keyword: string;
|
|
29
|
+
expr: {
|
|
30
|
+
type: string;
|
|
31
|
+
name: string;
|
|
32
|
+
args: {
|
|
33
|
+
type: string;
|
|
34
|
+
value: {
|
|
35
|
+
type: string;
|
|
36
|
+
value: string;
|
|
37
|
+
}[];
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
as: null;
|
|
41
|
+
symbol: string;
|
|
42
|
+
target: {
|
|
43
|
+
dataType: string;
|
|
44
|
+
};
|
|
45
|
+
arrows: never[];
|
|
46
|
+
properties: never[];
|
|
47
|
+
}[];
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
as: null;
|
|
51
|
+
}[];
|
|
52
|
+
into: {
|
|
53
|
+
position: null;
|
|
54
|
+
};
|
|
55
|
+
from: null;
|
|
56
|
+
where: null;
|
|
57
|
+
groupby: null;
|
|
58
|
+
having: null;
|
|
59
|
+
orderby: null;
|
|
60
|
+
limit: {
|
|
61
|
+
seperator: string;
|
|
62
|
+
value: never[];
|
|
63
|
+
};
|
|
64
|
+
window: null;
|
|
65
|
+
};
|
|
66
|
+
}[];
|
|
67
|
+
};
|
|
68
|
+
};
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
exports.jsonb_array_elements_text = void 0;
|
|
4
|
+
var escape_1 = require("./escape");
|
|
5
|
+
/**
|
|
6
|
+
* Generates an AST fragment that will check if a column value exists in a JSONB array stored in a `current_setting`
|
|
7
|
+
* The AST fragment represents SQL that looks like this:
|
|
8
|
+
* = ANY (SELECT jsonb_array_elements_text(current_setting('ctx.my_context_value')::jsonb))
|
|
9
|
+
*/
|
|
10
|
+
var jsonb_array_elements_text = function (setting) {
|
|
11
|
+
return {
|
|
12
|
+
type: "function",
|
|
13
|
+
name: "ANY",
|
|
14
|
+
args: {
|
|
15
|
+
type: "expr_list",
|
|
16
|
+
value: [
|
|
17
|
+
{
|
|
18
|
+
ast: {
|
|
19
|
+
"with": null,
|
|
20
|
+
type: "select",
|
|
21
|
+
options: null,
|
|
22
|
+
distinct: {
|
|
23
|
+
type: null
|
|
24
|
+
},
|
|
25
|
+
columns: [
|
|
26
|
+
{
|
|
27
|
+
type: "expr",
|
|
28
|
+
expr: {
|
|
29
|
+
type: "function",
|
|
30
|
+
name: "jsonb_array_elements_text",
|
|
31
|
+
args: {
|
|
32
|
+
type: "expr_list",
|
|
33
|
+
value: [
|
|
34
|
+
{
|
|
35
|
+
type: "cast",
|
|
36
|
+
keyword: "cast",
|
|
37
|
+
expr: {
|
|
38
|
+
type: "function",
|
|
39
|
+
name: "current_setting",
|
|
40
|
+
args: {
|
|
41
|
+
type: "expr_list",
|
|
42
|
+
value: [
|
|
43
|
+
{
|
|
44
|
+
type: "parameter",
|
|
45
|
+
value: (0, escape_1.escapeLiteral)(setting.replace(/^___yates_context_/, ""))
|
|
46
|
+
},
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
as: null,
|
|
51
|
+
symbol: "::",
|
|
52
|
+
target: {
|
|
53
|
+
dataType: "jsonb"
|
|
54
|
+
},
|
|
55
|
+
arrows: [],
|
|
56
|
+
properties: []
|
|
57
|
+
},
|
|
58
|
+
]
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
as: null
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
into: {
|
|
65
|
+
position: null
|
|
66
|
+
},
|
|
67
|
+
from: null,
|
|
68
|
+
where: null,
|
|
69
|
+
groupby: null,
|
|
70
|
+
having: null,
|
|
71
|
+
orderby: null,
|
|
72
|
+
limit: {
|
|
73
|
+
seperator: "",
|
|
74
|
+
value: []
|
|
75
|
+
},
|
|
76
|
+
window: null
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
]
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
exports.jsonb_array_elements_text = jsonb_array_elements_text;
|
|
84
|
+
//# sourceMappingURL=ast-fragments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ast-fragments.js","sourceRoot":"","sources":["../src/ast-fragments.ts"],"names":[],"mappings":";;;AAAA,mCAAyC;AAEzC;;;;GAIG;AACI,IAAM,yBAAyB,GAAG,UAAC,OAAe;IACxD,OAAO;QACN,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,KAAK;QACX,IAAI,EAAE;YACL,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE;gBACN;oBACC,GAAG,EAAE;wBACJ,MAAI,EAAE,IAAI;wBACV,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,IAAI;wBACb,QAAQ,EAAE;4BACT,IAAI,EAAE,IAAI;yBACV;wBACD,OAAO,EAAE;4BACR;gCACC,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE;oCACL,IAAI,EAAE,UAAU;oCAChB,IAAI,EAAE,2BAA2B;oCACjC,IAAI,EAAE;wCACL,IAAI,EAAE,WAAW;wCACjB,KAAK,EAAE;4CACN;gDACC,IAAI,EAAE,MAAM;gDACZ,OAAO,EAAE,MAAM;gDACf,IAAI,EAAE;oDACL,IAAI,EAAE,UAAU;oDAChB,IAAI,EAAE,iBAAiB;oDACvB,IAAI,EAAE;wDACL,IAAI,EAAE,WAAW;wDACjB,KAAK,EAAE;4DACN;gEACC,IAAI,EAAE,WAAW;gEACjB,KAAK,EAAE,IAAA,sBAAa,EAAC,OAAO,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;6DAC/D;yDACD;qDACD;iDACD;gDACD,EAAE,EAAE,IAAI;gDACR,MAAM,EAAE,IAAI;gDACZ,MAAM,EAAE;oDACP,QAAQ,EAAE,OAAO;iDACjB;gDACD,MAAM,EAAE,EAAE;gDACV,UAAU,EAAE,EAAE;6CACd;yCACD;qCACD;iCACD;gCACD,EAAE,EAAE,IAAI;6BACR;yBACD;wBACD,IAAI,EAAE;4BACL,QAAQ,EAAE,IAAI;yBACd;wBACD,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,IAAI;wBACX,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE,IAAI;wBACZ,OAAO,EAAE,IAAI;wBACb,KAAK,EAAE;4BACN,SAAS,EAAE,EAAE;4BACb,KAAK,EAAE,EAAE;yBACT;wBACD,MAAM,EAAE,IAAI;qBACZ;iBACD;aACD;SACD;KACD,CAAC;AACH,CAAC,CAAC;AAxEW,QAAA,yBAAyB,6BAwEpC"}
|
package/dist/expressions.js
CHANGED
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
2
13
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
14
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
15
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -45,6 +56,7 @@ var random_1 = __importDefault(require("lodash/random"));
|
|
|
45
56
|
var matches_1 = __importDefault(require("lodash/matches"));
|
|
46
57
|
var node_sql_parser_1 = require("node-sql-parser");
|
|
47
58
|
var escape_1 = require("./escape");
|
|
59
|
+
var ast_fragments_1 = require("./ast-fragments");
|
|
48
60
|
var PRISMA_NUMERIC_TYPES = ["Int", "BigInt", "Float", "Decimal"];
|
|
49
61
|
var deepFind = function (obj, subObj) {
|
|
50
62
|
var matcher = (0, matches_1["default"])(subObj);
|
|
@@ -78,6 +90,8 @@ var getDmmfMetaData = function (client, model, field) {
|
|
|
78
90
|
};
|
|
79
91
|
// Perform substitution of Ints so that Prisma doesn't throw an error due to mismatched type values
|
|
80
92
|
// After we've captured the SQL, we can replace the Ints with the original values
|
|
93
|
+
// The returned tokens are a map of the token int, and the AST fragment that will replace it.
|
|
94
|
+
// We can then reconstruct the query using the AST fragments.
|
|
81
95
|
var tokenizeWhereExpression = function (
|
|
82
96
|
/** The Prisma client to use for metadata */
|
|
83
97
|
client,
|
|
@@ -100,9 +114,21 @@ tokens) {
|
|
|
100
114
|
} while (tokens[int]);
|
|
101
115
|
var astFragment = {};
|
|
102
116
|
var value = where[field];
|
|
117
|
+
// Check if the field is an object, if so, we need to recurse
|
|
118
|
+
// This is a fairly simple approach but covers most cases like "some", "every", "none" etc.
|
|
119
|
+
if (fieldData.kind === "object") {
|
|
120
|
+
for (var subField in value) {
|
|
121
|
+
var subValue = value[subField];
|
|
122
|
+
var _a = tokenizeWhereExpression(client, subValue, table, fieldData.type, tokens), subTokens = _a.tokens, subWhere = _a.where;
|
|
123
|
+
tokens = __assign(__assign({}, tokens), subTokens);
|
|
124
|
+
where[field][subField] = subWhere;
|
|
125
|
+
}
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
103
128
|
var isNumeric = PRISMA_NUMERIC_TYPES.includes(fieldData.type);
|
|
104
129
|
var isColumnName = typeof value === "string" && !!value.match(/^___yates_row_/);
|
|
105
130
|
var isContext = typeof value === "string" && !!value.match(/^___yates_context_/);
|
|
131
|
+
var isInStatement = !!value["in"];
|
|
106
132
|
switch (true) {
|
|
107
133
|
case isColumnName:
|
|
108
134
|
// Substiture the yates row placeholder for the actual column name
|
|
@@ -165,6 +191,36 @@ tokens) {
|
|
|
165
191
|
value: value
|
|
166
192
|
};
|
|
167
193
|
break;
|
|
194
|
+
case isInStatement:
|
|
195
|
+
if (Array.isArray(value["in"])) {
|
|
196
|
+
var values = [];
|
|
197
|
+
for (var item in value["in"]) {
|
|
198
|
+
values.push({
|
|
199
|
+
type: "single_quote_string",
|
|
200
|
+
value: item
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
astFragment = {
|
|
204
|
+
type: "binary_expr",
|
|
205
|
+
operator: "IN",
|
|
206
|
+
left: {
|
|
207
|
+
type: "column_ref",
|
|
208
|
+
schema: "public",
|
|
209
|
+
table: table,
|
|
210
|
+
column: field
|
|
211
|
+
},
|
|
212
|
+
right: {
|
|
213
|
+
type: "expr_list",
|
|
214
|
+
value: values
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
// If the value of `in` is a context value, we assume that it is an array that has been JSON encoded
|
|
220
|
+
// We create an AST fragment representing a function call to `jsonb_array_elements_text` with the context value as the argument
|
|
221
|
+
astFragment = (0, ast_fragments_1.jsonb_array_elements_text)(value["in"]);
|
|
222
|
+
}
|
|
223
|
+
break;
|
|
168
224
|
// All other types are treated as strings
|
|
169
225
|
default:
|
|
170
226
|
astFragment = {
|
package/dist/expressions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expressions.js","sourceRoot":"","sources":["../src/expressions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"expressions.js","sourceRoot":"","sources":["../src/expressions.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Prisma, PrismaClient } from "@prisma/client";
|
|
2
2
|
import { Expression } from "./expressions";
|
|
3
3
|
declare const VALID_OPERATIONS: readonly ["SELECT", "UPDATE", "INSERT", "DELETE"];
|
|
4
|
-
type Operation = typeof VALID_OPERATIONS[number];
|
|
4
|
+
type Operation = (typeof VALID_OPERATIONS)[number];
|
|
5
5
|
export type Models = Prisma.ModelName;
|
|
6
6
|
interface ClientOptions {
|
|
7
7
|
/** The maximum amount of time Yates will wait to acquire a transaction from the database. The default value is 30 seconds. */
|
package/dist/index.js
CHANGED
|
@@ -134,7 +134,12 @@ var hashWithPrefix = function (prefix, abilityName) {
|
|
|
134
134
|
return prefix + hashedAbilityName.slice(0, maxLength);
|
|
135
135
|
};
|
|
136
136
|
// Sanitize a single string by ensuring the it has only lowercase alpha characters and underscores
|
|
137
|
-
var sanitizeSlug = function (slug) {
|
|
137
|
+
var sanitizeSlug = function (slug) {
|
|
138
|
+
return slug
|
|
139
|
+
.toLowerCase()
|
|
140
|
+
.replace("-", "_")
|
|
141
|
+
.replace(/[^a-z0-9_]/gi, "");
|
|
142
|
+
};
|
|
138
143
|
var createAbilityName = function (model, ability) {
|
|
139
144
|
return sanitizeSlug(hashWithPrefix("yates_ability_", "".concat(model, "_").concat(ability)));
|
|
140
145
|
};
|
|
@@ -155,11 +160,11 @@ var createClient = function (prisma, getContext, options) {
|
|
|
155
160
|
$allOperations: function (params) {
|
|
156
161
|
var _a;
|
|
157
162
|
return __awaiter(this, void 0, void 0, function () {
|
|
158
|
-
var model, args, query, operation, ctx, role, context, pgRole, _b, _c, k, queryResults, e_1;
|
|
159
|
-
var e_2,
|
|
163
|
+
var model, args, query, operation, ctx, role, context, pgRole, _b, _c, k, _d, _e, v, queryResults, e_1;
|
|
164
|
+
var e_2, _f, e_3, _g;
|
|
160
165
|
var _this = this;
|
|
161
|
-
return __generator(this, function (
|
|
162
|
-
switch (
|
|
166
|
+
return __generator(this, function (_h) {
|
|
167
|
+
switch (_h.label) {
|
|
163
168
|
case 0:
|
|
164
169
|
model = params.model, args = params.args, query = params.query, operation = params.operation;
|
|
165
170
|
if (!model) {
|
|
@@ -179,25 +184,44 @@ var createClient = function (prisma, getContext, options) {
|
|
|
179
184
|
if (!k.match(/^[a-z_\.]+$/)) {
|
|
180
185
|
throw new Error("Context variable \"".concat(k, "\" contains invalid characters. Context variables must only contain lowercase letters, numbers, periods and underscores."));
|
|
181
186
|
}
|
|
182
|
-
if (typeof context[k] !== "number" && typeof context[k] !== "string") {
|
|
183
|
-
throw new Error("Context variable \"".concat(k, "\" must be a string or
|
|
187
|
+
if (typeof context[k] !== "number" && typeof context[k] !== "string" && !Array.isArray(context[k])) {
|
|
188
|
+
throw new Error("Context variable \"".concat(k, "\" must be a string, number or array. Got ").concat(typeof context[k]));
|
|
189
|
+
}
|
|
190
|
+
if (Array.isArray(context[k])) {
|
|
191
|
+
try {
|
|
192
|
+
for (_d = (e_3 = void 0, __values(context[k])), _e = _d.next(); !_e.done; _e = _d.next()) {
|
|
193
|
+
v = _e.value;
|
|
194
|
+
if (typeof v !== "string") {
|
|
195
|
+
throw new Error("Context variable \"".concat(k, "\" must be an array of strings. Got ").concat(typeof v));
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
200
|
+
finally {
|
|
201
|
+
try {
|
|
202
|
+
if (_e && !_e.done && (_g = _d["return"])) _g.call(_d);
|
|
203
|
+
}
|
|
204
|
+
finally { if (e_3) throw e_3.error; }
|
|
205
|
+
}
|
|
206
|
+
// Cast to a JSON string so that it can be used in RLS expressions
|
|
207
|
+
context[k] = JSON.stringify(context[k]);
|
|
184
208
|
}
|
|
185
209
|
}
|
|
186
210
|
}
|
|
187
211
|
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
188
212
|
finally {
|
|
189
213
|
try {
|
|
190
|
-
if (_c && !_c.done && (
|
|
214
|
+
if (_c && !_c.done && (_f = _b["return"])) _f.call(_b);
|
|
191
215
|
}
|
|
192
216
|
finally { if (e_2) throw e_2.error; }
|
|
193
217
|
}
|
|
194
218
|
}
|
|
195
|
-
|
|
219
|
+
_h.label = 1;
|
|
196
220
|
case 1:
|
|
197
|
-
|
|
221
|
+
_h.trys.push([1, 3, , 4]);
|
|
198
222
|
return [4 /*yield*/, prisma.$transaction(function (tx) { return __awaiter(_this, void 0, void 0, function () {
|
|
199
|
-
var _a, _b, _c, key, value,
|
|
200
|
-
var
|
|
223
|
+
var _a, _b, _c, key, value, e_4_1, txId, __internalParams, result;
|
|
224
|
+
var e_4, _d;
|
|
201
225
|
return __generator(this, function (_e) {
|
|
202
226
|
switch (_e.label) {
|
|
203
227
|
case 0:
|
|
@@ -223,14 +247,14 @@ var createClient = function (prisma, getContext, options) {
|
|
|
223
247
|
return [3 /*break*/, 3];
|
|
224
248
|
case 6: return [3 /*break*/, 9];
|
|
225
249
|
case 7:
|
|
226
|
-
|
|
227
|
-
|
|
250
|
+
e_4_1 = _e.sent();
|
|
251
|
+
e_4 = { error: e_4_1 };
|
|
228
252
|
return [3 /*break*/, 9];
|
|
229
253
|
case 8:
|
|
230
254
|
try {
|
|
231
255
|
if (_b && !_b.done && (_d = _a["return"])) _d.call(_a);
|
|
232
256
|
}
|
|
233
|
-
finally { if (
|
|
257
|
+
finally { if (e_4) throw e_4.error; }
|
|
234
258
|
return [7 /*endfinally*/];
|
|
235
259
|
case 9:
|
|
236
260
|
txId = tx[Symbol["for"]("prisma.client.transaction.id")];
|
|
@@ -254,10 +278,10 @@ var createClient = function (prisma, getContext, options) {
|
|
|
254
278
|
timeout: txTimeout
|
|
255
279
|
})];
|
|
256
280
|
case 2:
|
|
257
|
-
queryResults =
|
|
281
|
+
queryResults = _h.sent();
|
|
258
282
|
return [2 /*return*/, queryResults];
|
|
259
283
|
case 3:
|
|
260
|
-
e_1 =
|
|
284
|
+
e_1 = _h.sent();
|
|
261
285
|
// Normalize RLS errors to make them a bit more readable.
|
|
262
286
|
if ((_a = e_1.message) === null || _a === void 0 ? void 0 : _a.includes("new row violates row-level security policy for table")) {
|
|
263
287
|
throw new Error("You do not have permission to perform this action: ".concat(model, ".").concat(operation, "(...)"));
|
|
@@ -315,7 +339,7 @@ var createRoles = function (_a) {
|
|
|
315
339
|
var prisma = _a.prisma, customAbilities = _a.customAbilities, getRoles = _a.getRoles;
|
|
316
340
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
317
341
|
var abilities, runtimeDataModel, models, diff, models_1, models_1_1, model, ability, operation, roles, _b, _c, _d, _i, model, table, _e, _f, _g, _h, slug, ability, roleName, _loop_1, _j, _k, _l, _m, key;
|
|
318
|
-
var
|
|
342
|
+
var e_5, _o;
|
|
319
343
|
var _p;
|
|
320
344
|
return __generator(this, function (_q) {
|
|
321
345
|
switch (_q.label) {
|
|
@@ -372,12 +396,12 @@ var createRoles = function (_a) {
|
|
|
372
396
|
}
|
|
373
397
|
}
|
|
374
398
|
}
|
|
375
|
-
catch (
|
|
399
|
+
catch (e_5_1) { e_5 = { error: e_5_1 }; }
|
|
376
400
|
finally {
|
|
377
401
|
try {
|
|
378
402
|
if (models_1_1 && !models_1_1.done && (_o = models_1["return"])) _o.call(models_1);
|
|
379
403
|
}
|
|
380
|
-
finally { if (
|
|
404
|
+
finally { if (e_5) throw e_5.error; }
|
|
381
405
|
}
|
|
382
406
|
roles = getRoles(abilities);
|
|
383
407
|
_b = abilities;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,iEAA2C;AAC3C,2DAAqC;AACrC,mDAA6B;AAC7B,2DAAqC;AACrC,6CAAiC;AACjC,6CAA8E;AAE9E,IAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAwC3E;;;GAGG;AACH,IAAM,QAAQ,GAAG,UAAC,MAAoB;IACrC,OAAA,MAAM,CAAC,iBAAiB,CAAC,oDAAoD,CAAC;AAA9E,CAA8E,CAAC;AAEhF;;;;;;GAMG;AACH,IAAM,cAAc,GAAG,UAAC,MAAc,EAAE,WAAmB;IAC1D,IAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACzB,IAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAM,SAAS,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;IACrC,OAAO,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,kGAAkG;AAClG,IAAM,YAAY,GAAG,UAAC,IAAY,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cerebruminc/yates",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.2-beta.dangerous.50afce2",
|
|
4
4
|
"description": "Role based access control for Prisma Apps",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -37,4 +37,4 @@
|
|
|
37
37
|
"@prisma/client": "^5.0.0",
|
|
38
38
|
"prisma": "^5.0.0"
|
|
39
39
|
}
|
|
40
|
-
}
|
|
40
|
+
}
|