@baseplate-dev/project-builder-lib 0.6.1 → 1.0.7

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 (95) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/LICENSE +114 -123
  3. package/dist/definition/model/model-field-utils.d.ts.map +1 -1
  4. package/dist/definition/model/model-field-utils.js +3 -0
  5. package/dist/definition/model/model-field-utils.js.map +1 -1
  6. package/dist/migrations/index.d.ts.map +1 -1
  7. package/dist/migrations/index.js +4 -0
  8. package/dist/migrations/index.js.map +1 -1
  9. package/dist/migrations/migration-027-enable-sentry-plugin.d.ts +25 -0
  10. package/dist/migrations/migration-027-enable-sentry-plugin.d.ts.map +1 -0
  11. package/dist/migrations/migration-027-enable-sentry-plugin.js +35 -0
  12. package/dist/migrations/migration-027-enable-sentry-plugin.js.map +1 -0
  13. package/dist/migrations/migration-028-enable-stripe-plugin.d.ts +32 -0
  14. package/dist/migrations/migration-028-enable-stripe-plugin.d.ts.map +1 -0
  15. package/dist/migrations/migration-028-enable-stripe-plugin.js +47 -0
  16. package/dist/migrations/migration-028-enable-stripe-plugin.js.map +1 -0
  17. package/dist/parser/definition-issue-checkers/relation-type-mismatch-checker.d.ts.map +1 -1
  18. package/dist/parser/definition-issue-checkers/relation-type-mismatch-checker.js +30 -0
  19. package/dist/parser/definition-issue-checkers/relation-type-mismatch-checker.js.map +1 -1
  20. package/dist/parser/definition-issue-utils.d.ts +12 -0
  21. package/dist/parser/definition-issue-utils.d.ts.map +1 -1
  22. package/dist/parser/definition-issue-utils.js +28 -0
  23. package/dist/parser/definition-issue-utils.js.map +1 -1
  24. package/dist/parser/index.d.ts +1 -1
  25. package/dist/parser/index.d.ts.map +1 -1
  26. package/dist/parser/index.js +1 -1
  27. package/dist/parser/index.js.map +1 -1
  28. package/dist/parser/walk-schema-structure.d.ts +13 -11
  29. package/dist/parser/walk-schema-structure.d.ts.map +1 -1
  30. package/dist/parser/walk-schema-structure.js +10 -9
  31. package/dist/parser/walk-schema-structure.js.map +1 -1
  32. package/dist/plugins/migrations/run-migrations.d.ts.map +1 -1
  33. package/dist/plugins/migrations/run-migrations.js +2 -1
  34. package/dist/plugins/migrations/run-migrations.js.map +1 -1
  35. package/dist/plugins/spec/auth-config-spec.d.ts +2 -0
  36. package/dist/plugins/spec/auth-config-spec.d.ts.map +1 -1
  37. package/dist/plugins/spec/auth-config-spec.js +2 -0
  38. package/dist/plugins/spec/auth-config-spec.js.map +1 -1
  39. package/dist/references/extract-definition-refs.d.ts.map +1 -1
  40. package/dist/references/extract-definition-refs.js +5 -2
  41. package/dist/references/extract-definition-refs.js.map +1 -1
  42. package/dist/schema/apps/backend/index.d.ts +0 -2
  43. package/dist/schema/apps/backend/index.d.ts.map +1 -1
  44. package/dist/schema/apps/backend/index.js +0 -1
  45. package/dist/schema/apps/backend/index.js.map +1 -1
  46. package/dist/schema/creator/definition-issue-types.d.ts +9 -3
  47. package/dist/schema/creator/definition-issue-types.d.ts.map +1 -1
  48. package/dist/schema/models/authorizer/authorizer-expression-acorn-parser.d.ts.map +1 -1
  49. package/dist/schema/models/authorizer/authorizer-expression-acorn-parser.js +50 -11
  50. package/dist/schema/models/authorizer/authorizer-expression-acorn-parser.js.map +1 -1
  51. package/dist/schema/models/authorizer/authorizer-expression-ast.d.ts +38 -5
  52. package/dist/schema/models/authorizer/authorizer-expression-ast.d.ts.map +1 -1
  53. package/dist/schema/models/authorizer/authorizer-expression-ast.js.map +1 -1
  54. package/dist/schema/models/authorizer/authorizer-expression-parser.d.ts.map +1 -1
  55. package/dist/schema/models/authorizer/authorizer-expression-parser.js +5 -0
  56. package/dist/schema/models/authorizer/authorizer-expression-parser.js.map +1 -1
  57. package/dist/schema/models/authorizer/authorizer-expression-validator.d.ts +4 -6
  58. package/dist/schema/models/authorizer/authorizer-expression-validator.d.ts.map +1 -1
  59. package/dist/schema/models/authorizer/authorizer-expression-validator.js +61 -3
  60. package/dist/schema/models/authorizer/authorizer-expression-validator.js.map +1 -1
  61. package/dist/schema/models/models.d.ts +70 -0
  62. package/dist/schema/models/models.d.ts.map +1 -1
  63. package/dist/schema/models/models.js +23 -1
  64. package/dist/schema/models/models.js.map +1 -1
  65. package/dist/schema/models/types.d.ts +1 -0
  66. package/dist/schema/models/types.d.ts.map +1 -1
  67. package/dist/schema/models/types.js +3 -0
  68. package/dist/schema/models/types.js.map +1 -1
  69. package/dist/schema/project-definition.d.ts +26 -10
  70. package/dist/schema/project-definition.d.ts.map +1 -1
  71. package/dist/schema/settings/settings.d.ts +2 -2
  72. package/dist/schema/settings/theme.d.ts +3 -3
  73. package/dist/specs/packages/package-compiler-types.d.ts +3 -1
  74. package/dist/specs/packages/package-compiler-types.d.ts.map +1 -1
  75. package/dist/specs/packages/package-compiler-types.js +2 -1
  76. package/dist/specs/packages/package-compiler-types.js.map +1 -1
  77. package/dist/testing/definition-helpers.test-helper.d.ts.map +1 -1
  78. package/dist/testing/definition-helpers.test-helper.js +35 -5
  79. package/dist/testing/definition-helpers.test-helper.js.map +1 -1
  80. package/dist/tools/entity-service/entity-navigation.d.ts.map +1 -1
  81. package/dist/tools/entity-service/entity-navigation.js +6 -0
  82. package/dist/tools/entity-service/entity-navigation.js.map +1 -1
  83. package/dist/tools/entity-service/entity-type-map.d.ts.map +1 -1
  84. package/dist/tools/entity-service/entity-type-map.js +4 -1
  85. package/dist/tools/entity-service/entity-type-map.js.map +1 -1
  86. package/dist/web/components/definition-diff-alert.d.ts.map +1 -1
  87. package/dist/web/components/definition-diff-alert.js +1 -1
  88. package/dist/web/components/definition-diff-alert.js.map +1 -1
  89. package/dist/web/components/feature-combobox-field.d.ts.map +1 -1
  90. package/dist/web/components/feature-combobox-field.js +1 -1
  91. package/dist/web/components/feature-combobox-field.js.map +1 -1
  92. package/dist/web/components/model-combobox-field.d.ts.map +1 -1
  93. package/dist/web/components/model-combobox-field.js +1 -1
  94. package/dist/web/components/model-combobox-field.js.map +1 -1
  95. package/package.json +11 -11
@@ -104,22 +104,57 @@ function convertLogicalExpression(node) {
104
104
  };
105
105
  }
106
106
  /**
107
- * Convert a BinaryExpression (===) to FieldComparisonNode.
107
+ * Convert a BinaryExpression (=== or !==) to FieldComparisonNode.
108
108
  */
109
109
  function convertBinaryExpression(node) {
110
- if (node.operator !== '===') {
111
- throw new AuthorizerExpressionParseError(`Unsupported comparison operator: ${node.operator}. Only === is supported.`, node.left.end, node.right.start);
110
+ if (node.operator !== '===' && node.operator !== '!==') {
111
+ throw new AuthorizerExpressionParseError(`Unsupported comparison operator: ${node.operator}. Only === and !== are supported.`, node.left.end, node.right.start);
112
+ }
113
+ const left = convertFieldRefOrLiteral(node.left);
114
+ const right = convertFieldRefOrLiteral(node.right);
115
+ // At least one side must be a field reference — comparing two literals is not allowed.
116
+ if (left.type === 'literalValue' && right.type === 'literalValue') {
117
+ throw new AuthorizerExpressionParseError('At least one side of a comparison must be a field reference (e.g., model.field or userId).', node);
112
118
  }
113
- // Acorn's BinaryExpression allows PrivateIdentifier for ES2022+, but we only
114
- // support MemberExpression field refs. convertFieldRef will throw if given
115
- // anything other than MemberExpression.
116
119
  return {
117
120
  type: 'fieldComparison',
118
- operator: '===',
119
- left: convertFieldRef(node.left),
120
- right: convertFieldRef(node.right),
121
+ operator: node.operator,
122
+ left,
123
+ right,
121
124
  };
122
125
  }
126
+ /**
127
+ * Convert an expression node to either a FieldRefNode or a LiteralValueNode.
128
+ * Supports string, number, and boolean literals.
129
+ */
130
+ function convertFieldRefOrLiteral(node) {
131
+ if (node.type === 'UnaryExpression' &&
132
+ (node.operator === '-' || node.operator === '+') &&
133
+ node.argument.type === 'Literal' &&
134
+ typeof node.argument.value === 'number') {
135
+ return {
136
+ type: 'literalValue',
137
+ value: node.operator === '-' ? -node.argument.value : node.argument.value,
138
+ start: node.start,
139
+ end: node.end,
140
+ };
141
+ }
142
+ if (node.type === 'Literal') {
143
+ const { value } = node;
144
+ if (typeof value === 'string' ||
145
+ typeof value === 'number' ||
146
+ typeof value === 'boolean') {
147
+ return {
148
+ type: 'literalValue',
149
+ value,
150
+ start: node.start,
151
+ end: node.end,
152
+ };
153
+ }
154
+ throw new AuthorizerExpressionParseError('Unsupported literal type. Only string, number, and boolean literals are supported.', node);
155
+ }
156
+ return convertFieldRef(node);
157
+ }
123
158
  /**
124
159
  * Convert a CallExpression to HasRoleNode or HasSomeRoleNode.
125
160
  * Supports:
@@ -322,8 +357,12 @@ function extractInfo(ast) {
322
357
  function walk(node) {
323
358
  switch (node.type) {
324
359
  case 'fieldComparison': {
325
- walkFieldRef(node.left);
326
- walkFieldRef(node.right);
360
+ if (node.left.type === 'fieldRef') {
361
+ walkFieldRef(node.left);
362
+ }
363
+ if (node.right.type === 'fieldRef') {
364
+ walkFieldRef(node.right);
365
+ }
327
366
  break;
328
367
  }
329
368
  case 'hasRole': {
@@ -1 +1 @@
1
- {"version":3,"file":"authorizer-expression-acorn-parser.js","sourceRoot":"","sources":["../../../../src/schema/models/authorizer/authorizer-expression-acorn-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authorizer-expression-acorn-parser.js","sourceRoot":"","sources":["../../../../src/schema/models/authorizer/authorizer-expression-acorn-parser.ts"],"names":[],"mappings":"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"}
@@ -14,9 +14,34 @@
14
14
  */
15
15
  export type AuthorizerExpressionNode = FieldComparisonNode | HasRoleNode | HasSomeRoleNode | NestedHasRoleNode | NestedHasSomeRoleNode | IsAuthenticatedNode | BinaryLogicalNode;
16
16
  /**
17
- * A field comparison expression: `left === right`
17
+ * A literal value in a comparison expression.
18
18
  *
19
- * Currently only supports strict equality (`===`).
19
+ * Supports string, number, and boolean literal values.
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * // 'active' in model.status === 'active'
24
+ * { type: 'literalValue', value: 'active', start: 16, end: 24 }
25
+ *
26
+ * // true in model.isPublished === true
27
+ * { type: 'literalValue', value: true, start: 20, end: 24 }
28
+ * ```
29
+ */
30
+ export interface LiteralValueNode {
31
+ type: 'literalValue';
32
+ /** The literal value */
33
+ value: string | number | boolean;
34
+ /** Start position in the source */
35
+ start: number;
36
+ /** End position in the source */
37
+ end: number;
38
+ }
39
+ /**
40
+ * A field comparison expression: `left === right` or `left !== right`
41
+ *
42
+ * Supports strict equality (`===`) and strict inequality (`!==`).
43
+ * Either side can be a field reference or a literal value, but at least
44
+ * one side must be a field reference.
20
45
  *
21
46
  * @example
22
47
  * ```typescript
@@ -27,13 +52,21 @@ export type AuthorizerExpressionNode = FieldComparisonNode | HasRoleNode | HasSo
27
52
  * left: { type: 'fieldRef', source: 'model', field: 'id', ... },
28
53
  * right: { type: 'fieldRef', source: 'auth', field: 'userId', ... },
29
54
  * }
55
+ *
56
+ * // model.status === 'active'
57
+ * {
58
+ * type: 'fieldComparison',
59
+ * operator: '===',
60
+ * left: { type: 'fieldRef', source: 'model', field: 'status', ... },
61
+ * right: { type: 'literalValue', value: 'active', ... },
62
+ * }
30
63
  * ```
31
64
  */
32
65
  export interface FieldComparisonNode {
33
66
  type: 'fieldComparison';
34
- operator: '===';
35
- left: FieldRefNode;
36
- right: FieldRefNode;
67
+ operator: '===' | '!==';
68
+ left: FieldRefNode | LiteralValueNode;
69
+ right: FieldRefNode | LiteralValueNode;
37
70
  }
38
71
  /**
39
72
  * A role check expression: `hasRole('roleName')`
@@ -1 +1 @@
1
- {"version":3,"file":"authorizer-expression-ast.d.ts","sourceRoot":"","sources":["../../../../src/schema/models/authorizer/authorizer-expression-ast.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAChC,mBAAmB,GACnB,WAAW,GACX,eAAe,GACf,iBAAiB,GACjB,qBAAqB,GACrB,mBAAmB,GACnB,iBAAiB,CAAC;AAEtB;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC;IAChB,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,YAAY,CAAC;CACrB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,CAAC;IACpB,mCAAmC;IACnC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,8EAA8E;IAC9E,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,eAAe,CAAC;IACtB,gEAAgE;IAChE,YAAY,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,aAAa,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,oFAAoF;IACpF,SAAS,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,gEAAgE;IAChE,YAAY,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,aAAa,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,sFAAsF;IACtF,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,oFAAoF;IACpF,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,iBAAiB,CAAC;CACzB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,wBAAwB,CAAC;IAC/B,KAAK,EAAE,wBAAwB,CAAC;CACjC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,mDAAmD;IACnD,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,qBAAqB;IACrB,GAAG,EAAE,wBAAwB,CAAC;IAC9B,8DAA8D;IAC9D,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,qDAAqD;IACrD,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,sDAAsD;IACtD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,0FAA0F;IAC1F,cAAc,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IAC5D,yDAAyD;IACzD,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,qBAAa,8BAA+B,SAAQ,KAAK;IACvD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;gBAElB,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,YAAY;gBACxC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;CAiB1E"}
1
+ {"version":3,"file":"authorizer-expression-ast.d.ts","sourceRoot":"","sources":["../../../../src/schema/models/authorizer/authorizer-expression-ast.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"authorizer-expression-ast.js","sourceRoot":"","sources":["../../../../src/schema/models/authorizer/authorizer-expression-ast.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA4OH;;GAEG;AACH,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IAC9C,aAAa,CAAU;IACvB,WAAW,CAAU;IAI9B,YACE,OAAe,EACf,eAAuC,EACvC,WAAoB;QAEpB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;QAE7C,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;YACxC,IAAI,CAAC,aAAa,GAAG,eAAe,CAAC,KAAK,CAAC;YAC3C,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,GAAG,eAAe,CAAC;YACrC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QACjC,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"authorizer-expression-ast.js","sourceRoot":"","sources":["../../../../src/schema/models/authorizer/authorizer-expression-ast.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA8QH;;GAEG;AACH,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IAC9C,aAAa,CAAU;IACvB,WAAW,CAAU;IAI9B,YACE,OAAe,EACf,eAAuC,EACvC,WAAoB;QAEpB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;QAE7C,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;YACxC,IAAI,CAAC,aAAa,GAAG,eAAe,CAAC,KAAK,CAAC;YAC3C,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,GAAG,eAAe,CAAC;YACrC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QACjC,CAAC;IACH,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"authorizer-expression-parser.d.ts","sourceRoot":"","sources":["../../../../src/schema/models/authorizer/authorizer-expression-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EACV,2BAA2B,EAC3B,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AA4B/E;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,0BAA2B,SAAQ,mBAAmB,CACjE,MAAM,EACN,wBAAwB,EACxB;IAAE,KAAK,EAAE,OAAO,eAAe,CAAA;CAAE,CAClC;IACC,QAAQ,CAAC,IAAI,2BAA2B;IAExC;;;OAGG;IACH,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAIjC;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,wBAAwB,CAAC,wBAAwB,CAAC;IAWxE;;;;;;;;OAQG;IACH,WAAW,CACT,WAAW,EAAE,wBAAwB,EACrC,OAAO,EAAE,2BAA2B,EACpC,aAAa,EAAE,uBAAuB,CAAC;QAAE,KAAK,EAAE,OAAO,eAAe,CAAA;KAAE,CAAC,GACxE,oBAAoB,EAAE;IAoBzB;;;;;;OAMG;IACH,eAAe,IAAI,uBAAuB,EAAE;IAK5C;;;;;OAKG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAKtC;;OAEG;IACH,OAAO,CAAC,eAAe;CA2ExB;AAED;;GAEG;AACH,eAAO,MAAM,0BAA0B,4BAAmC,CAAC"}
1
+ {"version":3,"file":"authorizer-expression-parser.d.ts","sourceRoot":"","sources":["../../../../src/schema/models/authorizer/authorizer-expression-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EACV,2BAA2B,EAC3B,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AA6B/E;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,0BAA2B,SAAQ,mBAAmB,CACjE,MAAM,EACN,wBAAwB,EACxB;IAAE,KAAK,EAAE,OAAO,eAAe,CAAA;CAAE,CAClC;IACC,QAAQ,CAAC,IAAI,2BAA2B;IAExC;;;OAGG;IACH,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAIjC;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,wBAAwB,CAAC,wBAAwB,CAAC;IAWxE;;;;;;;;OAQG;IACH,WAAW,CACT,WAAW,EAAE,wBAAwB,EACrC,OAAO,EAAE,2BAA2B,EACpC,aAAa,EAAE,uBAAuB,CAAC;QAAE,KAAK,EAAE,OAAO,eAAe,CAAA;KAAE,CAAC,GACxE,oBAAoB,EAAE;IAoBzB;;;;;;OAMG;IACH,eAAe,IAAI,uBAAuB,EAAE;IAK5C;;;;;OAKG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAKtC;;OAEG;IACH,OAAO,CAAC,eAAe;CA8ExB;AAED;;GAEG;AACH,eAAO,MAAM,0BAA0B,4BAAmC,CAAC"}
@@ -110,9 +110,13 @@ export class AuthorizerExpressionParser extends RefExpressionParser {
110
110
  }
111
111
  // Model fields are nested under model.model.fields in the definition
112
112
  const scalarFieldNames = new Set();
113
+ const fieldTypes = new Map();
113
114
  for (const field of model.model?.fields ?? []) {
114
115
  if (typeof field.name === 'string') {
115
116
  scalarFieldNames.add(field.name);
117
+ if (typeof field.type === 'string') {
118
+ fieldTypes.set(field.name, field.type);
119
+ }
116
120
  }
117
121
  }
118
122
  // Build relation info for nested authorizer validation
@@ -129,6 +133,7 @@ export class AuthorizerExpressionParser extends RefExpressionParser {
129
133
  return {
130
134
  modelName: model.name,
131
135
  scalarFieldNames,
136
+ fieldTypes,
132
137
  relationInfo,
133
138
  };
134
139
  }
@@ -1 +1 @@
1
- {"version":3,"file":"authorizer-expression-parser.js","sourceRoot":"","sources":["../../../../src/schema/models/authorizer/authorizer-expression-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authorizer-expression-parser.js","sourceRoot":"","sources":["../../../../src/schema/models/authorizer/authorizer-expression-parser.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@
8
8
  */
9
9
  import type { PluginSpecStore } from '#src/plugins/index.js';
10
10
  import type { RefExpressionWarning } from '#src/references/expression-types.js';
11
+ import type { ModelConfig } from '../models.js';
11
12
  import type { AuthorizerExpressionNode } from './authorizer-expression-ast.js';
12
13
  /**
13
14
  * Information about a model relation for nested authorizer validation.
@@ -28,6 +29,8 @@ export interface ModelValidationContext {
28
29
  modelName: string;
29
30
  /** Set of valid scalar field names on the model */
30
31
  scalarFieldNames: Set<string>;
32
+ /** Map of field name → field type (for literal type-checking) */
33
+ fieldTypes: Map<string, string>;
31
34
  /** Map of relation name → relation validation info (for nested authorizer checks) */
32
35
  relationInfo?: Map<string, RelationValidationInfo>;
33
36
  }
@@ -80,10 +83,5 @@ export declare function buildRelationValidationInfo(modelRelations: readonly {
80
83
  * @param modelConfig - The parsed model configuration
81
84
  * @returns Model validation context for the validator
82
85
  */
83
- export declare function createModelValidationContext(modelConfig: {
84
- name: string;
85
- fields?: {
86
- name: string;
87
- }[];
88
- }): ModelValidationContext;
86
+ export declare function createModelValidationContext(modelConfig: ModelConfig): ModelValidationContext;
89
87
  //# sourceMappingURL=authorizer-expression-validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"authorizer-expression-validator.d.ts","sourceRoot":"","sources":["../../../../src/schema/models/authorizer/authorizer-expression-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAKhF,OAAO,KAAK,EACV,wBAAwB,EAEzB,MAAM,gCAAgC,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,iFAAiF;IACjF,cAAc,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,gBAAgB,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,qFAAqF;IACrF,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;CACpD;AAyCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,wBAAwB,EAC7B,YAAY,EAAE,sBAAsB,EACpC,WAAW,EAAE,eAAe,EAC5B,UAAU,EAAE,OAAO,GAClB,oBAAoB,EAAE,CAyKxB;AAED;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CACzC,cAAc,EAAE,SAAS;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,SAAS,OAAO,EAAE,CAAC;CAChC,EAAE,EACH,SAAS,EAAE,SAAS;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,SAAS;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,CAAC;CACtD,EAAE,GACF,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CA8BrC;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,WAAW,EAAE;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC7B,GAAG,sBAAsB,CAWzB"}
1
+ {"version":3,"file":"authorizer-expression-validator.d.ts","sourceRoot":"","sources":["../../../../src/schema/models/authorizer/authorizer-expression-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAKhF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EACV,wBAAwB,EAGzB,MAAM,gCAAgC,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,iFAAiF;IACjF,cAAc,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,gBAAgB,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,iEAAiE;IACjE,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,qFAAqF;IACrF,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;CACpD;AAyCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,wBAAwB,EAC7B,YAAY,EAAE,sBAAsB,EACpC,WAAW,EAAE,eAAe,EAC5B,UAAU,EAAE,OAAO,GAClB,oBAAoB,EAAE,CA2OxB;AAED;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CACzC,cAAc,EAAE,SAAS;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,SAAS,OAAO,EAAE,CAAC;CAChC,EAAE,EACH,SAAS,EAAE,SAAS;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,SAAS;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,CAAC;CACtD,EAAE,GACF,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CA8BrC;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,WAAW,GACvB,sBAAsB,CAcxB"}
@@ -60,8 +60,24 @@ export function validateAuthorizerExpression(ast, modelContext, pluginStore, def
60
60
  function walk(node) {
61
61
  switch (node.type) {
62
62
  case 'fieldComparison': {
63
- validateFieldRef(node.left);
64
- validateFieldRef(node.right);
63
+ if (node.left.type === 'fieldRef') {
64
+ validateFieldRef(node.left);
65
+ }
66
+ if (node.right.type === 'fieldRef') {
67
+ validateFieldRef(node.right);
68
+ }
69
+ // Type-check: warn if a model field is compared to an incompatible literal
70
+ const fieldRef = node.left.type === 'fieldRef' ? node.left : node.right;
71
+ const literalNode = node.left.type === 'literalValue'
72
+ ? node.left
73
+ : node.right.type === 'literalValue'
74
+ ? node.right
75
+ : null;
76
+ if (fieldRef.type === 'fieldRef' &&
77
+ fieldRef.source === 'model' &&
78
+ literalNode !== null) {
79
+ validateLiteralTypeCompatibility(fieldRef, literalNode);
80
+ }
65
81
  break;
66
82
  }
67
83
  case 'hasRole': {
@@ -151,6 +167,45 @@ export function validateAuthorizerExpression(ast, modelContext, pluginStore, def
151
167
  }
152
168
  }
153
169
  }
170
+ function validateLiteralTypeCompatibility(fieldRefNode, literalNode) {
171
+ const { fieldTypes } = modelContext;
172
+ const fieldType = fieldTypes.get(fieldRefNode.field);
173
+ if (!fieldType)
174
+ return;
175
+ const literalJsType = typeof literalNode.value;
176
+ // Determine which JS types are compatible with each field type
177
+ const isCompatible = (() => {
178
+ switch (fieldType) {
179
+ case 'boolean': {
180
+ return literalJsType === 'boolean';
181
+ }
182
+ case 'int': {
183
+ return (typeof literalNode.value === 'number' &&
184
+ Number.isInteger(literalNode.value));
185
+ }
186
+ case 'float':
187
+ case 'decimal': {
188
+ return literalJsType === 'number';
189
+ }
190
+ case 'string':
191
+ case 'uuid':
192
+ case 'enum': {
193
+ return literalJsType === 'string';
194
+ }
195
+ default: {
196
+ // Unknown or unsupported field type — no warning
197
+ return true;
198
+ }
199
+ }
200
+ })();
201
+ if (!isCompatible) {
202
+ warnings.push({
203
+ message: `Literal value type '${literalJsType}' is not compatible with field '${fieldRefNode.field}' of type '${fieldType}'.`,
204
+ start: literalNode.start,
205
+ end: literalNode.end,
206
+ });
207
+ }
208
+ }
154
209
  function validateFieldRef(node) {
155
210
  if (node.source === 'model') {
156
211
  // Check if field exists on model
@@ -215,12 +270,15 @@ export function buildRelationValidationInfo(modelRelations, allModels) {
215
270
  */
216
271
  export function createModelValidationContext(modelConfig) {
217
272
  const scalarFieldNames = new Set();
218
- for (const field of modelConfig.fields ?? []) {
273
+ const fieldTypes = new Map();
274
+ for (const field of modelConfig.model.fields) {
219
275
  scalarFieldNames.add(field.name);
276
+ fieldTypes.set(field.name, field.type);
220
277
  }
221
278
  return {
222
279
  modelName: modelConfig.name,
223
280
  scalarFieldNames,
281
+ fieldTypes,
224
282
  };
225
283
  }
226
284
  //# sourceMappingURL=authorizer-expression-validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authorizer-expression-validator.js","sourceRoot":"","sources":["../../../../src/schema/models/authorizer/authorizer-expression-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authorizer-expression-validator.js","sourceRoot":"","sources":["../../../../src/schema/models/authorizer/authorizer-expression-validator.ts"],"names":[],"mappings":"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"}
@@ -420,6 +420,31 @@ export declare const createModelUniqueConstraintSchema: import("#src/schema/crea
420
420
  }>;
421
421
  export type ModelUniqueConstraintConfig = def.InferOutput<typeof createModelUniqueConstraintSchema>;
422
422
  export type ModelUniqueConstraintConfigInput = def.InferInput<typeof createModelUniqueConstraintSchema>;
423
+ export declare const createModelIndexSchema: import("#src/schema/creator/index.js").DefinitionSchemaCreatorWithSlots<z.ZodType<{
424
+ id: string;
425
+ fields: {
426
+ fieldRef: string;
427
+ }[];
428
+ }, {
429
+ id: string;
430
+ fields: {
431
+ fieldRef: string;
432
+ }[];
433
+ }, z.core.$ZodTypeInternals<{
434
+ id: string;
435
+ fields: {
436
+ fieldRef: string;
437
+ }[];
438
+ }, {
439
+ id: string;
440
+ fields: {
441
+ fieldRef: string;
442
+ }[];
443
+ }>>, {
444
+ modelSlot: import("#src/references/index.js").DefinitionEntityType<false>;
445
+ }>;
446
+ export type ModelIndexConfig = def.InferOutput<typeof createModelIndexSchema>;
447
+ export type ModelIndexConfigInput = def.InferInput<typeof createModelIndexSchema>;
423
448
  export declare const createModelServiceSchema: import("#src/schema/creator/index.js").DefinitionSchemaCreatorWithSlots<z.ZodObject<{
424
449
  create: z.ZodPrefault<z.ZodObject<{
425
450
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -860,6 +885,27 @@ export declare const createModelBaseSchema: import("#src/schema/creator/index.js
860
885
  fieldRef: string;
861
886
  }[];
862
887
  }>>>>;
888
+ indexes: z.ZodPrefault<z.ZodArray<z.ZodType<{
889
+ id: string;
890
+ fields: {
891
+ fieldRef: string;
892
+ }[];
893
+ }, {
894
+ id: string;
895
+ fields: {
896
+ fieldRef: string;
897
+ }[];
898
+ }, z.core.$ZodTypeInternals<{
899
+ id: string;
900
+ fields: {
901
+ fieldRef: string;
902
+ }[];
903
+ }, {
904
+ id: string;
905
+ fields: {
906
+ fieldRef: string;
907
+ }[];
908
+ }>>>>;
863
909
  }, z.core.$strip>;
864
910
  service: z.ZodPrefault<z.ZodObject<{
865
911
  create: z.ZodPrefault<z.ZodObject<{
@@ -1061,6 +1107,12 @@ export declare const createModelSchema: (context: import("#src/schema/creator/in
1061
1107
  fieldRef: string;
1062
1108
  }[];
1063
1109
  }[];
1110
+ indexes: {
1111
+ id: string;
1112
+ fields: {
1113
+ fieldRef: string;
1114
+ }[];
1115
+ }[];
1064
1116
  };
1065
1117
  service: {
1066
1118
  create: {
@@ -1248,6 +1300,12 @@ export declare const createModelSchema: (context: import("#src/schema/creator/in
1248
1300
  fieldRef: string;
1249
1301
  }[];
1250
1302
  }[] | undefined;
1303
+ indexes?: {
1304
+ id: string;
1305
+ fields: {
1306
+ fieldRef: string;
1307
+ }[];
1308
+ }[] | undefined;
1251
1309
  };
1252
1310
  service?: {
1253
1311
  create?: {
@@ -1435,6 +1493,12 @@ export declare const createModelSchema: (context: import("#src/schema/creator/in
1435
1493
  fieldRef: string;
1436
1494
  }[];
1437
1495
  }[];
1496
+ indexes: {
1497
+ id: string;
1498
+ fields: {
1499
+ fieldRef: string;
1500
+ }[];
1501
+ }[];
1438
1502
  };
1439
1503
  service: {
1440
1504
  create: {
@@ -1622,6 +1686,12 @@ export declare const createModelSchema: (context: import("#src/schema/creator/in
1622
1686
  fieldRef: string;
1623
1687
  }[];
1624
1688
  }[] | undefined;
1689
+ indexes?: {
1690
+ id: string;
1691
+ fields: {
1692
+ fieldRef: string;
1693
+ }[];
1694
+ }[] | undefined;
1625
1695
  };
1626
1696
  service?: {
1627
1697
  create?: {
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/schema/models/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/schema/models/models.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ import { createModelAuthorizerSchema } from './authorizer/authorizer.js';
11
11
  import { modelAuthorizerRoleEntityType } from './authorizer/types.js';
12
12
  import { createModelGraphqlSchema } from './graphql.js';
13
13
  import { createTransformerSchema } from './transformers/transformers.js';
14
- import { modelEntityType, modelEnumEntityType, modelEnumValueEntityType, modelForeignRelationEntityType, modelLocalRelationEntityType, modelScalarFieldEntityType, modelTransformerEntityType, modelUniqueConstraintEntityType, } from './types.js';
14
+ import { modelEntityType, modelEnumEntityType, modelEnumValueEntityType, modelForeignRelationEntityType, modelIndexEntityType, modelLocalRelationEntityType, modelScalarFieldEntityType, modelTransformerEntityType, modelUniqueConstraintEntityType, } from './types.js';
15
15
  export const createModelScalarFieldSchema = definitionSchemaWithSlots({ modelSlot: modelEntityType }, (ctx, { modelSlot }) => {
16
16
  const commonFields = {
17
17
  id: z.string(),
@@ -176,6 +176,25 @@ export const createModelUniqueConstraintSchema = definitionSchemaWithSlots({ mod
176
176
  });
177
177
  },
178
178
  }));
179
+ export const createModelIndexSchema = definitionSchemaWithSlots({ modelSlot: modelEntityType }, (ctx, { modelSlot }) => ctx.withEnt(z.object({
180
+ id: z.string(),
181
+ fields: z.array(z.object({
182
+ fieldRef: ctx.withRef({
183
+ type: modelScalarFieldEntityType,
184
+ onDelete: 'RESTRICT',
185
+ parentSlot: modelSlot,
186
+ }),
187
+ })),
188
+ }), {
189
+ type: modelIndexEntityType,
190
+ parentSlot: modelSlot,
191
+ getNameResolver(value) {
192
+ return createDefinitionEntityNameResolver({
193
+ idsToResolve: { fields: value.fields.map((f) => f.fieldRef) },
194
+ resolveName: (entityNames) => entityNames.fields.join('_'),
195
+ });
196
+ },
197
+ }));
179
198
  /**
180
199
  * Checks that enabled service methods have at least one field or transformer.
181
200
  */
@@ -370,6 +389,9 @@ export const createModelBaseSchema = definitionSchemaWithSlots({ modelSlot: mode
370
389
  uniqueConstraints: z
371
390
  .array(createModelUniqueConstraintSchema(ctx, slots))
372
391
  .apply(withDefault([])),
392
+ indexes: z
393
+ .array(createModelIndexSchema(ctx, slots))
394
+ .apply(withDefault([])),
373
395
  }),
374
396
  service: createModelServiceSchema(ctx, slots).apply(withDefault({})),
375
397
  graphql: ctx.withDefault(createModelGraphqlSchema(ctx, slots), {}),