@antelopejs/interface-data-api 0.3.0 → 0.5.0

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 (124) hide show
  1. package/README.md +1 -1
  2. package/dist/components.d.ts +32 -9
  3. package/dist/components.js +113 -628
  4. package/dist/components.js.map +1 -1
  5. package/dist/index.d.ts +41 -36
  6. package/dist/index.js +94 -92
  7. package/dist/index.js.map +1 -1
  8. package/dist/internal/computed.d.ts +6 -0
  9. package/dist/internal/computed.js +43 -0
  10. package/dist/internal/computed.js.map +1 -0
  11. package/dist/internal/controller-types.d.ts +19 -0
  12. package/dist/internal/controller-types.js +4 -0
  13. package/dist/internal/controller-types.js.map +1 -0
  14. package/dist/internal/default-filter.d.ts +4 -0
  15. package/dist/internal/default-filter.js +19 -0
  16. package/dist/internal/default-filter.js.map +1 -0
  17. package/dist/internal/deferred-joined-stream.d.ts +11 -0
  18. package/dist/internal/deferred-joined-stream.js +112 -0
  19. package/dist/internal/deferred-joined-stream.js.map +1 -0
  20. package/dist/internal/field-types.d.ts +183 -0
  21. package/dist/internal/field-types.js +4 -0
  22. package/dist/internal/field-types.js.map +1 -0
  23. package/dist/internal/filters.d.ts +4 -0
  24. package/dist/internal/filters.js +15 -0
  25. package/dist/internal/filters.js.map +1 -0
  26. package/dist/internal/foreign.d.ts +6 -0
  27. package/dist/internal/foreign.js +116 -0
  28. package/dist/internal/foreign.js.map +1 -0
  29. package/dist/internal/guards.d.ts +20 -0
  30. package/dist/internal/guards.js +74 -0
  31. package/dist/internal/guards.js.map +1 -0
  32. package/dist/internal/joined.d.ts +28 -0
  33. package/dist/internal/joined.js +127 -0
  34. package/dist/internal/joined.js.map +1 -0
  35. package/dist/internal/list.d.ts +16 -0
  36. package/dist/internal/list.js +178 -0
  37. package/dist/internal/list.js.map +1 -0
  38. package/dist/internal/meta-records.d.ts +17 -0
  39. package/dist/internal/meta-records.js +73 -0
  40. package/dist/internal/meta-records.js.map +1 -0
  41. package/dist/internal/properties.d.ts +4 -0
  42. package/dist/internal/properties.js +43 -0
  43. package/dist/internal/properties.js.map +1 -0
  44. package/dist/internal/table-reference.d.ts +11 -0
  45. package/dist/internal/table-reference.js +46 -0
  46. package/dist/internal/table-reference.js.map +1 -0
  47. package/dist/internal/tables.d.ts +18 -0
  48. package/dist/internal/tables.js +37 -0
  49. package/dist/internal/tables.js.map +1 -0
  50. package/dist/internal/validation.d.ts +11 -0
  51. package/dist/internal/validation.js +88 -0
  52. package/dist/internal/validation.js.map +1 -0
  53. package/dist/metadata.d.ts +27 -228
  54. package/dist/metadata.js +61 -188
  55. package/dist/metadata.js.map +1 -1
  56. package/dist/tests/components/access_control.test.js +20 -20
  57. package/dist/tests/components/access_control.test.js.map +1 -1
  58. package/dist/tests/components/computed.test.js +28 -30
  59. package/dist/tests/components/computed.test.js.map +1 -1
  60. package/dist/tests/components/cross_instance.test.js +8 -6
  61. package/dist/tests/components/cross_instance.test.js.map +1 -1
  62. package/dist/tests/components/deferred_joined.test.js +56 -53
  63. package/dist/tests/components/deferred_joined.test.js.map +1 -1
  64. package/dist/tests/components/filter_options.test.js +8 -7
  65. package/dist/tests/components/filter_options.test.js.map +1 -1
  66. package/dist/tests/components/foreign_computed.test.js +14 -16
  67. package/dist/tests/components/foreign_computed.test.js.map +1 -1
  68. package/dist/tests/components/foreign_joined.test.js +19 -27
  69. package/dist/tests/components/foreign_joined.test.js.map +1 -1
  70. package/dist/tests/components/joined.test.js +41 -45
  71. package/dist/tests/components/joined.test.js.map +1 -1
  72. package/dist/tests/components/listable.test.js +59 -58
  73. package/dist/tests/components/listable.test.js.map +1 -1
  74. package/dist/tests/components/localized_sort.test.d.ts +1 -0
  75. package/dist/tests/components/localized_sort.test.js +131 -0
  76. package/dist/tests/components/localized_sort.test.js.map +1 -0
  77. package/dist/tests/components/mandatory.test.js +33 -28
  78. package/dist/tests/components/mandatory.test.js.map +1 -1
  79. package/dist/tests/components/modifier_key.test.js +19 -18
  80. package/dist/tests/components/modifier_key.test.js.map +1 -1
  81. package/dist/tests/components/parse_body.test.d.ts +1 -0
  82. package/dist/tests/components/parse_body.test.js +75 -0
  83. package/dist/tests/components/parse_body.test.js.map +1 -0
  84. package/dist/tests/components/parsed_value.test.js +27 -21
  85. package/dist/tests/components/parsed_value.test.js.map +1 -1
  86. package/dist/tests/components/partial_edit.test.js +33 -32
  87. package/dist/tests/components/partial_edit.test.js.map +1 -1
  88. package/dist/tests/components/per_action_access.test.js +12 -12
  89. package/dist/tests/components/per_action_access.test.js.map +1 -1
  90. package/dist/tests/components/validator.test.js +45 -37
  91. package/dist/tests/components/validator.test.js.map +1 -1
  92. package/dist/tests/helpers/other-instance.d.ts +11 -1
  93. package/dist/tests/helpers/other-instance.js +27 -5
  94. package/dist/tests/helpers/other-instance.js.map +1 -1
  95. package/dist/tests/index/get_guard.test.js +6 -6
  96. package/dist/tests/index/get_guard.test.js.map +1 -1
  97. package/dist/tests/index/inheritance.test.js +10 -9
  98. package/dist/tests/index/inheritance.test.js.map +1 -1
  99. package/dist/tests/index/routes.test.js +40 -44
  100. package/dist/tests/index/routes.test.js.map +1 -1
  101. package/dist/tests/integration.test.d.ts +1 -1
  102. package/dist/tests/integration.test.js +53 -729
  103. package/dist/tests/integration.test.js.map +1 -1
  104. package/dist/tests/internal/http.d.ts +23 -0
  105. package/dist/tests/internal/http.js +35 -0
  106. package/dist/tests/internal/http.js.map +1 -0
  107. package/dist/tests/internal/shop-api.d.ts +1 -0
  108. package/dist/tests/internal/shop-api.js +331 -0
  109. package/dist/tests/internal/shop-api.js.map +1 -0
  110. package/dist/tests/internal/shop-schema.d.ts +154 -0
  111. package/dist/tests/internal/shop-schema.js +387 -0
  112. package/dist/tests/internal/shop-schema.js.map +1 -0
  113. package/dist/tests/utils.d.ts +5 -5
  114. package/dist/tests/utils.js +1 -3
  115. package/dist/tests/utils.js.map +1 -1
  116. package/dist/tests/utils.test.js +10 -11
  117. package/dist/tests/utils.test.js.map +1 -1
  118. package/docs/3.routes.md +8 -3
  119. package/docs/5.validators.md +16 -7
  120. package/docs/6.listable.md +4 -0
  121. package/docs/8.filters.md +7 -3
  122. package/package.json +17 -6
  123. package/skills/data-api-interface/SKILL.md +4 -0
  124. package/skills/data-api-interface/cases.json +99 -0
package/dist/metadata.js CHANGED
@@ -1,12 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ModifierKey = exports.ModelReference = exports.Filter = exports.Validator = exports.Foreign = exports.Computed = exports.Joined = exports.Sortable = exports.Optional = exports.Mandatory = exports.Listable = exports.Access = exports.DataAPIMeta = exports.AccessMode = void 0;
3
+ exports.ModifierKey = exports.ModelReference = exports.Validator = exports.Foreign = exports.Computed = exports.Joined = exports.Sortable = exports.Optional = exports.Mandatory = exports.Listable = exports.Access = exports.DataAPIMeta = exports.AccessMode = void 0;
4
4
  exports.GetEffectiveMode = GetEffectiveMode;
5
5
  exports.FilterValuesOf = FilterValuesOf;
6
+ exports.Filter = Filter;
6
7
  exports.GetDataControllerMeta = GetDataControllerMeta;
7
8
  const interface_core_1 = require("@antelopejs/interface-core");
8
9
  const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
9
10
  const decorators_1 = require("@antelopejs/interface-core/decorators");
11
+ const default_filter_1 = require("./internal/default-filter");
12
+ const meta_records_1 = require("./internal/meta-records");
13
+ const guards_1 = require("./internal/guards");
14
+ const table_reference_1 = require("./internal/table-reference");
10
15
  /**
11
16
  * Field access mode enum.
12
17
  */
@@ -29,117 +34,47 @@ function GetEffectiveMode(field, action) {
29
34
  return field.mode;
30
35
  return field.modeOverrides?.[action] ?? field.mode;
31
36
  }
37
+ function isFilterList(filter) {
38
+ return Array.isArray(filter[0]);
39
+ }
32
40
  /** The filters of one field as a list, whether it holds one or several. */
33
41
  function FilterValuesOf(filter) {
34
- return Array.isArray(filter[0])
35
- ? filter
36
- : [filter];
37
- }
38
- function readTableMetadata(table) {
39
- const meta = (0, interface_database_decorators_1.getMetadata)(table, interface_database_decorators_1.DatumStaticMetadata);
40
- return { schemaName: meta?.schemaName, tableName: meta?.tableName };
41
- }
42
- function resolveTableReference(sourceSchemaName, table, explicitSchema, contextLabel) {
43
- if (typeof table !== "string") {
44
- const inferred = readTableMetadata(table);
45
- const schemaName = explicitSchema ?? inferred.schemaName;
46
- const tableName = inferred.tableName;
47
- if (!schemaName || !tableName) {
48
- throw new Error(`Unable to infer table name/schema for ${contextLabel}: pass @RegisterTable on the table class`);
49
- }
50
- if (explicitSchema &&
51
- inferred.schemaName &&
52
- explicitSchema !== inferred.schemaName) {
53
- throw new Error(`Schema mismatch for ${contextLabel}: class registers in "${inferred.schemaName}" but option specifies "${explicitSchema}"`);
54
- }
55
- return {
56
- tableName,
57
- tableClass: table,
58
- schemaName: schemaName === sourceSchemaName ? undefined : schemaName,
59
- };
60
- }
61
- const targetSchema = explicitSchema ?? sourceSchemaName;
62
- const databaseSchema = (0, interface_database_decorators_1.getTablesForSchema)(targetSchema);
63
- if (!databaseSchema) {
64
- throw new Error(`Schema "${targetSchema}" not found for ${contextLabel}`);
65
- }
66
- const tableClass = databaseSchema[table];
67
- const isOtherSchema = targetSchema !== sourceSchemaName;
68
- if (isOtherSchema && !tableClass) {
69
- throw new Error(`Table "${table}" is not registered in schema "${targetSchema}" for ${contextLabel}: register its class with @RegisterTable before declaring the field`);
70
- }
71
- return {
72
- tableName: table,
73
- tableClass,
74
- schemaName: isOtherSchema ? targetSchema : undefined,
75
- };
42
+ return isFilterList(filter) ? filter : [filter];
76
43
  }
77
44
  /**
78
45
  * Metadata Class containing the DataAPI information.
79
46
  */
80
47
  class DataAPIMeta {
81
48
  target;
82
- /**
83
- * Key symbol.
84
- */
49
+ /** Key symbol. */
85
50
  static key = Symbol.for("@antelopejs/interface-data-api/DataAPIMeta@1");
86
51
  filters = {};
87
- /**
88
- * Fields information.
89
- */
52
+ /** Fields information. */
90
53
  fields = {};
91
- /**
92
- * Fields to pluck in listing endpoints.
93
- */
54
+ /** Fields to pluck in listing endpoints. */
94
55
  pluck = {};
95
- /**
96
- * Key of the DataAPI class containing a database table instance.
97
- */
56
+ /** Key of the DataAPI class containing a database table instance. */
98
57
  modelKey;
99
- /**
100
- * Keys of the DataAPI class containing database modifier keys.
101
- */
58
+ /** Keys of the DataAPI class containing database modifier keys. */
102
59
  modifierKeys = new Map();
103
- /**
104
- * Schema name where the table is registered.
105
- */
60
+ /** Schema name where the table is registered. */
106
61
  schemaName;
107
- /**
108
- * Database Schema class.
109
- */
62
+ /** Database Schema class. */
110
63
  tableClass;
111
- /**
112
- * Database Schema table name.
113
- */
64
+ /** Database Schema table name. */
114
65
  tableName;
115
- /**
116
- * Readable fields.
117
- */
66
+ /** Readable fields. */
118
67
  readable = {};
119
- /**
120
- * Writeable fields.
121
- */
68
+ /** Writeable fields. */
122
69
  writable = {};
123
- /**
124
- * Registered DataAPI endpoints.
125
- */
70
+ /** Registered DataAPI endpoints. */
126
71
  endpoints = {};
127
72
  constructor(target) {
128
73
  this.target = target;
129
74
  }
130
75
  inherit(parent) {
131
- const merge = (src, dst) => {
132
- for (const key in src) {
133
- if (!(key in dst)) {
134
- dst[key] = src[key];
135
- }
136
- else if (Array.isArray(dst[key])) {
137
- dst[key].push(...src[key]);
138
- }
139
- }
140
- };
141
- merge(parent.filters, this.filters);
142
- merge(parent.fields, this.fields);
76
+ (0, meta_records_1.merge)(parent.filters, this.filters);
77
+ (0, meta_records_1.merge)(parent.fields, this.fields);
143
78
  for (const [key, list] of Object.entries(parent.pluck)) {
144
79
  this.pluck[key] = new Set(list);
145
80
  }
@@ -152,7 +87,7 @@ class DataAPIMeta {
152
87
  }
153
88
  }
154
89
  this.recomputeAccess();
155
- merge(parent.endpoints, this.endpoints);
90
+ (0, meta_records_1.merge)(parent.endpoints, this.endpoints);
156
91
  this.tableClass = parent.tableClass;
157
92
  this.tableName = parent.tableName;
158
93
  this.schemaName = parent.schemaName;
@@ -164,21 +99,7 @@ class DataAPIMeta {
164
99
  return this.fields[name];
165
100
  }
166
101
  recomputeListable() {
167
- for (const set of Object.values(this.pluck)) {
168
- set.clear();
169
- }
170
- for (const [_, field] of Object.entries(this.fields)) {
171
- if (field.listable) {
172
- for (const [mode, names] of Object.entries(field.listable)) {
173
- if (!(mode in this.pluck)) {
174
- this.pluck[mode] = new Set();
175
- }
176
- for (const name of names) {
177
- this.pluck[mode].add(name);
178
- }
179
- }
180
- }
181
- }
102
+ (0, meta_records_1.rebuildPluck)(this.pluck, this.fields);
182
103
  }
183
104
  recomputeAccess() {
184
105
  for (const key of Object.keys(this.readable)) {
@@ -238,14 +159,7 @@ class DataAPIMeta {
238
159
  */
239
160
  setListable(name, requiredFields, mode = "list") {
240
161
  const field = this.field(name);
241
- const baseNames = typeof requiredFields === "boolean"
242
- ? requiredFields
243
- ? [name]
244
- : []
245
- : requiredFields;
246
- const names = baseNames.length > 0 && field.joined
247
- ? Array.from(new Set([...baseNames, name, field.joined.localKey]))
248
- : baseNames;
162
+ const names = (0, meta_records_1.listedNames)(name, requiredFields, field);
249
163
  if (!field.listable) {
250
164
  field.listable = {};
251
165
  }
@@ -269,7 +183,6 @@ class DataAPIMeta {
269
183
  * @param name Field name
270
184
  * @param active Sortable
271
185
  * @param noIndex Ignore database indexes
272
- * @returns
273
186
  */
274
187
  setSortable(name, active, noIndex) {
275
188
  const field = this.field(name);
@@ -313,7 +226,7 @@ class DataAPIMeta {
313
226
  * @param options Joined options (other table, local key, remote field, remote index)
314
227
  */
315
228
  setJoined(name, options) {
316
- const resolved = resolveTableReference(this.schemaName, options.table, options.schema, `joined field "${name}"`);
229
+ const resolved = (0, table_reference_1.resolveTableReference)(this.schemaName, options.table, options.schema, `joined field "${name}"`);
317
230
  const field = this.field(name);
318
231
  field.joined = {
319
232
  table: resolved.tableName,
@@ -345,41 +258,15 @@ class DataAPIMeta {
345
258
  * @param table Other table
346
259
  * @param index Other table index
347
260
  * @param multi Index is a multi index
261
+ * @param targetMeta Metadata of the target's data controller. Its `@Joined`
262
+ * fields that `pluck` names, or all of them when `pluck` is unset, are
263
+ * resolved on the relation unless it is `multi`.
348
264
  */
349
- setForeign(name, table, index, multi, pluck, schema, targetMeta) {
350
- const resolved = resolveTableReference(this.schemaName, table, schema, `foreign field "${name}"`);
351
- // Capture the target's `@Joined` fields so the foreign lookup can
352
- // re-materialize them. A joined field is not a physical column, so a plain
353
- // pluck of the target table returns it empty; we resolve it with a second
354
- // lookup at query time (see `Query.Foreign`). Only joined fields that are
355
- // actually requested (present in `pluck`) are captured. Their `localKey`
356
- // is deliberately NOT added to the stored pluck: `foreign[4]` also drives
357
- // response field filtering (`Validation.ClearInternal`), so adding the join
358
- // key here would leak it into the API output. `Query.Foreign` extends the
359
- // lookup pluck with the join keys at query time instead.
360
- let targetJoined;
361
- if (targetMeta) {
362
- const pluckSet = pluck ? new Set(pluck) : undefined;
363
- const groups = [];
364
- for (const [fieldName, field] of Object.entries(targetMeta.fields)) {
365
- if (!field.joined || (pluckSet && !pluckSet.has(fieldName))) {
366
- continue;
367
- }
368
- const j = field.joined;
369
- groups.push({
370
- name: fieldName,
371
- table: j.table,
372
- tableClass: j.tableClass,
373
- localKey: j.localKey,
374
- remoteField: j.remoteField,
375
- remoteIndex: j.remoteIndex,
376
- schemaName: j.schemaName,
377
- });
378
- }
379
- if (groups.length > 0) {
380
- targetJoined = groups;
381
- }
382
- }
265
+ setForeign(name, table, ...[index, multi, pluck, schema, targetMeta]) {
266
+ const resolved = (0, table_reference_1.resolveTableReference)(this.schemaName, table, schema, `foreign field "${name}"`);
267
+ const targetJoined = targetMeta
268
+ ? (0, meta_records_1.targetJoinedFields)(targetMeta.fields, pluck)
269
+ : undefined;
383
270
  this.field(name).foreign = [
384
271
  resolved.tableName,
385
272
  resolved.tableClass,
@@ -468,15 +355,19 @@ class DataAPIMeta {
468
355
  }
469
356
  }
470
357
  exports.DataAPIMeta = DataAPIMeta;
358
+ /** Declares a decorated field; a symbol-named property declares none. */
359
+ function onField(target, key, declare) {
360
+ if (!(0, guards_1.isString)(key))
361
+ return;
362
+ declare((0, interface_core_1.GetMetadata)(target.constructor, DataAPIMeta), key);
363
+ }
471
364
  /**
472
365
  * Sets the access mode of a DataAPI field.
473
366
  *
474
367
  * @param mode Access mode
475
368
  */
476
369
  exports.Access = (0, decorators_1.MakeMethodAndPropertyDecorator)((target, key, desc, mode, overrides) => {
477
- (0, interface_core_1.GetMetadata)(target.constructor, DataAPIMeta)
478
- .setDescriptor(key, desc)
479
- .setMode(key, mode, overrides);
370
+ onField(target, key, (meta, name) => meta.setDescriptor(name, desc).setMode(name, mode, overrides));
480
371
  });
481
372
  /**
482
373
  * Sets the listable state of a DataAPI field.
@@ -490,9 +381,9 @@ exports.Access = (0, decorators_1.MakeMethodAndPropertyDecorator)((target, key,
490
381
  * @param mode Independent list mode, defaulting to "list"
491
382
  */
492
383
  exports.Listable = (0, decorators_1.MakeMethodAndPropertyDecorator)((target, key, desc, requiredFields, mode) => {
493
- (0, interface_core_1.GetMetadata)(target.constructor, DataAPIMeta)
494
- .setDescriptor(key, desc)
495
- .setListable(key, typeof requiredFields !== "undefined" ? requiredFields : true, mode);
384
+ onField(target, key, (meta, name) => meta
385
+ .setDescriptor(name, desc)
386
+ .setListable(name, requiredFields === undefined ? true : requiredFields, mode));
496
387
  });
497
388
  /**
498
389
  * Declares a field to be mandatory in calls to the given methods.
@@ -500,9 +391,7 @@ exports.Listable = (0, decorators_1.MakeMethodAndPropertyDecorator)((target, key
500
391
  * @param modes DataAPI methods (ex: `new`, `edit`)
501
392
  */
502
393
  exports.Mandatory = (0, decorators_1.MakeMethodAndPropertyDecorator)((target, key, desc, ...modes) => {
503
- (0, interface_core_1.GetMetadata)(target.constructor, DataAPIMeta)
504
- .setDescriptor(key, desc)
505
- .setMandatory(key, modes);
394
+ onField(target, key, (meta, name) => meta.setDescriptor(name, desc).setMandatory(name, modes));
506
395
  });
507
396
  /**
508
397
  * Declares a field as being optional.
@@ -510,9 +399,7 @@ exports.Mandatory = (0, decorators_1.MakeMethodAndPropertyDecorator)((target, ke
510
399
  * This must be used on fields with no other decorators.
511
400
  */
512
401
  exports.Optional = (0, decorators_1.MakeMethodAndPropertyDecorator)((target, key, desc) => {
513
- (0, interface_core_1.GetMetadata)(target.constructor, DataAPIMeta)
514
- .setDescriptor(key, desc)
515
- .setMandatory(key, []);
402
+ onField(target, key, (meta, name) => meta.setDescriptor(name, desc).setMandatory(name, []));
516
403
  });
517
404
  /**
518
405
  * Declares a field to be useable as the sorting key.
@@ -520,9 +407,9 @@ exports.Optional = (0, decorators_1.MakeMethodAndPropertyDecorator)((target, key
520
407
  * @param options Options
521
408
  */
522
409
  exports.Sortable = (0, decorators_1.MakeMethodAndPropertyDecorator)((target, key, desc, options) => {
523
- (0, interface_core_1.GetMetadata)(target.constructor, DataAPIMeta)
524
- .setDescriptor(key, desc)
525
- .setSortable(key, true, options?.noIndex ?? false);
410
+ onField(target, key, (meta, name) => meta
411
+ .setDescriptor(name, desc)
412
+ .setSortable(name, true, options?.noIndex ?? false));
526
413
  });
527
414
  /**
528
415
  * Declares a field whose value is imported (flattened) from another table.
@@ -535,7 +422,7 @@ exports.Sortable = (0, decorators_1.MakeMethodAndPropertyDecorator)((target, key
535
422
  * Joined fields are auto read-only and forced to non-indexed sort.
536
423
  */
537
424
  exports.Joined = (0, decorators_1.MakePropertyDecorator)((target, key, options) => {
538
- (0, interface_core_1.GetMetadata)(target.constructor, DataAPIMeta).setJoined(key, options);
425
+ onField(target, key, (meta, name) => meta.setJoined(name, options));
539
426
  });
540
427
  /**
541
428
  * Declares a field whose value is computed in-database from an expression.
@@ -552,7 +439,7 @@ exports.Joined = (0, decorators_1.MakePropertyDecorator)((target, key, options)
552
439
  * @param options Computed options (`default`: fallback when the expression yields null)
553
440
  */
554
441
  exports.Computed = (0, decorators_1.MakePropertyDecorator)((target, key, expr, options) => {
555
- (0, interface_core_1.GetMetadata)(target.constructor, DataAPIMeta).setComputed(key, expr, options);
442
+ onField(target, key, (meta, name) => meta.setComputed(name, expr, options));
556
443
  });
557
444
  /**
558
445
  * Declares a field to be a foreign key.
@@ -561,10 +448,10 @@ exports.Computed = (0, decorators_1.MakePropertyDecorator)((target, key, expr, o
561
448
  * @param index Other table index
562
449
  * @param multi Index is a multi index
563
450
  */
564
- exports.Foreign = (0, decorators_1.MakeMethodAndPropertyDecorator)((target, key, desc, table, index, multi, pluck, schema, targetMeta) => {
565
- (0, interface_core_1.GetMetadata)(target.constructor, DataAPIMeta)
566
- .setDescriptor(key, desc)
567
- .setForeign(key, table, index, multi, pluck, schema, targetMeta);
451
+ exports.Foreign = (0, decorators_1.MakeMethodAndPropertyDecorator)((target, key, desc, ...[table, index, multi, pluck, schema, targetMeta]) => {
452
+ onField(target, key, (meta, name) => meta
453
+ .setDescriptor(name, desc)
454
+ .setForeign(name, table, index, multi, pluck, schema, targetMeta));
568
455
  });
569
456
  /**
570
457
  * Set the validation function of a field.
@@ -572,26 +459,10 @@ exports.Foreign = (0, decorators_1.MakeMethodAndPropertyDecorator)((target, key,
572
459
  * @param validator Value validator callback
573
460
  */
574
461
  exports.Validator = (0, decorators_1.MakeMethodAndPropertyDecorator)((target, key, desc, validator) => {
575
- (0, interface_core_1.GetMetadata)(target.constructor, DataAPIMeta)
576
- .setDescriptor(key, desc)
577
- .setValidator(key, validator);
462
+ onField(target, key, (meta, name) => meta.setDescriptor(name, desc).setValidator(name, validator));
578
463
  });
579
- const DEFAULT_FILTER_OPERATORS = {
580
- eq: (proxy, value) => proxy.eq(value),
581
- ne: (proxy, value) => proxy.ne(value),
582
- gt: (proxy, value) => proxy.gt(value),
583
- ge: (proxy, value) => proxy.ge(value),
584
- lt: (proxy, value) => proxy.lt(value),
585
- le: (proxy, value) => proxy.le(value),
586
- };
587
- function applyDefaultFilterMode(proxy, value, mode) {
588
- return DEFAULT_FILTER_OPERATORS[mode](proxy, value);
589
- }
590
- function createDefaultFilter() {
591
- return (_context, proxy, _key, value, mode) => applyDefaultFilterMode(proxy, value, mode);
592
- }
593
464
  const FilterDecoratorFactory = (0, decorators_1.MakePropertyDecorator)((target, key, func, useIndex) => {
594
- (0, interface_core_1.GetMetadata)(key ? target.constructor : target, DataAPIMeta).setFilter(key, func || createDefaultFilter(), useIndex === undefined ? !func : useIndex);
465
+ onField(target, key, (meta, name) => meta.setFilter(name, func || (0, default_filter_1.createDefaultFilter)(), useIndex === undefined ? !func : useIndex));
595
466
  });
596
467
  /**
597
468
  * Creates a field filter.
@@ -602,7 +473,9 @@ const FilterDecoratorFactory = (0, decorators_1.MakePropertyDecorator)((target,
602
473
  * to true for the default filter and false for custom filters. An indexed
603
474
  * equality lookup uses the raw string and bypasses the callback.
604
475
  */
605
- exports.Filter = FilterDecoratorFactory;
476
+ function Filter(func, useIndex) {
477
+ return FilterDecoratorFactory(func, useIndex);
478
+ }
606
479
  /**
607
480
  * Sets which field will contain the reference to the database model instance.
608
481
  */
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"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"}
@@ -15,9 +15,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const node_path_1 = __importDefault(require("node:path"));
16
16
  const chai_1 = require("chai");
17
17
  const interface_api_1 = require("@antelopejs/interface-api");
18
- const metadata_1 = require("@antelopejs/interface-data-api/metadata");
19
- const interface_data_api_1 = require("@antelopejs/interface-data-api");
18
+ const metadata_1 = require("../../metadata");
19
+ const index_1 = require("../../index");
20
20
  const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
21
+ const http_1 = require("../internal/http");
21
22
  const utils_1 = require("../utils");
22
23
  const currentTestName = node_path_1.default
23
24
  .basename(__filename)
@@ -56,16 +57,15 @@ const defaultUserDataset = {
56
57
  password: "very-secure-qwerty123",
57
58
  };
58
59
  describe("Field Access Control", () => {
59
- it("read in a read write field", async () => await readInReadWriteField());
60
- it("write in a read write field", async () => await writeInReadWriteField());
61
- it("read in a write only field", async () => await readInWriteOnlyField());
62
- it("write in a read only field", async () => await writeInReadOnlyField());
63
- it("read in a read only field", async () => await readInReadOnlyField());
64
- it("write in a write only field", async () => await writeInWriteOnlyField());
65
- after(async () => { });
60
+ it("read in a read write field", async () => await expectReadInReadWriteField());
61
+ it("write in a read write field", async () => await expectWriteInReadWriteField());
62
+ it("read in a write only field", async () => await expectReadInWriteOnlyField());
63
+ it("write in a read only field", async () => await expectWriteInReadOnlyField());
64
+ it("read in a read only field", async () => await expectReadInReadOnlyField());
65
+ it("write in a write only field", async () => await expectWriteInWriteOnlyField());
66
66
  });
67
67
  async function _createDataController(testName, user) {
68
- let _AccessTestAPI = class _AccessTestAPI extends (0, interface_data_api_1.DataController)(User, interface_data_api_1.DefaultRoutes.All, (0, interface_api_1.Controller)(`/${testName}`)) {
68
+ let _AccessTestAPI = class _AccessTestAPI extends (0, index_1.DataController)(User, index_1.DefaultRoutes.All, (0, interface_api_1.Controller)(`/${testName}`)) {
69
69
  };
70
70
  __decorate([
71
71
  (0, metadata_1.ModelReference)(),
@@ -93,7 +93,7 @@ async function _createDataController(testName, user) {
93
93
  __metadata("design:type", String)
94
94
  ], _AccessTestAPI.prototype, "email", void 0);
95
95
  _AccessTestAPI = __decorate([
96
- (0, interface_data_api_1.RegisterDataController)()
96
+ (0, index_1.RegisterDataController)()
97
97
  ], _AccessTestAPI);
98
98
  await (0, interface_database_decorators_1.RegisterSchema)(schemaName);
99
99
  database = (0, utils_1.getSchemaInstance)(schemaName);
@@ -101,17 +101,17 @@ async function _createDataController(testName, user) {
101
101
  const insertResult = await userModel.insert(user);
102
102
  return { id: insertResult[0], userModel };
103
103
  }
104
- async function readInReadWriteField() {
104
+ async function expectReadInReadWriteField() {
105
105
  const { id } = await _createDataController((0, utils_1.getFunctionName)(), defaultUserDataset);
106
106
  const response = await (0, utils_1.getRequest)((0, utils_1.getFunctionName)(), { id });
107
107
  (0, chai_1.expect)(response.status).to.equal(200);
108
- const data = (await response.json());
108
+ const data = await (0, http_1.readJson)(response);
109
109
  (0, chai_1.expect)(data.name).to.equal(defaultUserDataset.name);
110
110
  (0, chai_1.expect)(data.age).to.equal(defaultUserDataset.age);
111
111
  (0, chai_1.expect)(data.email).to.equal(defaultUserDataset.email);
112
112
  (0, chai_1.expect)(data.password).to.equal(undefined);
113
113
  }
114
- async function writeInReadWriteField() {
114
+ async function expectWriteInReadWriteField() {
115
115
  const { id, userModel } = await _createDataController((0, utils_1.getFunctionName)(), defaultUserDataset);
116
116
  const replacementEmail = "bob.test@email.com";
117
117
  const response = await (0, utils_1.editRequest)((0, utils_1.getFunctionName)(), { email: replacementEmail }, { id });
@@ -119,28 +119,28 @@ async function writeInReadWriteField() {
119
119
  const user = await userModel.get(id);
120
120
  (0, chai_1.expect)(user?.email).to.equal(replacementEmail);
121
121
  }
122
- async function readInWriteOnlyField() {
122
+ async function expectReadInWriteOnlyField() {
123
123
  const { id } = await _createDataController((0, utils_1.getFunctionName)(), defaultUserDataset);
124
124
  const response = await (0, utils_1.getRequest)((0, utils_1.getFunctionName)(), { id });
125
125
  (0, chai_1.expect)(response.status).to.equal(200);
126
- const data = (await response.json());
126
+ const data = await (0, http_1.readJson)(response);
127
127
  (0, chai_1.expect)(data.password).to.equal(undefined);
128
128
  }
129
- async function writeInReadOnlyField() {
129
+ async function expectWriteInReadOnlyField() {
130
130
  const { id, userModel } = await _createDataController((0, utils_1.getFunctionName)(), defaultUserDataset);
131
131
  const response = await (0, utils_1.editRequest)((0, utils_1.getFunctionName)(), { age: (defaultUserDataset.age ?? 0) + 5 }, { id });
132
132
  (0, chai_1.expect)(response.status).to.equal(200);
133
133
  const user = await userModel.get(id);
134
134
  (0, chai_1.expect)(user?.age).to.equal(defaultUserDataset.age);
135
135
  }
136
- async function readInReadOnlyField() {
136
+ async function expectReadInReadOnlyField() {
137
137
  const { id } = await _createDataController((0, utils_1.getFunctionName)(), defaultUserDataset);
138
138
  const response = await (0, utils_1.getRequest)((0, utils_1.getFunctionName)(), { id });
139
139
  (0, chai_1.expect)(response.status).to.equal(200);
140
- const data = (await response.json());
140
+ const data = await (0, http_1.readJson)(response);
141
141
  (0, chai_1.expect)(data.email).to.equal(defaultUserDataset.email);
142
142
  }
143
- async function writeInWriteOnlyField() {
143
+ async function expectWriteInWriteOnlyField() {
144
144
  const { id, userModel } = await _createDataController((0, utils_1.getFunctionName)(), defaultUserDataset);
145
145
  const replacementPassword = "new-password";
146
146
  const response = await (0, utils_1.editRequest)((0, utils_1.getFunctionName)(), { password: replacementPassword }, { id });
@@ -1 +1 @@
1
- {"version":3,"file":"access_control.test.js","sourceRoot":"","sources":["../../../src/tests/components/access_control.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"access_control.test.js","sourceRoot":"","sources":["../../../src/tests/components/access_control.test.ts"],"names":[],"mappings":"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"}