@antelopejs/interface-data-api 0.2.1 → 0.3.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 (48) hide show
  1. package/README.md +131 -21
  2. package/dist/antelope.test.js +1 -1
  3. package/dist/components.d.ts +64 -15
  4. package/dist/components.js +91 -23
  5. package/dist/components.js.map +1 -1
  6. package/dist/index.d.ts +9 -5
  7. package/dist/index.js +42 -56
  8. package/dist/index.js.map +1 -1
  9. package/dist/metadata.d.ts +23 -3
  10. package/dist/metadata.js +32 -7
  11. package/dist/metadata.js.map +1 -1
  12. package/dist/tests/components/foreign_computed.test.d.ts +1 -0
  13. package/dist/tests/components/foreign_computed.test.js +172 -0
  14. package/dist/tests/components/foreign_computed.test.js.map +1 -0
  15. package/dist/tests/components/mandatory.test.js +3 -5
  16. package/dist/tests/components/mandatory.test.js.map +1 -1
  17. package/dist/tests/components/parsed_value.test.js +2 -2
  18. package/dist/tests/components/parsed_value.test.js.map +1 -1
  19. package/dist/tests/components/partial_edit.test.js +2 -2
  20. package/dist/tests/components/partial_edit.test.js.map +1 -1
  21. package/dist/tests/components/per_action_access.test.js +12 -2
  22. package/dist/tests/components/per_action_access.test.js.map +1 -1
  23. package/dist/tests/components/validator.test.js +3 -5
  24. package/dist/tests/components/validator.test.js.map +1 -1
  25. package/dist/tests/index/inheritance.test.js +1 -1
  26. package/dist/tests/index/inheritance.test.js.map +1 -1
  27. package/dist/tests/index/routes.test.js +45 -3
  28. package/dist/tests/index/routes.test.js.map +1 -1
  29. package/dist/tests/integration.test.js +5 -7
  30. package/dist/tests/integration.test.js.map +1 -1
  31. package/dist/tests/utils.d.ts +6 -1
  32. package/dist/tests/utils.js +3 -1
  33. package/dist/tests/utils.js.map +1 -1
  34. package/docs/1.introduction.md +26 -26
  35. package/docs/10.joined.md +36 -5
  36. package/docs/11.computed.md +6 -6
  37. package/docs/2.data-controllers.md +4 -4
  38. package/docs/3.routes.md +85 -11
  39. package/docs/4.access-rights.md +21 -6
  40. package/docs/5.validators.md +2 -0
  41. package/docs/6.listable.md +5 -2
  42. package/docs/7.foreign-keys.md +9 -10
  43. package/docs/8.filters.md +96 -20
  44. package/docs/9.modifiers.md +2 -4
  45. package/docs/assets/joined-list.svg +23 -0
  46. package/docs/tsconfig.json +12 -0
  47. package/package.json +21 -15
  48. package/skills/data-api-interface/SKILL.md +9 -0
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { type Class } from "@antelopejs/interface-core/decorators";
2
2
  import { type ControllerClass, type RequestContext } from "@antelopejs/interface-api";
3
- import { Parameters } from "./components";
3
+ import { Parameters, Validation } from "./components";
4
4
  import { type DataControllerCallback, type DataControllerCallbackWithOptions, type DataControllerDef, type ExtractDefCallbacks } from "./metadata";
5
5
  export { type DataControllerCallback, type DataControllerCallbackWithOptions, type DataControllerDef, type ExtractCallback, type ExtractDefCallbacks, GetDataControllerMeta, } from "./metadata";
6
6
  declare abstract class TableHolder<C extends Class> {
@@ -35,12 +35,14 @@ export declare namespace DefaultRoutes {
35
35
  method: string;
36
36
  };
37
37
  const New: {
38
- func: (_reqCtx: RequestContext, params: Parameters.NewParameters, body: Buffer) => Promise<string[]>;
38
+ func: (_reqCtx: RequestContext, params: Parameters.NewParameters, body: Validation.WrittenBody) => Promise<{
39
+ _id: string;
40
+ }>;
39
41
  args: (import("@antelopejs/interface-core/decorators").PropertyDecorator & import("@antelopejs/interface-core/decorators").ParameterDecorator)[];
40
42
  method: string;
41
43
  };
42
44
  const Edit: {
43
- func: (_reqCtx: RequestContext, params: Parameters.EditParameters, body: Buffer) => Promise<void>;
45
+ func: (_reqCtx: RequestContext, params: Parameters.EditParameters, body: Validation.WrittenBody) => Promise<Record<string, any>>;
44
46
  args: (import("@antelopejs/interface-core/decorators").PropertyDecorator & import("@antelopejs/interface-core/decorators").ParameterDecorator)[];
45
47
  method: string;
46
48
  };
@@ -66,12 +68,14 @@ export declare namespace DefaultRoutes {
66
68
  method: string;
67
69
  };
68
70
  readonly new: {
69
- func: (_reqCtx: RequestContext, params: Parameters.NewParameters, body: Buffer) => Promise<string[]>;
71
+ func: (_reqCtx: RequestContext, params: Parameters.NewParameters, body: Validation.WrittenBody) => Promise<{
72
+ _id: string;
73
+ }>;
70
74
  args: (import("@antelopejs/interface-core/decorators").PropertyDecorator & import("@antelopejs/interface-core/decorators").ParameterDecorator)[];
71
75
  method: string;
72
76
  };
73
77
  readonly edit: {
74
- func: (_reqCtx: RequestContext, params: Parameters.EditParameters, body: Buffer) => Promise<void>;
78
+ func: (_reqCtx: RequestContext, params: Parameters.EditParameters, body: Validation.WrittenBody) => Promise<Record<string, any>>;
75
79
  args: (import("@antelopejs/interface-core/decorators").PropertyDecorator & import("@antelopejs/interface-core/decorators").ParameterDecorator)[];
76
80
  method: string;
77
81
  };
package/dist/index.js CHANGED
@@ -75,44 +75,35 @@ exports.RegisterDataController = (0, decorators_1.MakeClassDecorator)((target) =
75
75
  });
76
76
  }
77
77
  });
78
- function displayOnlyComputedFields(meta, params, pluck) {
79
- const alreadyInjected = new Set(Object.keys(params.filters ?? {}).filter((name) => name in meta.filters));
80
- if (params.sortKey) {
81
- alreadyInjected.add(params.sortKey);
82
- }
83
- const names = Object.entries(meta.fields)
84
- .filter(([name, field]) => field.computed &&
85
- !alreadyInjected.has(name) &&
86
- (params.noPluck || pluck?.has(name)))
87
- .map(([name]) => name);
88
- return new Set(names);
89
- }
90
- function displayOnlyJoinedFields(deferred, params, pluck, materializeAll) {
91
- if (materializeAll) {
92
- return deferred;
93
- }
94
- const names = Array.from(deferred).filter((name) => params.noPluck || pluck?.has(name));
95
- return new Set(names);
96
- }
97
78
  var DefaultRoutes;
98
79
  (function (DefaultRoutes) {
80
+ /**
81
+ * One row as the Get route answers it: joined, computed then foreign
82
+ * fields, unlocked, guarded, then projected on the fields `get` reads.
83
+ */
84
+ async function readRow(controller, meta, { params, reqCtx, guard }) {
85
+ const model = components_1.Query.GetModel(controller, meta);
86
+ let query = components_1.Query.Get(model.table, params.id, params.index);
87
+ query = components_1.Query.Joined(model.database, meta, query);
88
+ // Before the foreign keys: a lookup replaces a key with the row it
89
+ // names, which a computed expression reading the key would not find.
90
+ query = components_1.Query.Computed(model.database, meta, query);
91
+ if (!params.noForeign) {
92
+ query = components_1.Query.Foreign(model.database, meta, query);
93
+ }
94
+ const dbResult = model.constructor.fromDatabase(await query);
95
+ (0, interface_api_util_1.assert)(dbResult, 404, "Not Found");
96
+ components_1.Validation.Unlock(controller, meta, dbResult);
97
+ if (guard && reqCtx)
98
+ await guard.call(controller, reqCtx, dbResult, params);
99
+ const results = await components_1.Query.ReadProperties(controller, meta, dbResult, "get");
100
+ components_1.Validation.ClearInternal(meta, results);
101
+ return results;
102
+ }
99
103
  class Methods {
100
104
  async get(reqCtx, params, guard) {
101
105
  const meta = (0, metadata_1.GetDataControllerMeta)(this);
102
- const model = components_1.Query.GetModel(this, meta);
103
- let query = components_1.Query.Get(model.table, params.id, params.index);
104
- query = components_1.Query.Joined(model.database, meta, query);
105
- query = components_1.Query.Computed(model.database, meta, query);
106
- if (!params.noForeign) {
107
- query = components_1.Query.Foreign(model.database, meta, query);
108
- }
109
- const dbResult = model.constructor.fromDatabase(await query);
110
- (0, interface_api_util_1.assert)(dbResult, 404, "Not Found");
111
- components_1.Validation.Unlock(this, meta, dbResult);
112
- await guard?.call(this, reqCtx, dbResult, params);
113
- const results = await components_1.Query.ReadProperties(this, meta, dbResult, "get");
114
- components_1.Validation.ClearInternal(meta, results);
115
- return results;
106
+ return readRow(this, meta, { params, reqCtx, guard });
116
107
  }
117
108
  async list(reqCtx, params) {
118
109
  const meta = (0, metadata_1.GetDataControllerMeta)(this);
@@ -120,31 +111,20 @@ var DefaultRoutes;
120
111
  const sort = params?.sortKey
121
112
  ? [params.sortKey, params.sortDirection]
122
113
  : undefined;
123
- let [query, queryTotal, deferredJoined] = components_1.Query.List(this, meta, model.table, reqCtx, sort, params?.filters, model.database, { exposeDeferredJoined: true });
114
+ const [query, queryTotal, deferredJoined] = components_1.Query.List(this, meta, model.table, reqCtx, sort, params?.filters, model.database, { exposeDeferredJoined: true });
124
115
  const pluck = meta.pluck[params.pluckMode ?? "list"];
125
116
  (0, interface_api_util_1.assert)(params.noPluck || pluck, 400, `No fields found for pluckMode '${params.pluckMode ?? "list"}'`);
126
- if (!params.noForeign) {
127
- query = components_1.Query.Foreign(model.database, meta, query, params.noPluck ? undefined : pluck);
128
- }
129
117
  const offset = params.offset || 0;
130
118
  const limit = params.limit || 10;
131
- let queryPaged = query.slice(offset, limit);
132
- const displayComputed = displayOnlyComputedFields(meta, params, pluck);
133
- // A computed expression may read any joined field, so when a computed
134
- // field is materialized after the slice, every deferred joined group
135
- // must be merged first regardless of pluck (mirroring the conservative
136
- // rule Query.List applies pre-count). The extra lookups only run on the
137
- // page and the final pluck() strips fields the response did not ask for.
138
- const displayJoined = displayOnlyJoinedFields(deferredJoined, params, pluck, displayComputed.size > 0);
139
- if (displayJoined.size > 0) {
140
- queryPaged = components_1.Query.Joined(model.database, meta, queryPaged, displayJoined);
141
- }
142
- if (displayComputed.size > 0) {
143
- queryPaged = components_1.Query.Computed(model.database, meta, queryPaged, displayComputed);
144
- }
145
- if (!params.noPluck && pluck) {
146
- queryPaged = queryPaged.pluck("_internal", ...pluck);
147
- }
119
+ const queryPaged = components_1.Query.ListPage(model.database, meta, query, {
120
+ offset,
121
+ limit,
122
+ filters: params.filters,
123
+ sortKey: params.sortKey,
124
+ pluck: params.noPluck ? undefined : pluck,
125
+ noForeign: params.noForeign,
126
+ deferredJoined,
127
+ });
148
128
  const [dbResult, dbTotal] = await Promise.all([queryPaged, queryTotal]);
149
129
  const results = await Promise.all(dbResult.map((entry) => {
150
130
  const entryInstance = model.constructor.fromDatabase(entry);
@@ -170,8 +150,11 @@ var DefaultRoutes;
170
150
  components_1.Validation.Lock(this, meta, dbData);
171
151
  const model = components_1.Query.GetModel(this, meta);
172
152
  (0, common_1.triggerEvent)(dbData, "insert");
173
- const dbResult = await model.table.insert(dbData);
174
- return dbResult;
153
+ const [id] = await model.table.insert(dbData);
154
+ // Its key even when `get` does not read `_id`: the caller needs it to
155
+ // name the row it created.
156
+ const created = await readRow(this, meta, { params: { id } });
157
+ return { _id: id, ...created };
175
158
  }
176
159
  async edit(_reqCtx, params, body) {
177
160
  const meta = (0, metadata_1.GetDataControllerMeta)(this);
@@ -187,6 +170,9 @@ var DefaultRoutes;
187
170
  components_1.Validation.Lock(this, meta, dbData);
188
171
  (0, common_1.triggerEvent)(dbData, "update");
189
172
  await model.table.get(params.id).update(dbData);
173
+ return readRow(this, meta, {
174
+ params: { id: params.id, index: params.index },
175
+ });
190
176
  }
191
177
  async delete(_reqCtx, params) {
192
178
  const meta = (0, metadata_1.GetDataControllerMeta)(this);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AA8CA,wCAqCC;AAnFD,8DAAkC;AAClC,uEAAwD;AACxD,+DAAyD;AACzD,6EAAsF;AACtF,uFAA0F;AAC1F,sEAG+C;AAC/C,6FAGmD;AACnD,6DAQmC;AAEnC,6CAA6D;AAC7D,yCAOoB;AAEpB,uCAOoB;AADlB,iHAAA,qBAAqB,OAAA;AAGvB,MAAe,WAAW;IACxB,KAAK,CAAmB;CACzB;AAED,SAAgB,cAAc,CAK5B,UAAa,EACb,GAAM,EACN,IAAU;IAEV,MAAM,CAAC,GAAG,KAAM,SAAQ,IAAI;QAC1B,KAAK,CAAmB;KACzB,CAAC;IACF,MAAM,IAAI,GAAG,IAAA,4BAAW,EAAC,CAAC,EAAE,sBAAW,CAAC,CAAC;IACzC,MAAM,aAAa,GAAG,IAAA,2CAAW,EAAC,UAAU,EAAE,mDAAmB,CAAC,CAAC;IACnE,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,UAAU,IAAI,SAAS,CAAC;IAExD,MAAM,cAAc,GAAG,IAAA,2BAAkB,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3D,IAAA,qBAAO,EAAC,cAAc,EAAE,8BAA8B,CAAC,CAAC;IAExD,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CACnD,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,UAAU,CACpC,EAAE,CAAC,CAAC,CAAC,CAAC;IACP,IAAA,qBAAO,EAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;IAElD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAE3B,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,KAAK,GACT,MAAM,IAAI,GAAG;YACX,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE;YAClC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7B,wCAAwC;QACxC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;IACzC,CAAC;IACD,OAAO,CAAQ,CAAC;AAClB,CAAC;AAEY,QAAA,sBAAsB,GAAG,IAAA,+BAAkB,EAAC,CAAC,MAAM,EAAE,EAAE;IAClE,MAAM,IAAI,GAAG,IAAA,4BAAW,EAAC,MAAM,EAAE,sBAAW,CAAC,CAAC;IAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YACpD,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;oBACvB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAG,IAAA,4BAAW,EAAM,MAAM,EAAE,8BAAc,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,IAAI,GAAG,EAAE,CAAC,OAAO,CACtE,MAAM,EACN,GAAG,CACJ,CAAC;QACF,IAAA,6BAAa,EAAC;YACZ,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;gBAChB,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;YAC3B,CAAC;YACD,QAAQ,EAAE,YAAY;YACtB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM;YAC7B,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;YACvD,UAAU,EAAE,IAAI,CAAC,cAAc;YAC/B,KAAK,EAAE,MAAM,CAAC,SAAS;SACxB,CAAC,CAAC;QACH,IAAA,qBAAK,EAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CACrD,MAAM,CAAC,SAAS,EAChB,GAAG,EACH;YACE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;SAC3B,CACF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,SAAS,yBAAyB,CAChC,IAAiB,EACjB,MAAiC,EACjC,KAA8B;IAE9B,MAAM,eAAe,GAAG,IAAI,GAAG,CAC7B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,CACzE,CAAC;IACF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;SACtC,MAAM,CACL,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAChB,KAAK,CAAC,QAAQ;QACd,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;QAC1B,CAAC,MAAM,CAAC,OAAO,IAAI,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CACvC;SACA,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,uBAAuB,CAC9B,QAAqB,EACrB,MAAiC,EACjC,KAA8B,EAC9B,cAAuB;IAEvB,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CACvC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,IAAI,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAC7C,CAAC;IACF,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,IAAiB,aAAa,CAkR7B;AAlRD,WAAiB,aAAa;IAS5B,MAAM,OAAO;QACX,KAAK,CAAC,GAAG,CACP,MAAsB,EACtB,MAAgC,EAChC,KAAgB;YAEhB,MAAM,IAAI,GAAG,IAAA,gCAAqB,EAAC,IAAI,CAAC,CAAC;YAEzC,MAAM,KAAK,GAAG,kBAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACzC,IAAI,KAAK,GAAG,kBAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAE5D,KAAK,GAAG,kBAAK,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAClD,KAAK,GAAG,kBAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAEpD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACtB,KAAK,GAAG,kBAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACrD,CAAC;YAED,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC;YAC7D,IAAA,2BAAM,EAAC,QAAQ,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;YACnC,uBAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YACxC,MAAM,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YAElD,MAAM,OAAO,GAAG,MAAM,kBAAK,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YAExE,uBAAU,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAExC,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,MAAsB,EAAE,MAAiC;YAClE,MAAM,IAAI,GAAG,IAAA,gCAAqB,EAAC,IAAI,CAAC,CAAC;YAEzC,MAAM,KAAK,GAAG,kBAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,MAAM,EAAE,OAAO;gBAC1B,CAAC,CAAE,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,aAAa,CAGpC;gBACJ,CAAC,CAAC,SAAS,CAAC;YACd,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC,GAAG,kBAAK,CAAC,IAAI,CAClD,IAAI,EACJ,IAAI,EACJ,KAAK,CAAC,KAAK,EACX,MAAM,EACN,IAAI,EACJ,MAAM,EAAE,OAAO,EACf,KAAK,CAAC,QAAQ,EACd,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAC/B,CAAC;YAEF,MAAM,KAAK,GACT,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;YACzC,IAAA,2BAAM,EACJ,MAAM,CAAC,OAAO,IAAI,KAAK,EACvB,GAAG,EACH,kCAAkC,MAAM,CAAC,SAAS,IAAI,MAAM,GAAG,CAChE,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACtB,KAAK,GAAG,kBAAK,CAAC,OAAO,CACnB,KAAK,CAAC,QAAQ,EACd,IAAI,EACJ,KAAK,EACL,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CACnC,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;YAClC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YACjC,IAAI,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAE5C,MAAM,eAAe,GAAG,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACvE,sEAAsE;YACtE,qEAAqE;YACrE,uEAAuE;YACvE,wEAAwE;YACxE,yEAAyE;YACzE,MAAM,aAAa,GAAG,uBAAuB,CAC3C,cAAc,EACd,MAAM,EACN,KAAK,EACL,eAAe,CAAC,IAAI,GAAG,CAAC,CACzB,CAAC;YACF,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC3B,UAAU,GAAG,kBAAK,CAAC,MAAM,CACvB,KAAK,CAAC,QAAQ,EACd,IAAI,EACJ,UAAU,EACV,aAAa,CACd,CAAC;YACJ,CAAC;YAED,IAAI,eAAe,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC7B,UAAU,GAAG,kBAAK,CAAC,QAAQ,CACzB,KAAK,CAAC,QAAQ,EACd,IAAI,EACJ,UAAU,EACV,eAAe,CAChB,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC;gBAC7B,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,CAAC;YACvD,CAAC;YAED,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;YAExE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBACrB,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC5D,uBAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;gBAC7C,OAAO,kBAAK,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;YACjE,CAAC,CAAC,CACH,CAAC;YAEF,uBAAU,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAExC,OAAO;gBACL,OAAO;gBACP,KAAK,EAAE,OAAO;gBACd,MAAM;gBACN,KAAK;aACN,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,GAAG,CACP,OAAuB,EACvB,MAAgC,EAChC,IAAY;YAEZ,MAAM,IAAI,GAAG,IAAA,gCAAqB,EAAC,IAAI,CAAC,CAAC;YAEzC,MAAM,IAAI,GAAG,uBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACxB,uBAAU,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAChD,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,uBAAU,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAE1D,MAAM,MAAM,GAAG,MAAM,kBAAK,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACtE,uBAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAEpC,MAAM,KAAK,GAAG,kBAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACzC,IAAA,qBAAY,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAElD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,KAAK,CAAC,IAAI,CACR,OAAuB,EACvB,MAAiC,EACjC,IAAY;YAEZ,MAAM,IAAI,GAAG,IAAA,gCAAqB,EAAC,IAAI,CAAC,CAAC;YAEzC,MAAM,IAAI,GAAG,uBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACxB,uBAAU,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACjD,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,uBAAU,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAE1D,MAAM,KAAK,GAAG,kBAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEzC,MAAM,MAAM,GAAG,MAAM,kBAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACrE,IAAA,2BAAM,EAAC,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;YAEjC,MAAM,MAAM,GAAG,MAAM,kBAAK,CAAC,eAAe,CACxC,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,MAAM,EACN,MAAM,CACP,CAAC;YACF,uBAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAEpC,IAAA,qBAAY,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC/B,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,OAAuB,EAAE,MAAmC;YACvE,MAAM,IAAI,GAAG,IAAA,gCAAqB,EAAC,IAAI,CAAC,CAAC;YAEzC,MAAM,KAAK,GAAG,kBAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEzC,MAAM,KAAK,GAAG,kBAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YACnD,0FAA0F;YAE1F,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC;YAC7B,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF;IAEY,iBAAG,GAAG;QACjB,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG;QAC3B,IAAI,EAAE,CAAC,IAAA,uBAAO,GAAE,EAAE,uBAAU,CAAC,GAAG,EAAE,CAAC;QACnC,MAAM,EAAE,KAAK;KACd,CAAC;IAEF;;;;;;OAMG;IACH,SAAgB,YAAY,CAC1B,KAAe;QAEf,OAAO;YACL,GAAG,cAAA,GAAG;YACN,IAAI,EAAE,UAAU,GAAG,EAAE,MAAM;gBACzB,OAAO,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAC9D,CAAC;SACF,CAAC;IACJ,CAAC;IATe,0BAAY,eAS3B,CAAA;IAEY,kBAAI,GAAG;QAClB,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI;QAC5B,IAAI,EAAE,CAAC,IAAA,uBAAO,GAAE,EAAE,uBAAU,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,EAAE,KAAK;KACd,CAAC;IACW,iBAAG,GAAG;QACjB,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG;QAC3B,IAAI,EAAE,CAAC,IAAA,uBAAO,GAAE,EAAE,uBAAU,CAAC,GAAG,EAAE,EAAE,IAAA,uBAAO,GAAE,CAAC;QAC9C,MAAM,EAAE,MAAM;KACf,CAAC;IACW,kBAAI,GAAG;QAClB,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI;QAC5B,IAAI,EAAE,CAAC,IAAA,uBAAO,GAAE,EAAE,uBAAU,CAAC,IAAI,EAAE,EAAE,IAAA,uBAAO,GAAE,CAAC;QAC/C,MAAM,EAAE,KAAK;KACd,CAAC;IACW,oBAAM,GAAG;QACpB,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM;QAC9B,IAAI,EAAE,CAAC,IAAA,uBAAO,GAAE,EAAE,uBAAU,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,EAAE,QAAQ;KACjB,CAAC;IAEW,iBAAG,GAAG;QACjB,GAAG,EAAE,cAAA,GAAG;QACR,IAAI,EAAE,cAAA,IAAI;QACV,GAAG,EAAE,cAAA,GAAG;QACR,IAAI,EAAE,cAAA,IAAI;QACV,MAAM,EAAE,cAAA,MAAM;KACN,CAAC;IAEX,SAAgB,WAAW,CACzB,QAA0E,EAC1E,OAAoB,EACpB,QAAiB;QAEjB,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;YACvB,OAAO;gBACL,QAAQ;gBACR,OAAO;gBACP,QAAQ;aACT,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,QAAQ,EAAE,QAAQ,IAAI,QAAQ,CAAC,QAAQ;gBACvC,OAAO,EAAE,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE;gBAC5C,QAAQ,EAAE,QAAQ,CAAC,QAAQ;aAC5B,CAAC;QACJ,CAAC;IACH,CAAC;IAlBe,yBAAW,cAkB1B,CAAA;AACH,CAAC,EAlRgB,aAAa,6BAAb,aAAa,QAkR7B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -148,6 +148,13 @@ export interface FieldData {
148
148
  */
149
149
  indexable?: boolean;
150
150
  }
151
+ /**
152
+ * The access a field has in one data API action (`get`, `list`, `new`,
153
+ * `edit`…): its {@link FieldData.modeOverrides} entry for that action, else
154
+ * its {@link FieldData.mode}. Without an action, or for `_default`, the
155
+ * field's own mode.
156
+ */
157
+ export declare function GetEffectiveMode(field: Pick<FieldData, "mode" | "modeOverrides">, action?: string): AccessMode | undefined;
151
158
  /**
152
159
  * In-database computed field expression.
153
160
  *
@@ -174,6 +181,13 @@ export interface ComputedFieldData extends ComputedOptions {
174
181
  }
175
182
  type Comparison = "eq" | "ne" | "gt" | "ge" | "lt" | "le";
176
183
  export type FilterValue = [value: string, mode: Comparison];
184
+ /**
185
+ * The filters of one field in a list request: one {@link FilterValue}, or
186
+ * several a row must all pass (`?filter_age=ge:18&filter_age=lt:65`).
187
+ */
188
+ export type FieldFilter = FilterValue | FilterValue[];
189
+ /** The filters of one field as a list, whether it holds one or several. */
190
+ export declare function FilterValuesOf(filter: FieldFilter): FilterValue[];
177
191
  /**
178
192
  * Filter callback.
179
193
  */
@@ -365,11 +379,13 @@ export declare const Access: (mode: AccessMode, overrides?: Record<string, Acces
365
379
  /**
366
380
  * Sets the listable state of a DataAPI field.
367
381
  *
368
- * Listable fields will be included in list method calls.
382
+ * Listable fields are selected only for the named mode; modes do not inherit
383
+ * the default mode's fields. Read access is still required for the response.
369
384
  *
370
- * Listable getters must specificy the list of in-database field names they use.
385
+ * Listable getters must specify the list of in-database field names they use.
371
386
  *
372
387
  * @param requiredFields Boolean or table field list
388
+ * @param mode Independent list mode, defaulting to "list"
373
389
  */
374
390
  export declare const Listable: (requiredFields?: boolean | string[] | undefined, mode?: string | undefined) => import("@antelopejs/interface-core/decorators").PropertyDecorator & import("@antelopejs/interface-core/decorators").MethodDecorator;
375
391
  /**
@@ -441,7 +457,11 @@ export declare const Validator: (validator: FieldValidator) => import("@antelope
441
457
  /**
442
458
  * Creates a field filter.
443
459
  *
444
- * @param func Custom filter function
460
+ * @param func Custom filter function. Raw query values are strings; parse and
461
+ * validate numeric/boolean values here. The default compares strings unchanged.
462
+ * @param useIndex Allow indexed equality lookup when an index exists. Defaults
463
+ * to true for the default filter and false for custom filters. An indexed
464
+ * equality lookup uses the raw string and bypasses the callback.
445
465
  */
446
466
  export declare const Filter: <T extends Record<string, any>>(func?: FilterFunction<T, T>, useIndex?: boolean) => (target: T, propertyKey: string | symbol) => void;
447
467
  /**
package/dist/metadata.js CHANGED
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
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;
4
+ exports.GetEffectiveMode = GetEffectiveMode;
5
+ exports.FilterValuesOf = FilterValuesOf;
4
6
  exports.GetDataControllerMeta = GetDataControllerMeta;
5
7
  const interface_core_1 = require("@antelopejs/interface-core");
6
8
  const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
@@ -14,6 +16,25 @@ var AccessMode;
14
16
  AccessMode[AccessMode["WriteOnly"] = 2] = "WriteOnly";
15
17
  AccessMode[AccessMode["ReadWrite"] = 3] = "ReadWrite";
16
18
  })(AccessMode || (exports.AccessMode = AccessMode = {}));
19
+ /** The action whose access is a field's own `mode`, overrides aside. */
20
+ const DEFAULT_ACTION = "_default";
21
+ /**
22
+ * The access a field has in one data API action (`get`, `list`, `new`,
23
+ * `edit`…): its {@link FieldData.modeOverrides} entry for that action, else
24
+ * its {@link FieldData.mode}. Without an action, or for `_default`, the
25
+ * field's own mode.
26
+ */
27
+ function GetEffectiveMode(field, action) {
28
+ if (!action || action === DEFAULT_ACTION)
29
+ return field.mode;
30
+ return field.modeOverrides?.[action] ?? field.mode;
31
+ }
32
+ /** The filters of one field as a list, whether it holds one or several. */
33
+ function FilterValuesOf(filter) {
34
+ return Array.isArray(filter[0])
35
+ ? filter
36
+ : [filter];
37
+ }
17
38
  function readTableMetadata(table) {
18
39
  const meta = (0, interface_database_decorators_1.getMetadata)(table, interface_database_decorators_1.DatumStaticMetadata);
19
40
  return { schemaName: meta?.schemaName, tableName: meta?.tableName };
@@ -166,7 +187,7 @@ class DataAPIMeta {
166
187
  for (const key of Object.keys(this.writable)) {
167
188
  delete this.writable[key];
168
189
  }
169
- const actions = new Set(["_default"]);
190
+ const actions = new Set([DEFAULT_ACTION]);
170
191
  for (const field of Object.values(this.fields)) {
171
192
  if (field.modeOverrides) {
172
193
  for (const action of Object.keys(field.modeOverrides)) {
@@ -180,9 +201,7 @@ class DataAPIMeta {
180
201
  }
181
202
  for (const [key, field] of Object.entries(this.fields)) {
182
203
  for (const action of actions) {
183
- const effectiveMode = action === "_default"
184
- ? field.mode
185
- : (field.modeOverrides?.[action] ?? field.mode);
204
+ const effectiveMode = GetEffectiveMode(field, action);
186
205
  if (!effectiveMode) {
187
206
  continue;
188
207
  }
@@ -462,11 +481,13 @@ exports.Access = (0, decorators_1.MakeMethodAndPropertyDecorator)((target, key,
462
481
  /**
463
482
  * Sets the listable state of a DataAPI field.
464
483
  *
465
- * Listable fields will be included in list method calls.
484
+ * Listable fields are selected only for the named mode; modes do not inherit
485
+ * the default mode's fields. Read access is still required for the response.
466
486
  *
467
- * Listable getters must specificy the list of in-database field names they use.
487
+ * Listable getters must specify the list of in-database field names they use.
468
488
  *
469
489
  * @param requiredFields Boolean or table field list
490
+ * @param mode Independent list mode, defaulting to "list"
470
491
  */
471
492
  exports.Listable = (0, decorators_1.MakeMethodAndPropertyDecorator)((target, key, desc, requiredFields, mode) => {
472
493
  (0, interface_core_1.GetMetadata)(target.constructor, DataAPIMeta)
@@ -575,7 +596,11 @@ const FilterDecoratorFactory = (0, decorators_1.MakePropertyDecorator)((target,
575
596
  /**
576
597
  * Creates a field filter.
577
598
  *
578
- * @param func Custom filter function
599
+ * @param func Custom filter function. Raw query values are strings; parse and
600
+ * validate numeric/boolean values here. The default compares strings unchanged.
601
+ * @param useIndex Allow indexed equality lookup when an index exists. Defaults
602
+ * to true for the default filter and false for custom filters. An indexed
603
+ * equality lookup uses the raw string and bypasses the callback.
579
604
  */
580
605
  exports.Filter = FilterDecoratorFactory;
581
606
  /**
@@ -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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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const node_path_1 = __importDefault(require("node:path"));
16
+ const chai_1 = require("chai");
17
+ const interface_api_1 = require("@antelopejs/interface-api");
18
+ const interface_database_1 = require("@antelopejs/interface-database");
19
+ const interface_data_api_1 = require("@antelopejs/interface-data-api");
20
+ const metadata_1 = require("@antelopejs/interface-data-api/metadata");
21
+ const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
22
+ const utils_1 = require("../utils");
23
+ const currentTestName = node_path_1.default
24
+ .basename(__filename)
25
+ .replace(/\.test\.(ts|js)$/, "");
26
+ const teamTableName = `teams-${currentTestName}`;
27
+ const memberTableName = `members-${currentTestName}`;
28
+ const schemaName = "default";
29
+ let Team = class Team extends interface_database_decorators_1.Table {
30
+ };
31
+ __decorate([
32
+ (0, interface_database_decorators_1.Field)("string"),
33
+ __metadata("design:type", String)
34
+ ], Team.prototype, "name", void 0);
35
+ Team = __decorate([
36
+ (0, interface_database_decorators_1.RegisterTable)(teamTableName, schemaName)
37
+ ], Team);
38
+ class TeamModel extends (0, interface_database_decorators_1.BasicDataModel)(Team, teamTableName) {
39
+ }
40
+ let Member = class Member extends interface_database_decorators_1.Table {
41
+ };
42
+ __decorate([
43
+ (0, interface_database_decorators_1.Index)(),
44
+ (0, interface_database_decorators_1.Field)("string"),
45
+ __metadata("design:type", String)
46
+ ], Member.prototype, "team", void 0);
47
+ __decorate([
48
+ (0, interface_database_decorators_1.Field)("string"),
49
+ __metadata("design:type", String)
50
+ ], Member.prototype, "label", void 0);
51
+ __decorate([
52
+ (0, interface_database_decorators_1.Field)("number"),
53
+ __metadata("design:type", Number)
54
+ ], Member.prototype, "age", void 0);
55
+ Member = __decorate([
56
+ (0, interface_database_decorators_1.RegisterTable)(memberTableName, schemaName)
57
+ ], Member);
58
+ class MemberModel extends (0, interface_database_decorators_1.BasicDataModel)(Member, memberTableName) {
59
+ }
60
+ describe("Foreign and Computed fields on the same key", () => {
61
+ it("lists the computed value read from the key and the resolved relation", async () => await listsComputedFromForeignKey());
62
+ it("gets the computed value read from the key and the resolved relation", async () => await getsComputedFromForeignKey());
63
+ it("combines several filters on one field with AND", async () => await combinesFiltersOnOneField());
64
+ });
65
+ async function _createDataController(testName) {
66
+ let _ForeignComputedAPI = class _ForeignComputedAPI extends (0, interface_data_api_1.DataController)(Member, { list: interface_data_api_1.DefaultRoutes.List, get: interface_data_api_1.DefaultRoutes.Get }, (0, interface_api_1.Controller)(`/${testName}`)) {
67
+ };
68
+ __decorate([
69
+ (0, metadata_1.ModelReference)(),
70
+ (0, interface_database_decorators_1.Model)(MemberModel),
71
+ __metadata("design:type", MemberModel)
72
+ ], _ForeignComputedAPI.prototype, "memberModel", void 0);
73
+ __decorate([
74
+ (0, metadata_1.Listable)(),
75
+ (0, metadata_1.Access)(metadata_1.AccessMode.ReadOnly),
76
+ __metadata("design:type", String)
77
+ ], _ForeignComputedAPI.prototype, "_id", void 0);
78
+ __decorate([
79
+ (0, metadata_1.Listable)(),
80
+ (0, metadata_1.Access)(metadata_1.AccessMode.ReadWrite),
81
+ (0, metadata_1.Filter)(),
82
+ __metadata("design:type", String)
83
+ ], _ForeignComputedAPI.prototype, "label", void 0);
84
+ __decorate([
85
+ (0, metadata_1.Listable)(),
86
+ (0, metadata_1.Access)(metadata_1.AccessMode.ReadWrite),
87
+ (0, metadata_1.Filter)((_context, proxy, _key, value, mode) => proxy[mode](parseFloat(value))),
88
+ __metadata("design:type", Number)
89
+ ], _ForeignComputedAPI.prototype, "age", void 0);
90
+ __decorate([
91
+ (0, metadata_1.Listable)(),
92
+ (0, metadata_1.Foreign)(teamTableName, undefined, false, ["_id", "name"]),
93
+ (0, metadata_1.Access)(metadata_1.AccessMode.ReadWrite),
94
+ __metadata("design:type", String)
95
+ ], _ForeignComputedAPI.prototype, "team", void 0);
96
+ __decorate([
97
+ (0, metadata_1.Listable)(),
98
+ (0, metadata_1.Computed)((row, db) => db
99
+ .table(memberTableName)
100
+ .getAll(row.key("team"), "team")
101
+ .count(), { default: 0 }),
102
+ __metadata("design:type", Number)
103
+ ], _ForeignComputedAPI.prototype, "teammates", void 0);
104
+ _ForeignComputedAPI = __decorate([
105
+ (0, interface_data_api_1.RegisterDataController)()
106
+ ], _ForeignComputedAPI);
107
+ await (0, interface_database_decorators_1.RegisterSchema)(schemaName);
108
+ await _dropTables();
109
+ const schemaInstance = (0, utils_1.getSchemaInstance)(schemaName);
110
+ const teamIds = Object.values(await new TeamModel(schemaInstance).insert([
111
+ { name: "Red" },
112
+ { name: "Blue" },
113
+ ]));
114
+ const memberIds = Object.values(await new MemberModel(schemaInstance).insert([
115
+ { team: teamIds[0], label: "red-1", age: 17 },
116
+ { team: teamIds[0], label: "red-2", age: 30 },
117
+ { team: teamIds[0], label: "red-3", age: 70 },
118
+ { team: teamIds[1], label: "blue-1", age: 40 },
119
+ ]));
120
+ return { teamIds, memberIds };
121
+ }
122
+ async function _dropTables() {
123
+ const schema = interface_database_1.Schema.get(schemaName);
124
+ if (schema) {
125
+ await schema.instance().table(memberTableName).delete();
126
+ await schema.instance().table(teamTableName).delete();
127
+ }
128
+ }
129
+ async function _list(testName, query) {
130
+ const response = await (0, utils_1.request)(testName, "list", "GET", undefined, query);
131
+ (0, chai_1.expect)(response.status, await response.clone().text()).to.equal(200);
132
+ return (await response.json());
133
+ }
134
+ async function listsComputedFromForeignKey() {
135
+ const { teamIds } = await _createDataController((0, utils_1.getFunctionName)());
136
+ const data = await _list((0, utils_1.getFunctionName)(), [["limit", "10"]]);
137
+ const byLabel = Object.fromEntries(data.results.map((m) => [m.label, m]));
138
+ (0, chai_1.expect)(byLabel["red-1"].teammates).to.equal(3);
139
+ (0, chai_1.expect)(byLabel["blue-1"].teammates).to.equal(1);
140
+ (0, chai_1.expect)(byLabel["red-1"].team).to.deep.equal({ _id: teamIds[0], name: "Red" });
141
+ (0, chai_1.expect)(byLabel["blue-1"].team).to.deep.equal({
142
+ _id: teamIds[1],
143
+ name: "Blue",
144
+ });
145
+ }
146
+ async function getsComputedFromForeignKey() {
147
+ const { teamIds, memberIds } = await _createDataController((0, utils_1.getFunctionName)());
148
+ const response = await (0, utils_1.getRequest)((0, utils_1.getFunctionName)(), { id: memberIds[3] });
149
+ (0, chai_1.expect)(response.status).to.equal(200);
150
+ const member = (await response.json());
151
+ (0, chai_1.expect)(member.teammates).to.equal(1);
152
+ (0, chai_1.expect)(member.team).to.deep.equal({ _id: teamIds[1], name: "Blue" });
153
+ }
154
+ async function combinesFiltersOnOneField() {
155
+ await _createDataController((0, utils_1.getFunctionName)());
156
+ const range = await _list((0, utils_1.getFunctionName)(), [
157
+ ["filter_age", "ge:18"],
158
+ ["filter_age", "lt:65"],
159
+ ]);
160
+ (0, chai_1.expect)(range.results.map((m) => m.label).sort()).to.deep.equal([
161
+ "blue-1",
162
+ "red-2",
163
+ ]);
164
+ (0, chai_1.expect)(range.total).to.equal(2);
165
+ const disjoint = await _list((0, utils_1.getFunctionName)(), [
166
+ ["filter_label", "red-1"],
167
+ ["filter_label", "red-2"],
168
+ ]);
169
+ (0, chai_1.expect)(disjoint.results).to.deep.equal([]);
170
+ (0, chai_1.expect)(disjoint.total).to.equal(0);
171
+ }
172
+ //# sourceMappingURL=foreign_computed.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"foreign_computed.test.js","sourceRoot":"","sources":["../../../src/tests/components/foreign_computed.test.ts"],"names":[],"mappings":"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"}