@zenstackhq/sdk 2.16.0 → 3.0.0-alpha.1

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.
Files changed (81) hide show
  1. package/LICENSE +1 -1
  2. package/dist/index.cjs +1906 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.d.cts +196 -0
  5. package/dist/index.d.ts +196 -0
  6. package/dist/index.js +1872 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/schema.cjs +19 -0
  9. package/dist/schema.cjs.map +1 -0
  10. package/dist/schema.d.cts +138 -0
  11. package/dist/schema.d.ts +138 -0
  12. package/dist/schema.js +1 -0
  13. package/dist/schema.js.map +1 -0
  14. package/package.json +43 -39
  15. package/README.md +0 -5
  16. package/ast.d.ts +0 -1
  17. package/ast.js +0 -18
  18. package/ast.js.map +0 -1
  19. package/code-gen.d.ts +0 -37
  20. package/code-gen.js +0 -114
  21. package/code-gen.js.map +0 -1
  22. package/constants.d.ts +0 -15
  23. package/constants.js +0 -21
  24. package/constants.js.map +0 -1
  25. package/dmmf-helpers/aggregate-helpers.d.ts +0 -5
  26. package/dmmf-helpers/aggregate-helpers.js +0 -65
  27. package/dmmf-helpers/aggregate-helpers.js.map +0 -1
  28. package/dmmf-helpers/include-helpers.d.ts +0 -2
  29. package/dmmf-helpers/include-helpers.js +0 -88
  30. package/dmmf-helpers/include-helpers.js.map +0 -1
  31. package/dmmf-helpers/index.d.ts +0 -7
  32. package/dmmf-helpers/index.js +0 -24
  33. package/dmmf-helpers/index.js.map +0 -1
  34. package/dmmf-helpers/missing-types-helper.d.ts +0 -2
  35. package/dmmf-helpers/missing-types-helper.js +0 -14
  36. package/dmmf-helpers/missing-types-helper.js.map +0 -1
  37. package/dmmf-helpers/model-helpers.d.ts +0 -16
  38. package/dmmf-helpers/model-helpers.js +0 -38
  39. package/dmmf-helpers/model-helpers.js.map +0 -1
  40. package/dmmf-helpers/modelArgs-helpers.d.ts +0 -2
  41. package/dmmf-helpers/modelArgs-helpers.js +0 -67
  42. package/dmmf-helpers/modelArgs-helpers.js.map +0 -1
  43. package/dmmf-helpers/select-helpers.d.ts +0 -2
  44. package/dmmf-helpers/select-helpers.js +0 -152
  45. package/dmmf-helpers/select-helpers.js.map +0 -1
  46. package/dmmf-helpers/types.d.ts +0 -20
  47. package/dmmf-helpers/types.js +0 -3
  48. package/dmmf-helpers/types.js.map +0 -1
  49. package/index.d.ts +0 -11
  50. package/index.js +0 -30
  51. package/index.js.map +0 -1
  52. package/model-meta-generator.d.ts +0 -24
  53. package/model-meta-generator.js +0 -458
  54. package/model-meta-generator.js.map +0 -1
  55. package/names.d.ts +0 -9
  56. package/names.js +0 -17
  57. package/names.js.map +0 -1
  58. package/path.d.ts +0 -4
  59. package/path.js +0 -15
  60. package/path.js.map +0 -1
  61. package/policy.d.ts +0 -13
  62. package/policy.js +0 -57
  63. package/policy.js.map +0 -1
  64. package/prisma.d.ts +0 -21
  65. package/prisma.js +0 -84
  66. package/prisma.js.map +0 -1
  67. package/types.d.ts +0 -97
  68. package/types.js +0 -14
  69. package/types.js.map +0 -1
  70. package/typescript-expression-transformer.d.ts +0 -64
  71. package/typescript-expression-transformer.js +0 -491
  72. package/typescript-expression-transformer.js.map +0 -1
  73. package/utils.d.ts +0 -103
  74. package/utils.js +0 -633
  75. package/utils.js.map +0 -1
  76. package/validation.d.ts +0 -7
  77. package/validation.js +0 -37
  78. package/validation.js.map +0 -1
  79. package/zmodel-code-generator.d.ts +0 -66
  80. package/zmodel-code-generator.js +0 -353
  81. package/zmodel-code-generator.js.map +0 -1
@@ -1,458 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generate = generate;
4
- const ast_1 = require("@zenstackhq/language/ast");
5
- const local_helpers_1 = require("@zenstackhq/runtime/local-helpers");
6
- const langium_1 = require("langium");
7
- const ts_morph_1 = require("ts-morph");
8
- const _1 = require(".");
9
- function generate(project, models, typeDefs, options) {
10
- const sf = project.createSourceFile(options.output, undefined, { overwrite: true });
11
- const writer = new _1.FastWriter();
12
- const extraFunctions = [];
13
- generateModelMetadata(models, typeDefs, writer, options, extraFunctions);
14
- sf.addVariableStatement({
15
- declarationKind: ts_morph_1.VariableDeclarationKind.Const,
16
- declarations: [{ name: 'metadata', initializer: writer.result }],
17
- });
18
- if (extraFunctions.length > 0) {
19
- sf.addFunctions(extraFunctions);
20
- }
21
- sf.addStatements('export default metadata;');
22
- if (options.preserveTsFiles) {
23
- (0, _1.saveSourceFile)(sf);
24
- }
25
- return sf;
26
- }
27
- function generateModelMetadata(dataModels, typeDefs, writer, options, extraFunctions) {
28
- writer.block(() => {
29
- writeModels(writer, dataModels, options, extraFunctions);
30
- writeTypeDefs(writer, typeDefs, options, extraFunctions);
31
- writeDeleteCascade(writer, dataModels);
32
- writeShortNameMap(options, writer);
33
- writeAuthModel(writer, dataModels, typeDefs);
34
- });
35
- }
36
- function writeModels(writer, dataModels, options, extraFunctions) {
37
- writer.write('models:');
38
- writer.block(() => {
39
- for (const model of dataModels) {
40
- writer.write(`${(0, local_helpers_1.lowerCaseFirst)(model.name)}:`);
41
- writer.block(() => {
42
- writer.write(`name: '${model.name}',`);
43
- writeBaseTypes(writer, model);
44
- writeFields(writer, model, options, extraFunctions);
45
- writeUniqueConstraints(writer, model);
46
- if (options.generateAttributes) {
47
- writeModelAttributes(writer, model);
48
- }
49
- writeDiscriminator(writer, model);
50
- });
51
- writer.writeLine(',');
52
- }
53
- });
54
- writer.writeLine(',');
55
- }
56
- function writeTypeDefs(writer, typedDefs, options, extraFunctions) {
57
- if (typedDefs.length === 0) {
58
- return;
59
- }
60
- writer.write('typeDefs:');
61
- writer.block(() => {
62
- for (const typeDef of typedDefs) {
63
- writer.write(`${(0, local_helpers_1.lowerCaseFirst)(typeDef.name)}:`);
64
- writer.block(() => {
65
- writer.write(`name: '${typeDef.name}',`);
66
- writeFields(writer, typeDef, options, extraFunctions);
67
- });
68
- writer.writeLine(',');
69
- }
70
- });
71
- writer.writeLine(',');
72
- }
73
- function writeBaseTypes(writer, model) {
74
- if (model.superTypes.length > 0) {
75
- writer.write('baseTypes: [');
76
- writer.write(model.superTypes.map((t) => { var _a; return `'${(_a = t.ref) === null || _a === void 0 ? void 0 : _a.name}'`; }).join(', '));
77
- writer.write('],');
78
- }
79
- }
80
- function writeAuthModel(writer, dataModels, typeDefs) {
81
- const authModel = (0, _1.getAuthDecl)([...dataModels, ...typeDefs]);
82
- if (authModel) {
83
- writer.writeLine(`authModel: '${authModel.name}'`);
84
- }
85
- }
86
- function writeDeleteCascade(writer, dataModels) {
87
- writer.write('deleteCascade:');
88
- writer.block(() => {
89
- for (const model of dataModels) {
90
- const cascades = getDeleteCascades(model);
91
- if (cascades.length > 0) {
92
- writer.writeLine(`${(0, local_helpers_1.lowerCaseFirst)(model.name)}: [${cascades.map((n) => `'${n}'`).join(', ')}],`);
93
- }
94
- }
95
- });
96
- writer.writeLine(',');
97
- }
98
- function writeUniqueConstraints(writer, model) {
99
- const constraints = getUniqueConstraints(model);
100
- if (constraints.length > 0) {
101
- writer.write('uniqueConstraints:');
102
- writer.block(() => {
103
- for (const constraint of constraints) {
104
- writer.write(`${constraint.name}: {
105
- name: "${constraint.name}",
106
- fields: ${JSON.stringify(constraint.fields)}
107
- },`);
108
- }
109
- });
110
- writer.write(',');
111
- }
112
- }
113
- function writeModelAttributes(writer, model) {
114
- const attrs = getAttributes(model);
115
- if (attrs.length > 0) {
116
- writer.write(`
117
- attributes: ${JSON.stringify(attrs)},`);
118
- }
119
- }
120
- function writeDiscriminator(writer, model) {
121
- const delegateAttr = (0, _1.getAttribute)(model, '@@delegate');
122
- if (!delegateAttr) {
123
- return;
124
- }
125
- const discriminator = (0, _1.getAttributeArg)(delegateAttr, 'discriminator');
126
- if (!discriminator) {
127
- return;
128
- }
129
- if (discriminator) {
130
- writer.write(`discriminator: ${JSON.stringify(discriminator.target.$refText)},`);
131
- }
132
- }
133
- function writeFields(writer, container, options, extraFunctions) {
134
- writer.write('fields:');
135
- writer.block(() => {
136
- var _a, _b;
137
- for (const f of container.fields) {
138
- const dmField = (0, ast_1.isDataModelField)(f) ? f : undefined;
139
- writer.write(`${f.name}: {`);
140
- writer.write(`
141
- name: "${f.name}",
142
- type: "${f.type.reference
143
- ? f.type.reference.$refText
144
- : // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
145
- f.type.type}",`);
146
- if (dmField && (0, _1.isIdField)(dmField)) {
147
- writer.write(`
148
- isId: true,`);
149
- }
150
- if ((0, ast_1.isDataModel)((_a = f.type.reference) === null || _a === void 0 ? void 0 : _a.ref)) {
151
- writer.write(`
152
- isDataModel: true,`);
153
- }
154
- else if ((0, ast_1.isTypeDef)((_b = f.type.reference) === null || _b === void 0 ? void 0 : _b.ref)) {
155
- writer.write(`
156
- isTypeDef: true,`);
157
- }
158
- if (f.type.array) {
159
- writer.write(`
160
- isArray: true,`);
161
- }
162
- if (f.type.optional) {
163
- writer.write(`
164
- isOptional: true,`);
165
- }
166
- if (options.generateAttributes) {
167
- const attrs = getAttributes(f);
168
- if (attrs.length > 0) {
169
- writer.write(`
170
- attributes: ${JSON.stringify(attrs)},`);
171
- }
172
- }
173
- else {
174
- // only include essential attributes
175
- const attrs = getAttributes(f).filter((attr) => ['@default', '@updatedAt'].includes(attr.name));
176
- if (attrs.length > 0) {
177
- writer.write(`
178
- attributes: ${JSON.stringify(attrs)},`);
179
- }
180
- }
181
- const defaultValueProvider = generateDefaultValueProvider(f, extraFunctions);
182
- if (defaultValueProvider) {
183
- writer.write(`
184
- defaultValueProvider: ${defaultValueProvider},`);
185
- }
186
- if (dmField) {
187
- // metadata specific to DataModelField
188
- const backlink = (0, _1.getRelationBackLink)(dmField);
189
- const fkMapping = generateForeignKeyMapping(dmField);
190
- if (backlink) {
191
- writer.write(`
192
- backLink: '${backlink.name}',`);
193
- }
194
- if (isRelationOwner(dmField, backlink)) {
195
- writer.write(`
196
- isRelationOwner: true,`);
197
- }
198
- const onDeleteAction = getOnDeleteAction(dmField);
199
- if (onDeleteAction) {
200
- writer.write(`
201
- onDeleteAction: '${onDeleteAction}',`);
202
- }
203
- const onUpdateAction = getOnUpdateAction(dmField);
204
- if (onUpdateAction) {
205
- writer.write(`
206
- onUpdateAction: '${onUpdateAction}',`);
207
- }
208
- if ((0, _1.isForeignKeyField)(dmField)) {
209
- writer.write(`
210
- isForeignKey: true,`);
211
- const relationField = (0, _1.getRelationField)(dmField);
212
- if (relationField) {
213
- writer.write(`
214
- relationField: '${relationField.name}',`);
215
- }
216
- }
217
- if (fkMapping && Object.keys(fkMapping).length > 0) {
218
- writer.write(`
219
- foreignKeyMapping: ${JSON.stringify(fkMapping)},`);
220
- }
221
- const inheritedFromDelegate = (0, _1.getInheritedFromDelegate)(dmField);
222
- if (inheritedFromDelegate && !(0, _1.isIdField)(dmField)) {
223
- writer.write(`
224
- inheritedFrom: ${JSON.stringify(inheritedFromDelegate.name)},`);
225
- }
226
- if (isAutoIncrement(dmField)) {
227
- writer.write(`
228
- isAutoIncrement: true,`);
229
- }
230
- }
231
- writer.write(`
232
- },`);
233
- }
234
- });
235
- writer.write(',');
236
- }
237
- function getAttributes(target) {
238
- return target.attributes
239
- .map((attr) => {
240
- const args = [];
241
- for (const arg of attr.args) {
242
- if ((0, ast_1.isNumberLiteral)(arg.value)) {
243
- let v = parseInt(arg.value.value);
244
- if (isNaN(v)) {
245
- v = parseFloat(arg.value.value);
246
- }
247
- if (isNaN(v)) {
248
- throw new Error(`Invalid number literal: ${arg.value.value}`);
249
- }
250
- args.push({ name: arg.name, value: v });
251
- }
252
- else if ((0, ast_1.isStringLiteral)(arg.value) || (0, ast_1.isBooleanLiteral)(arg.value)) {
253
- args.push({ name: arg.name, value: arg.value.value });
254
- }
255
- else {
256
- // non-literal args are ignored
257
- }
258
- }
259
- return { name: (0, _1.resolved)(attr.decl).name, args };
260
- })
261
- .filter((d) => !!d);
262
- }
263
- function getUniqueConstraints(model) {
264
- const constraints = [];
265
- const extractConstraint = (attr) => {
266
- const argsMap = (0, _1.getAttributeArgs)(attr);
267
- if (argsMap.fields) {
268
- const fieldNames = argsMap.fields.items.map((item) => (0, _1.resolved)(item.target).name);
269
- let constraintName = argsMap.name && (0, _1.getLiteral)(argsMap.name);
270
- if (!constraintName) {
271
- // default constraint name is fields concatenated with underscores
272
- constraintName = fieldNames.join('_');
273
- }
274
- return { name: constraintName, fields: fieldNames };
275
- }
276
- else {
277
- return undefined;
278
- }
279
- };
280
- const addConstraint = (constraint) => {
281
- if (!constraints.some((c) => c.name === constraint.name)) {
282
- constraints.push(constraint);
283
- }
284
- };
285
- // field-level @id first
286
- for (const field of model.fields) {
287
- if ((0, _1.hasAttribute)(field, '@id')) {
288
- addConstraint({ name: field.name, fields: [field.name] });
289
- }
290
- }
291
- // then model-level @@id
292
- for (const attr of model.attributes.filter((attr) => { var _a; return ((_a = attr.decl.ref) === null || _a === void 0 ? void 0 : _a.name) === '@@id'; })) {
293
- const constraint = extractConstraint(attr);
294
- if (constraint) {
295
- addConstraint(constraint);
296
- }
297
- }
298
- // then field-level @unique
299
- for (const field of model.fields) {
300
- if ((0, _1.hasAttribute)(field, '@unique')) {
301
- addConstraint({ name: field.name, fields: [field.name] });
302
- }
303
- }
304
- // then model-level @@unique
305
- for (const attr of model.attributes.filter((attr) => { var _a; return ((_a = attr.decl.ref) === null || _a === void 0 ? void 0 : _a.name) === '@@unique'; })) {
306
- const constraint = extractConstraint(attr);
307
- if (constraint) {
308
- addConstraint(constraint);
309
- }
310
- }
311
- return constraints;
312
- }
313
- function isRelationOwner(field, backLink) {
314
- var _a;
315
- if (!(0, ast_1.isDataModel)((_a = field.type.reference) === null || _a === void 0 ? void 0 : _a.ref)) {
316
- return false;
317
- }
318
- if (!backLink) {
319
- // CHECKME: can this really happen?
320
- return true;
321
- }
322
- if (!(0, _1.hasAttribute)(field, '@relation') && !(0, _1.hasAttribute)(backLink, '@relation')) {
323
- // if neither side has `@relation` attribute, it's an implicit many-to-many relation,
324
- // both sides are owners
325
- return true;
326
- }
327
- return holdsForeignKey(field);
328
- }
329
- function holdsForeignKey(field) {
330
- const relation = field.attributes.find((attr) => { var _a; return ((_a = attr.decl.ref) === null || _a === void 0 ? void 0 : _a.name) === '@relation'; });
331
- if (!relation) {
332
- return false;
333
- }
334
- const fields = (0, _1.getAttributeArg)(relation, 'fields');
335
- return !!fields;
336
- }
337
- function generateForeignKeyMapping(field) {
338
- const relation = field.attributes.find((attr) => { var _a; return ((_a = attr.decl.ref) === null || _a === void 0 ? void 0 : _a.name) === '@relation'; });
339
- if (!relation) {
340
- return undefined;
341
- }
342
- const fields = (0, _1.getAttributeArg)(relation, 'fields');
343
- const references = (0, _1.getAttributeArg)(relation, 'references');
344
- if (!(0, ast_1.isArrayExpr)(fields) || !(0, ast_1.isArrayExpr)(references) || fields.items.length !== references.items.length) {
345
- return undefined;
346
- }
347
- const fieldNames = fields.items.map((item) => ((0, ast_1.isReferenceExpr)(item) ? item.target.$refText : undefined));
348
- const referenceNames = references.items.map((item) => ((0, ast_1.isReferenceExpr)(item) ? item.target.$refText : undefined));
349
- const result = {};
350
- referenceNames.forEach((name, i) => {
351
- if (name) {
352
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
353
- result[name] = fieldNames[i];
354
- }
355
- });
356
- return result;
357
- }
358
- function getDeleteCascades(model) {
359
- const allModels = (0, _1.getDataModels)(model.$container);
360
- return allModels
361
- .filter((m) => {
362
- if (m === model) {
363
- return false;
364
- }
365
- const relationFields = m.fields.filter((f) => {
366
- var _a, _b;
367
- if (((_a = f.type.reference) === null || _a === void 0 ? void 0 : _a.ref) !== model) {
368
- return false;
369
- }
370
- const relationAttr = (0, _1.getAttribute)(f, '@relation');
371
- if (relationAttr) {
372
- const onDelete = (0, _1.getAttributeArg)(relationAttr, 'onDelete');
373
- if (onDelete && (0, _1.isEnumFieldReference)(onDelete) && ((_b = onDelete.target.ref) === null || _b === void 0 ? void 0 : _b.name) === 'Cascade') {
374
- return true;
375
- }
376
- }
377
- return false;
378
- });
379
- return relationFields.length > 0;
380
- })
381
- .map((m) => m.name);
382
- }
383
- function generateDefaultValueProvider(field, extraFunctions) {
384
- var _a;
385
- const defaultAttr = (0, _1.getAttribute)(field, '@default');
386
- if (!defaultAttr) {
387
- return undefined;
388
- }
389
- const expr = (_a = defaultAttr.args[0]) === null || _a === void 0 ? void 0 : _a.value;
390
- if (!expr) {
391
- return undefined;
392
- }
393
- // find `auth()` in default value expression
394
- const hasAuth = (0, langium_1.streamAst)(expr).some(_1.isAuthInvocation);
395
- if (!hasAuth) {
396
- return undefined;
397
- }
398
- // generates a provider function like:
399
- // function $default$Model$field(user: any) { ... }
400
- const funcName = `$default$${field.$container.name}$${field.name}`;
401
- extraFunctions.push({
402
- name: funcName,
403
- parameters: [{ name: 'user', type: 'any' }],
404
- returnType: 'unknown',
405
- statements: (writer) => {
406
- const tsWriter = new _1.TypeScriptExpressionTransformer({ context: _1.ExpressionContext.DefaultValue });
407
- const code = tsWriter.transform(expr, false);
408
- writer.write(`return ${code};`);
409
- },
410
- });
411
- return funcName;
412
- }
413
- function isAutoIncrement(field) {
414
- var _a;
415
- const defaultAttr = (0, _1.getAttribute)(field, '@default');
416
- if (!defaultAttr) {
417
- return false;
418
- }
419
- const arg = (_a = defaultAttr.args[0]) === null || _a === void 0 ? void 0 : _a.value;
420
- if (!arg) {
421
- return false;
422
- }
423
- return (0, ast_1.isInvocationExpr)(arg) && arg.function.$refText === 'autoincrement';
424
- }
425
- function writeShortNameMap(options, writer) {
426
- if (options.shortNameMap && options.shortNameMap.size > 0) {
427
- writer.write('shortNameMap:');
428
- writer.block(() => {
429
- for (const [key, value] of options.shortNameMap) {
430
- writer.write(`${key}: '${value}',`);
431
- }
432
- });
433
- writer.write(',');
434
- }
435
- }
436
- function getOnDeleteAction(fieldInfo) {
437
- var _a;
438
- const relationAttr = (0, _1.getAttribute)(fieldInfo, '@relation');
439
- if (relationAttr) {
440
- const onDelete = (0, _1.getAttributeArg)(relationAttr, 'onDelete');
441
- if (onDelete && (0, _1.isEnumFieldReference)(onDelete)) {
442
- return (_a = onDelete.target.ref) === null || _a === void 0 ? void 0 : _a.name;
443
- }
444
- }
445
- return undefined;
446
- }
447
- function getOnUpdateAction(fieldInfo) {
448
- var _a;
449
- const relationAttr = (0, _1.getAttribute)(fieldInfo, '@relation');
450
- if (relationAttr) {
451
- const onUpdate = (0, _1.getAttributeArg)(relationAttr, 'onUpdate');
452
- if (onUpdate && (0, _1.isEnumFieldReference)(onUpdate)) {
453
- return (_a = onUpdate.target.ref) === null || _a === void 0 ? void 0 : _a.name;
454
- }
455
- }
456
- return undefined;
457
- }
458
- //# sourceMappingURL=model-meta-generator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-meta-generator.js","sourceRoot":"","sources":["../src/model-meta-generator.ts"],"names":[],"mappings":"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"}
package/names.d.ts DELETED
@@ -1,9 +0,0 @@
1
- import { DataModel, DataModelField } from './ast';
2
- /**
3
- * Gets the name of the function that computes a partial Prisma query guard.
4
- */
5
- export declare function getQueryGuardFunctionName(model: DataModel, forField: DataModelField | undefined, fieldOverride: boolean, kind: string): string;
6
- /**
7
- * Gets the name of the function that checks an entity for access policy rules.
8
- */
9
- export declare function getEntityCheckerFunctionName(model: DataModel, forField: DataModelField | undefined, fieldOverride: boolean, kind: string): string;
package/names.js DELETED
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getQueryGuardFunctionName = getQueryGuardFunctionName;
4
- exports.getEntityCheckerFunctionName = getEntityCheckerFunctionName;
5
- /**
6
- * Gets the name of the function that computes a partial Prisma query guard.
7
- */
8
- function getQueryGuardFunctionName(model, forField, fieldOverride, kind) {
9
- return `${model.name}${forField ? '$' + forField.name : ''}${fieldOverride ? '$override' : ''}_${kind}`;
10
- }
11
- /**
12
- * Gets the name of the function that checks an entity for access policy rules.
13
- */
14
- function getEntityCheckerFunctionName(model, forField, fieldOverride, kind) {
15
- return `$check_${model.name}${forField ? '$' + forField.name : ''}${fieldOverride ? '$override' : ''}_${kind}`;
16
- }
17
- //# sourceMappingURL=names.js.map
package/names.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"names.js","sourceRoot":"","sources":["../src/names.ts"],"names":[],"mappings":";;AAKA,8DAOC;AAKD,oEAOC;AAtBD;;GAEG;AACH,SAAgB,yBAAyB,CACrC,KAAgB,EAChB,QAAoC,EACpC,aAAsB,EACtB,IAAY;IAEZ,OAAO,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;AAC5G,CAAC;AAED;;GAEG;AACH,SAAgB,4BAA4B,CACxC,KAAgB,EAChB,QAAoC,EACpC,aAAsB,EACtB,IAAY;IAEZ,OAAO,UAAU,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;AACnH,CAAC"}
package/path.d.ts DELETED
@@ -1,4 +0,0 @@
1
- /**
2
- * Gets the relative path from `from` to `to` and normalizes it to start it with `./`
3
- */
4
- export declare function normalizedRelative(from: string, to: string): string;
package/path.js DELETED
@@ -1,15 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.normalizedRelative = normalizedRelative;
7
- const path_1 = __importDefault(require("path"));
8
- /**
9
- * Gets the relative path from `from` to `to` and normalizes it to start it with `./`
10
- */
11
- function normalizedRelative(from, to) {
12
- const result = path_1.default.relative(from, to);
13
- return result.startsWith('.') ? result : `./${result}`;
14
- }
15
- //# sourceMappingURL=path.js.map
package/path.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"path.js","sourceRoot":"","sources":["../src/path.ts"],"names":[],"mappings":";;;;;AAKA,gDAGC;AARD,gDAAwB;AAExB;;GAEG;AACH,SAAgB,kBAAkB,CAAC,IAAY,EAAE,EAAU;IACvD,MAAM,MAAM,GAAG,cAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACvC,OAAO,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;AAC3D,CAAC"}
package/policy.d.ts DELETED
@@ -1,13 +0,0 @@
1
- import type { DataModel, DataModelAttribute } from './ast';
2
- export type PolicyAnalysisResult = ReturnType<typeof analyzePolicies>;
3
- export declare function analyzePolicies(dataModel: DataModel): {
4
- allows: DataModelAttribute[];
5
- denies: DataModelAttribute[];
6
- create: boolean | undefined;
7
- read: boolean | undefined;
8
- update: boolean | undefined;
9
- delete: boolean | undefined;
10
- allowAll: boolean;
11
- denyAll: boolean;
12
- hasFieldValidation: boolean;
13
- };
package/policy.js DELETED
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.analyzePolicies = analyzePolicies;
4
- const utils_1 = require("./utils");
5
- const validation_1 = require("./validation");
6
- function analyzePolicies(dataModel) {
7
- const allows = dataModel.attributes.filter((attr) => { var _a; return ((_a = attr.decl.ref) === null || _a === void 0 ? void 0 : _a.name) === '@@allow'; });
8
- const denies = dataModel.attributes.filter((attr) => { var _a; return ((_a = attr.decl.ref) === null || _a === void 0 ? void 0 : _a.name) === '@@deny'; });
9
- const create = toStaticPolicy('create', allows, denies);
10
- const read = toStaticPolicy('read', allows, denies);
11
- const update = toStaticPolicy('update', allows, denies);
12
- const del = toStaticPolicy('delete', allows, denies);
13
- const hasFieldValidation = (0, validation_1.hasValidationAttributes)(dataModel);
14
- return {
15
- allows,
16
- denies,
17
- create,
18
- read,
19
- update,
20
- delete: del,
21
- allowAll: create === true && read === true && update === true && del === true,
22
- denyAll: create === false && read === false && update === false && del === false,
23
- hasFieldValidation,
24
- };
25
- }
26
- function toStaticPolicy(operation, allows, denies) {
27
- const filteredDenies = forOperation(operation, denies);
28
- if (filteredDenies.some((rule) => (0, utils_1.getLiteral)(rule.args[1].value) === true)) {
29
- // any constant true deny rule
30
- return false;
31
- }
32
- const filteredAllows = forOperation(operation, allows);
33
- if (filteredAllows.length === 0) {
34
- // no allow rule
35
- return false;
36
- }
37
- if (filteredDenies.length === 0 &&
38
- filteredAllows.some((rule) => (0, utils_1.getLiteral)(rule.args[1].value) === true)) {
39
- // any constant true allow rule
40
- return true;
41
- }
42
- return undefined;
43
- }
44
- function forOperation(operation, rules) {
45
- return rules.filter((rule) => {
46
- const ops = (0, utils_1.getLiteral)(rule.args[0].value);
47
- if (!ops) {
48
- return false;
49
- }
50
- if (ops === 'all') {
51
- return true;
52
- }
53
- const splitOps = ops.split(',').map((p) => p.trim());
54
- return splitOps.includes(operation);
55
- });
56
- }
57
- //# sourceMappingURL=policy.js.map
package/policy.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"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"}
package/prisma.d.ts DELETED
@@ -1,21 +0,0 @@
1
- import type { DMMF } from '@prisma/generator-helper';
2
- import { type GetDMMFOptions } from '@prisma/internals';
3
- import { Model } from './ast';
4
- import type { PluginOptions } from './types';
5
- /**
6
- * Given an import context directory and plugin options, compute the import spec for the Prisma Client.
7
- */
8
- export declare function getPrismaClientImportSpec(importingFromDir: string, options: PluginOptions): string;
9
- /**
10
- * Loads Prisma DMMF
11
- */
12
- export declare function getDMMF(options: GetDMMFOptions): Promise<DMMF.Document>;
13
- /**
14
- * Gets the installed Prisma's version
15
- */
16
- export declare function getPrismaVersion(): string | undefined;
17
- /**
18
- * Returns if the given model supports `createMany` operation.
19
- */
20
- export declare function supportCreateMany(model: Model): boolean | "" | undefined;
21
- export type { DMMF } from '@prisma/generator-helper';