@antelopejs/interface-data-api 0.4.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.
- package/dist/components.d.ts +15 -7
- package/dist/components.js +98 -645
- package/dist/components.js.map +1 -1
- package/dist/index.d.ts +41 -36
- package/dist/index.js +94 -92
- package/dist/index.js.map +1 -1
- package/dist/internal/computed.d.ts +6 -0
- package/dist/internal/computed.js +43 -0
- package/dist/internal/computed.js.map +1 -0
- package/dist/internal/controller-types.d.ts +19 -0
- package/dist/internal/controller-types.js +4 -0
- package/dist/internal/controller-types.js.map +1 -0
- package/dist/internal/default-filter.d.ts +4 -0
- package/dist/internal/default-filter.js +19 -0
- package/dist/internal/default-filter.js.map +1 -0
- package/dist/internal/deferred-joined-stream.d.ts +11 -0
- package/dist/internal/deferred-joined-stream.js +112 -0
- package/dist/internal/deferred-joined-stream.js.map +1 -0
- package/dist/internal/field-types.d.ts +183 -0
- package/dist/internal/field-types.js +4 -0
- package/dist/internal/field-types.js.map +1 -0
- package/dist/internal/filters.d.ts +4 -0
- package/dist/internal/filters.js +15 -0
- package/dist/internal/filters.js.map +1 -0
- package/dist/internal/foreign.d.ts +6 -0
- package/dist/internal/foreign.js +116 -0
- package/dist/internal/foreign.js.map +1 -0
- package/dist/internal/guards.d.ts +20 -0
- package/dist/internal/guards.js +74 -0
- package/dist/internal/guards.js.map +1 -0
- package/dist/internal/joined.d.ts +28 -0
- package/dist/internal/joined.js +127 -0
- package/dist/internal/joined.js.map +1 -0
- package/dist/internal/list.d.ts +16 -0
- package/dist/internal/list.js +178 -0
- package/dist/internal/list.js.map +1 -0
- package/dist/internal/meta-records.d.ts +17 -0
- package/dist/internal/meta-records.js +73 -0
- package/dist/internal/meta-records.js.map +1 -0
- package/dist/internal/properties.d.ts +4 -0
- package/dist/internal/properties.js +43 -0
- package/dist/internal/properties.js.map +1 -0
- package/dist/internal/table-reference.d.ts +11 -0
- package/dist/internal/table-reference.js +46 -0
- package/dist/internal/table-reference.js.map +1 -0
- package/dist/internal/tables.d.ts +18 -0
- package/dist/internal/tables.js +37 -0
- package/dist/internal/tables.js.map +1 -0
- package/dist/internal/validation.d.ts +11 -0
- package/dist/internal/validation.js +88 -0
- package/dist/internal/validation.js.map +1 -0
- package/dist/metadata.d.ts +27 -228
- package/dist/metadata.js +61 -188
- package/dist/metadata.js.map +1 -1
- package/dist/tests/components/access_control.test.js +20 -20
- package/dist/tests/components/access_control.test.js.map +1 -1
- package/dist/tests/components/computed.test.js +28 -30
- package/dist/tests/components/computed.test.js.map +1 -1
- package/dist/tests/components/cross_instance.test.js +8 -6
- package/dist/tests/components/cross_instance.test.js.map +1 -1
- package/dist/tests/components/deferred_joined.test.js +56 -53
- package/dist/tests/components/deferred_joined.test.js.map +1 -1
- package/dist/tests/components/filter_options.test.js +8 -7
- package/dist/tests/components/filter_options.test.js.map +1 -1
- package/dist/tests/components/foreign_computed.test.js +14 -16
- package/dist/tests/components/foreign_computed.test.js.map +1 -1
- package/dist/tests/components/foreign_joined.test.js +19 -27
- package/dist/tests/components/foreign_joined.test.js.map +1 -1
- package/dist/tests/components/joined.test.js +41 -45
- package/dist/tests/components/joined.test.js.map +1 -1
- package/dist/tests/components/listable.test.js +59 -58
- package/dist/tests/components/listable.test.js.map +1 -1
- package/dist/tests/components/localized_sort.test.js +10 -11
- package/dist/tests/components/localized_sort.test.js.map +1 -1
- package/dist/tests/components/mandatory.test.js +25 -25
- package/dist/tests/components/mandatory.test.js.map +1 -1
- package/dist/tests/components/modifier_key.test.js +19 -18
- package/dist/tests/components/modifier_key.test.js.map +1 -1
- package/dist/tests/components/parse_body.test.d.ts +1 -0
- package/dist/tests/components/parse_body.test.js +75 -0
- package/dist/tests/components/parse_body.test.js.map +1 -0
- package/dist/tests/components/parsed_value.test.js +23 -21
- package/dist/tests/components/parsed_value.test.js.map +1 -1
- package/dist/tests/components/partial_edit.test.js +33 -32
- package/dist/tests/components/partial_edit.test.js.map +1 -1
- package/dist/tests/components/per_action_access.test.js +12 -12
- package/dist/tests/components/per_action_access.test.js.map +1 -1
- package/dist/tests/components/validator.test.js +45 -37
- package/dist/tests/components/validator.test.js.map +1 -1
- package/dist/tests/helpers/other-instance.d.ts +11 -1
- package/dist/tests/helpers/other-instance.js +27 -5
- package/dist/tests/helpers/other-instance.js.map +1 -1
- package/dist/tests/index/get_guard.test.js +6 -6
- package/dist/tests/index/get_guard.test.js.map +1 -1
- package/dist/tests/index/inheritance.test.js +10 -9
- package/dist/tests/index/inheritance.test.js.map +1 -1
- package/dist/tests/index/routes.test.js +40 -44
- package/dist/tests/index/routes.test.js.map +1 -1
- package/dist/tests/integration.test.d.ts +1 -1
- package/dist/tests/integration.test.js +53 -729
- package/dist/tests/integration.test.js.map +1 -1
- package/dist/tests/internal/http.d.ts +23 -0
- package/dist/tests/internal/http.js +35 -0
- package/dist/tests/internal/http.js.map +1 -0
- package/dist/tests/internal/shop-api.d.ts +1 -0
- package/dist/tests/internal/shop-api.js +331 -0
- package/dist/tests/internal/shop-api.js.map +1 -0
- package/dist/tests/internal/shop-schema.d.ts +154 -0
- package/dist/tests/internal/shop-schema.js +387 -0
- package/dist/tests/internal/shop-schema.js.map +1 -0
- package/dist/tests/utils.d.ts +5 -5
- package/dist/tests/utils.js +1 -3
- package/dist/tests/utils.js.map +1 -1
- package/dist/tests/utils.test.js +10 -11
- package/dist/tests/utils.test.js.map +1 -1
- package/docs/3.routes.md +8 -3
- package/docs/5.validators.md +12 -3
- package/docs/8.filters.md +7 -3
- package/package.json +14 -3
- package/skills/data-api-interface/SKILL.md +4 -0
- 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.
|
|
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
|
|
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
|
-
|
|
132
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
352
|
-
|
|
353
|
-
|
|
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
|
-
(
|
|
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
|
-
(
|
|
494
|
-
.setDescriptor(
|
|
495
|
-
.setListable(
|
|
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
|
-
(
|
|
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
|
-
(
|
|
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
|
-
(
|
|
524
|
-
.setDescriptor(
|
|
525
|
-
.setSortable(
|
|
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
|
-
(
|
|
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
|
-
(
|
|
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
|
-
(
|
|
566
|
-
.setDescriptor(
|
|
567
|
-
.setForeign(
|
|
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
|
-
(
|
|
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
|
-
(
|
|
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
|
-
|
|
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
|
*/
|
package/dist/metadata.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":";;;AA4MA,4CAMC;AA0CD,wCAIC;AA+zBD,sDAMC;AArkCD,+DAAyD;AASzD,6FAKmD;AACnD,sEAK+C;AA4B/C;;GAEG;AACH,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,mDAAY,CAAA;IACZ,qDAAa,CAAA;IACb,qDAAa,CAAA;AACf,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AA4ID,wEAAwE;AACxE,MAAM,cAAc,GAAG,UAAU,CAAC;AAElC;;;;;GAKG;AACH,SAAgB,gBAAgB,CAC9B,KAAgD,EAChD,MAAe;IAEf,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,cAAc;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC;IAC5D,OAAO,KAAK,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;AACrD,CAAC;AAyCD,2EAA2E;AAC3E,SAAgB,cAAc,CAAC,MAAmB;IAChD,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAE,MAAwB;QAC3B,CAAC,CAAC,CAAC,MAAqB,CAAC,CAAC;AAC9B,CAAC;AA6BD,SAAS,iBAAiB,CAAC,KAAmB;IAI5C,MAAM,IAAI,GAAG,IAAA,2CAAW,EAAC,KAAK,EAAE,mDAAmB,CAEtC,CAAC;IACd,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AACtE,CAAC;AAED,SAAS,qBAAqB,CAC5B,gBAAwB,EACxB,KAA4B,EAC5B,cAAkC,EAClC,YAAoB;IAEpB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,cAAc,IAAI,QAAQ,CAAC,UAAU,CAAC;QACzD,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QACrC,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,yCAAyC,YAAY,0CAA0C,CAChG,CAAC;QACJ,CAAC;QACD,IACE,cAAc;YACd,QAAQ,CAAC,UAAU;YACnB,cAAc,KAAK,QAAQ,CAAC,UAAU,EACtC,CAAC;YACD,MAAM,IAAI,KAAK,CACb,uBAAuB,YAAY,yBAAyB,QAAQ,CAAC,UAAU,2BAA2B,cAAc,GAAG,CAC5H,CAAC;QACJ,CAAC;QACD,OAAO;YACL,SAAS;YACT,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,UAAU,KAAK,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;SACrE,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,cAAc,IAAI,gBAAgB,CAAC;IACxD,MAAM,cAAc,GAAG,IAAA,kDAAkB,EAAC,YAAY,CAAC,CAAC;IACxD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,WAAW,YAAY,mBAAmB,YAAY,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,aAAa,GAAG,YAAY,KAAK,gBAAgB,CAAC;IACxD,IAAI,aAAa,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,UAAU,KAAK,kCAAkC,YAAY,SAAS,YAAY,qEAAqE,CACxJ,CAAC;IACJ,CAAC;IACD,OAAO;QACL,SAAS,EAAE,KAAK;QAChB,UAAU;QACV,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;KACrD,CAAC;AACJ,CAAC;AAOD;;GAEG;AACH,MAAa,WAAW;IA6DM;IA5D5B;;OAEG;IACI,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAC5B,8CAA8C,CAC/C,CAAC;IAEc,OAAO,GAAwC,EAAE,CAAC;IAElE;;OAEG;IACa,MAAM,GAA8B,EAAE,CAAC;IAEvD;;OAEG;IACa,KAAK,GAAgC,EAAE,CAAC;IAExD;;OAEG;IACI,QAAQ,CAAU;IAEzB;;OAEG;IACI,YAAY,GAAG,IAAI,GAAG,EAAyC,CAAC;IAEvE;;OAEG;IACI,UAAU,CAAU;IAE3B;;OAEG;IACI,UAAU,CAAS;IAE1B;;OAEG;IACI,SAAS,CAAU;IAE1B;;OAEG;IACa,QAAQ,GAAyC,EAAE,CAAC;IAEpE;;OAEG;IACa,QAAQ,GAAyC,EAAE,CAAC;IAEpE;;OAEG;IACa,SAAS,GACvB,EAAE,CAAC;IAEL,YAA4B,MAAa;QAAb,WAAM,GAAN,MAAM,CAAO;IAAG,CAAC;IAEtC,OAAO,CAAC,MAAmB;QAChC,MAAM,KAAK,GAAG,CAAC,GAAwB,EAAE,GAAwB,EAAE,EAAE;YACnE,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;gBACtB,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC;oBAClB,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtB,CAAC;qBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBACnC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QACF,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;QAClC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC3C,IAAI,KAAK,KAAK,SAAS;oBAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,IAAY;QACxB,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAEO,iBAAiB;QACvB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3D,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;oBAC/B,CAAC;oBACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC7B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,eAAe;QACrB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAC,cAAc,CAAC,CAAC,CAAC;QAClD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/C,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;gBACxB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;oBACtD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACrD,CAAC;QAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACvD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACtD,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,SAAS;gBACX,CAAC;gBAED,IAAI,aAAa,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;oBACxC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;oBACrD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;gBACnD,CAAC;gBACD,IAAI,aAAa,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC;oBACzC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;oBACrD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,OAAO,CACZ,IAAY,EACZ,IAAgB,EAChB,SAAsC;QAEtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACI,WAAW,CAChB,IAAY,EACZ,cAAkC,EAClC,IAAI,GAAG,MAAM;QAEb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,SAAS,GACb,OAAO,cAAc,KAAK,SAAS;YACjC,CAAC,CAAC,cAAc;gBACd,CAAC,CAAC,CAAC,IAAI,CAAC;gBACR,CAAC,CAAC,EAAE;YACN,CAAC,CAAC,cAAc,CAAC;QACrB,MAAM,KAAK,GACT,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM;YAClC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClE,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpB,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;QACtB,CAAC;QACD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACI,YAAY,CAAC,IAAY,EAAE,KAAe;QAC/C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACI,WAAW,CAAC,IAAY,EAAE,MAAe,EAAE,OAAiB;QACjE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,CAAC,QAAQ,GAAG,EAAE,OAAO,EAAE,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;OAWG;IACI,WAAW,CAChB,IAAY,EACZ,IAAwB,EACxB,OAAyB;QAEzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,KAAK,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QACrD,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC;QACjC,IAAI,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;YAC5B,KAAK,CAAC,QAAQ,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACI,SAAS,CACd,IAAY,EACZ,OAMC;QAED,MAAM,QAAQ,GAAG,qBAAqB,CACpC,IAAI,CAAC,UAAU,EACf,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,MAAM,EACd,iBAAiB,IAAI,GAAG,CACzB,CAAC;QAEF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,KAAK,CAAC,MAAM,GAAG;YACb,KAAK,EAAE,QAAQ,CAAC,SAAS;YACzB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,KAAK;YACzC,UAAU,EAAE,QAAQ,CAAC,UAAU;SAChC,CAAC;QAEF,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC;QAEjC,IAAI,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;YAC5B,KAAK,CAAC,QAAQ,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACtC,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/C,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBAChD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAC/B,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAChE,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACI,UAAU,CACf,IAAY,EACZ,KAA4B,EAC5B,KAAc,EACd,KAAe,EACf,KAAgB,EAChB,MAAe,EACf,UAAwB;QAExB,MAAM,QAAQ,GAAG,qBAAqB,CACpC,IAAI,CAAC,UAAU,EACf,KAAK,EACL,MAAM,EACN,kBAAkB,IAAI,GAAG,CAC1B,CAAC;QAEF,kEAAkE;QAClE,2EAA2E;QAC3E,0EAA0E;QAC1E,0EAA0E;QAC1E,yEAAyE;QACzE,0EAA0E;QAC1E,4EAA4E;QAC5E,0EAA0E;QAC1E,yDAAyD;QACzD,IAAI,YAA4C,CAAC;QACjD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACpD,MAAM,MAAM,GAAuB,EAAE,CAAC;YACtC,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnE,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;oBAC5D,SAAS;gBACX,CAAC;gBACD,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,UAAU,EAAE,CAAC,CAAC,UAAU;iBACzB,CAAC,CAAC;YACL,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,YAAY,GAAG,MAAM,CAAC;YACxB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG;YACzB,QAAQ,CAAC,SAAS;YAClB,QAAQ,CAAC,UAAU;YACnB,KAAK;YACL,KAAK,IAAI,SAAS;YAClB,KAAK,IAAI,SAAS;YAClB,QAAQ,CAAC,UAAU;YACnB,YAAY;SACb,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACI,YAAY,CAAC,IAAY,EAAE,SAA0B;QAC1D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACI,aAAa,CAAC,IAAY,EAAE,IAAyB;QAC1D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACI,SAAS,CACd,IAAY,EACZ,IAA8D,EAC9D,QAAkB;QAElB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,SAAS,GAAG,IAAA,2CAAW,EAAC,IAAI,CAAC,UAAU,EAAE,mDAAmB,CAAC,CAAC;YACpE,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;YACtD,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;YACzB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACI,WAAW,CAAC,IAAY;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACI,cAAc,CACnB,IAAY,EACZ,aAA4C;QAE5C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACI,WAAW,CAChB,GAAW,EACX,QAA4C;QAE5C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;QACjC,CAAC;IACH,CAAC;;AA5dH,kCA6dC;AAED;;;;GAIG;AACU,QAAA,MAAM,GAAG,IAAA,2CAA8B,EAClD,CACE,MAAM,EACN,GAAG,EACH,IAAI,EACJ,IAAgB,EAChB,SAAsC,EACtC,EAAE;IACF,IAAA,4BAAW,EAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC;SACzC,aAAa,CAAC,GAAa,EAAE,IAAI,CAAC;SAClC,OAAO,CAAC,GAAa,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;AAC7C,CAAC,CACF,CAAC;AAEF;;;;;;;;;;GAUG;AACU,QAAA,QAAQ,GAAG,IAAA,2CAA8B,EACpD,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,cAAmC,EAAE,IAAa,EAAE,EAAE;IACxE,IAAA,4BAAW,EAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC;SACzC,aAAa,CAAC,GAAa,EAAE,IAAI,CAAC;SAClC,WAAW,CACV,GAAa,EACb,OAAO,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAC7D,IAAI,CACL,CAAC;AACN,CAAC,CACF,CAAC;AAEF;;;;GAIG;AACU,QAAA,SAAS,GAAG,IAAA,2CAA8B,EACrD,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAe,EAAE,EAAE;IACxC,IAAA,4BAAW,EAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC;SACzC,aAAa,CAAC,GAAa,EAAE,IAAI,CAAC;SAClC,YAAY,CAAC,GAAa,EAAE,KAAK,CAAC,CAAC;AACxC,CAAC,CACF,CAAC;AAEF;;;;GAIG;AACU,QAAA,QAAQ,GAAG,IAAA,2CAA8B,EAAC,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IAC3E,IAAA,4BAAW,EAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC;SACzC,aAAa,CAAC,GAAa,EAAE,IAAI,CAAC;SAClC,YAAY,CAAC,GAAa,EAAE,EAAE,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH;;;;GAIG;AACU,QAAA,QAAQ,GAAG,IAAA,2CAA8B,EACpD,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,OAA+B,EAAE,EAAE;IACrD,IAAA,4BAAW,EAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC;SACzC,aAAa,CAAC,GAAa,EAAE,IAAI,CAAC;SAClC,WAAW,CAAC,GAAa,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC;AACjE,CAAC,CACF,CAAC;AAEF;;;;;;;;;GASG;AACU,QAAA,MAAM,GAAG,IAAA,kCAAqB,EACzC,CACE,MAAM,EACN,GAAG,EACH,OAMC,EACD,EAAE;IACF,IAAA,4BAAW,EAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,SAAS,CACpD,GAAa,EACb,OAAO,CACR,CAAC;AACJ,CAAC,CACF,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACU,QAAA,QAAQ,GAAG,IAAA,kCAAqB,EAC3C,CAAC,MAAM,EAAE,GAAG,EAAE,IAAwB,EAAE,OAAyB,EAAE,EAAE;IACnE,IAAA,4BAAW,EAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,WAAW,CACtD,GAAa,EACb,IAAI,EACJ,OAAO,CACR,CAAC;AACJ,CAAC,CACF,CAAC;AAEF;;;;;;GAMG;AACU,QAAA,OAAO,GAAG,IAAA,2CAA8B,EACnD,CACE,MAAM,EACN,GAAG,EACH,IAAI,EACJ,KAA4B,EAC5B,KAAc,EACd,KAAe,EACf,KAAgB,EAChB,MAAe,EACf,UAAwB,EACxB,EAAE;IACF,IAAA,4BAAW,EAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC;SACzC,aAAa,CAAC,GAAa,EAAE,IAAI,CAAC;SAClC,UAAU,CACT,GAAa,EACb,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,MAAM,EACN,UAAU,CACX,CAAC;AACN,CAAC,CACF,CAAC;AAEF;;;;GAIG;AACU,QAAA,SAAS,GAAG,IAAA,2CAA8B,EACrD,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,SAAyB,EAAE,EAAE;IAC/C,IAAA,4BAAW,EAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC;SACzC,aAAa,CAAC,GAAa,EAAE,IAAI,CAAC;SAClC,YAAY,CAAC,GAAa,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC,CACF,CAAC;AAYF,MAAM,wBAAwB,GAA2B;IACvD,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC;IACrC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC;IACrC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC;IACrC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC;IACrC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC;IACrC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC;CACtC,CAAC;AAEF,SAAS,sBAAsB,CAC7B,KAAyB,EACzB,KAAa,EACb,IAAoB;IAEpB,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAC5C,sBAAsB,CAAC,KAA2B,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,sBAAsB,GAAG,IAAA,kCAAqB,EAClD,CAAC,MAAM,EAAE,GAAG,EAAE,IAA4B,EAAE,QAAkB,EAAE,EAAE;IAChE,IAAA,4BAAW,EAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,SAAS,CACnE,GAAa,EACb,IAAI,IAAI,mBAAmB,EAAE,EAC7B,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAC1C,CAAC;AACJ,CAAC,CACF,CAAC;AAEF;;;;;;;;GAQG;AACU,QAAA,MAAM,GAAG,sBAGgC,CAAC;AAEvD;;GAEG;AACU,QAAA,cAAc,GAAG,IAAA,kCAAqB,EAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;IAClE,IAAA,4BAAW,EAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,WAAW,CAAC,GAAa,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC;AAEH;;;;GAIG;AACU,QAAA,WAAW,GAAG,IAAA,kCAAqB,EAC9C,CAAC,MAAM,EAAE,GAAG,EAAE,aAA4C,EAAE,EAAE;IAC5D,IAAA,4BAAW,EAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,cAAc,CACzD,GAAa,EACb,aAAa,CACd,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,SAAgB,qBAAqB,CAAC,OAAY;IAChD,OAAO,IAAA,4BAAW,EAChB,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,WAAW,EAC1C,WAAW,EACX,IAAI,CACL,CAAC;AACJ,CAAC"}
|
|
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("
|
|
19
|
-
const
|
|
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
|
|
60
|
-
it("write in a read write field", async () => await
|
|
61
|
-
it("read in a write only field", async () => await
|
|
62
|
-
it("write in a read only field", async () => await
|
|
63
|
-
it("read in a read only field", async () => await
|
|
64
|
-
it("write in a write only field", async () => await
|
|
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,
|
|
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,
|
|
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
|
|
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 =
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
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":";;;;;;;;;;;;;;AAAA,0DAA6B;AAC7B,+BAA8B;AAC9B,6DAAuD;AAEvD,
|
|
1
|
+
{"version":3,"file":"access_control.test.js","sourceRoot":"","sources":["../../../src/tests/components/access_control.test.ts"],"names":[],"mappings":"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"}
|