@antelopejs/interface-data-api 0.4.0 → 0.6.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 (165) hide show
  1. package/README.md +26 -22
  2. package/dist/antelope.test.js +1 -5
  3. package/dist/antelope.test.js.map +1 -1
  4. package/dist/components.d.ts +67 -39
  5. package/dist/components.js +106 -685
  6. package/dist/components.js.map +1 -1
  7. package/dist/index.d.ts +57 -68
  8. package/dist/index.js +114 -100
  9. package/dist/index.js.map +1 -1
  10. package/dist/internal/computed.d.ts +6 -0
  11. package/dist/internal/computed.js +51 -0
  12. package/dist/internal/computed.js.map +1 -0
  13. package/dist/internal/controller-types.d.ts +34 -0
  14. package/dist/internal/controller-types.js +4 -0
  15. package/dist/internal/controller-types.js.map +1 -0
  16. package/dist/internal/default-filter.d.ts +4 -0
  17. package/dist/internal/default-filter.js +29 -0
  18. package/dist/internal/default-filter.js.map +1 -0
  19. package/dist/internal/deferred-joined-stream.d.ts +11 -0
  20. package/dist/internal/deferred-joined-stream.js +125 -0
  21. package/dist/internal/deferred-joined-stream.js.map +1 -0
  22. package/dist/internal/extractors.d.ts +25 -0
  23. package/dist/internal/extractors.js +31 -0
  24. package/dist/internal/extractors.js.map +1 -0
  25. package/dist/internal/field-types.d.ts +199 -0
  26. package/dist/internal/field-types.js +4 -0
  27. package/dist/internal/field-types.js.map +1 -0
  28. package/dist/internal/filters.d.ts +6 -0
  29. package/dist/internal/filters.js +22 -0
  30. package/dist/internal/filters.js.map +1 -0
  31. package/dist/internal/foreign.d.ts +6 -0
  32. package/dist/internal/foreign.js +116 -0
  33. package/dist/internal/foreign.js.map +1 -0
  34. package/dist/internal/guards.d.ts +39 -0
  35. package/dist/internal/guards.js +116 -0
  36. package/dist/internal/guards.js.map +1 -0
  37. package/dist/internal/joined.d.ts +28 -0
  38. package/dist/internal/joined.js +127 -0
  39. package/dist/internal/joined.js.map +1 -0
  40. package/dist/internal/list.d.ts +16 -0
  41. package/dist/internal/list.js +182 -0
  42. package/dist/internal/list.js.map +1 -0
  43. package/dist/internal/meta-records.d.ts +19 -0
  44. package/dist/internal/meta-records.js +78 -0
  45. package/dist/internal/meta-records.js.map +1 -0
  46. package/dist/internal/properties.d.ts +4 -0
  47. package/dist/internal/properties.js +45 -0
  48. package/dist/internal/properties.js.map +1 -0
  49. package/dist/internal/prototypes.d.ts +14 -0
  50. package/dist/internal/prototypes.js +38 -0
  51. package/dist/internal/prototypes.js.map +1 -0
  52. package/dist/internal/read-properties.d.ts +3 -0
  53. package/dist/internal/read-properties.js +29 -0
  54. package/dist/internal/read-properties.js.map +1 -0
  55. package/dist/internal/table-reference.d.ts +11 -0
  56. package/dist/internal/table-reference.js +46 -0
  57. package/dist/internal/table-reference.js.map +1 -0
  58. package/dist/internal/tables.d.ts +28 -0
  59. package/dist/internal/tables.js +48 -0
  60. package/dist/internal/tables.js.map +1 -0
  61. package/dist/internal/validation.d.ts +12 -0
  62. package/dist/internal/validation.js +100 -0
  63. package/dist/internal/validation.js.map +1 -0
  64. package/dist/metadata.d.ts +27 -228
  65. package/dist/metadata.js +84 -213
  66. package/dist/metadata.js.map +1 -1
  67. package/dist/tests/components/access_control.test.js +28 -20
  68. package/dist/tests/components/access_control.test.js.map +1 -1
  69. package/dist/tests/components/computed.test.js +36 -27
  70. package/dist/tests/components/computed.test.js.map +1 -1
  71. package/dist/tests/components/cross_instance.test.js +8 -6
  72. package/dist/tests/components/cross_instance.test.js.map +1 -1
  73. package/dist/tests/components/deferred_joined.test.js +57 -54
  74. package/dist/tests/components/deferred_joined.test.js.map +1 -1
  75. package/dist/tests/components/extract_generic.test.d.ts +1 -0
  76. package/dist/tests/components/extract_generic.test.js +64 -0
  77. package/dist/tests/components/extract_generic.test.js.map +1 -0
  78. package/dist/tests/components/filter_comparisons.test.d.ts +1 -0
  79. package/dist/tests/components/filter_comparisons.test.js +34 -0
  80. package/dist/tests/components/filter_comparisons.test.js.map +1 -0
  81. package/dist/tests/components/filter_list_route.test.d.ts +1 -0
  82. package/dist/tests/components/filter_list_route.test.js +182 -0
  83. package/dist/tests/components/filter_list_route.test.js.map +1 -0
  84. package/dist/tests/components/filter_options.test.js +11 -10
  85. package/dist/tests/components/filter_options.test.js.map +1 -1
  86. package/dist/tests/components/foreign_computed.test.js +23 -14
  87. package/dist/tests/components/foreign_computed.test.js.map +1 -1
  88. package/dist/tests/components/foreign_joined.test.js +31 -27
  89. package/dist/tests/components/foreign_joined.test.js.map +1 -1
  90. package/dist/tests/components/joined.test.js +59 -45
  91. package/dist/tests/components/joined.test.js.map +1 -1
  92. package/dist/tests/components/listable.test.js +78 -58
  93. package/dist/tests/components/listable.test.js.map +1 -1
  94. package/dist/tests/components/localized_sort.test.js +14 -11
  95. package/dist/tests/components/localized_sort.test.js.map +1 -1
  96. package/dist/tests/components/mandatory.test.js +25 -25
  97. package/dist/tests/components/mandatory.test.js.map +1 -1
  98. package/dist/tests/components/modifier_key.test.js +27 -18
  99. package/dist/tests/components/modifier_key.test.js.map +1 -1
  100. package/dist/tests/components/parse_body.test.d.ts +1 -0
  101. package/dist/tests/components/parse_body.test.js +76 -0
  102. package/dist/tests/components/parse_body.test.js.map +1 -0
  103. package/dist/tests/components/parsed_value.test.js +23 -21
  104. package/dist/tests/components/parsed_value.test.js.map +1 -1
  105. package/dist/tests/components/partial_edit.test.js +38 -32
  106. package/dist/tests/components/partial_edit.test.js.map +1 -1
  107. package/dist/tests/components/per_action_access.test.js +20 -12
  108. package/dist/tests/components/per_action_access.test.js.map +1 -1
  109. package/dist/tests/components/prototype_named_filter.test.d.ts +1 -0
  110. package/dist/tests/components/prototype_named_filter.test.js +87 -0
  111. package/dist/tests/components/prototype_named_filter.test.js.map +1 -0
  112. package/dist/tests/components/validator.test.js +45 -37
  113. package/dist/tests/components/validator.test.js.map +1 -1
  114. package/dist/tests/components/written_row.test.d.ts +1 -0
  115. package/dist/tests/components/written_row.test.js +99 -0
  116. package/dist/tests/components/written_row.test.js.map +1 -0
  117. package/dist/tests/helpers/other-instance.d.ts +11 -1
  118. package/dist/tests/helpers/other-instance.js +35 -9
  119. package/dist/tests/helpers/other-instance.js.map +1 -1
  120. package/dist/tests/index/field_decorator_target.test.d.ts +1 -0
  121. package/dist/tests/index/field_decorator_target.test.js +20 -0
  122. package/dist/tests/index/field_decorator_target.test.js.map +1 -0
  123. package/dist/tests/index/get_guard.test.js +6 -6
  124. package/dist/tests/index/get_guard.test.js.map +1 -1
  125. package/dist/tests/index/inheritance.test.js +14 -9
  126. package/dist/tests/index/inheritance.test.js.map +1 -1
  127. package/dist/tests/index/metadata_names.test.d.ts +1 -0
  128. package/dist/tests/index/metadata_names.test.js +91 -0
  129. package/dist/tests/index/metadata_names.test.js.map +1 -0
  130. package/dist/tests/index/routes.test.js +49 -44
  131. package/dist/tests/index/routes.test.js.map +1 -1
  132. package/dist/tests/integration.test.d.ts +1 -1
  133. package/dist/tests/integration.test.js +66 -729
  134. package/dist/tests/integration.test.js.map +1 -1
  135. package/dist/tests/internal/controller-fields.test.d.ts +1 -0
  136. package/dist/tests/internal/controller-fields.test.js +25 -0
  137. package/dist/tests/internal/controller-fields.test.js.map +1 -0
  138. package/dist/tests/internal/http.d.ts +35 -0
  139. package/dist/tests/internal/http.js +56 -0
  140. package/dist/tests/internal/http.js.map +1 -0
  141. package/dist/tests/internal/shop-api.d.ts +1 -0
  142. package/dist/tests/internal/shop-api.js +331 -0
  143. package/dist/tests/internal/shop-api.js.map +1 -0
  144. package/dist/tests/internal/shop-schema.d.ts +162 -0
  145. package/dist/tests/internal/shop-schema.js +387 -0
  146. package/dist/tests/internal/shop-schema.js.map +1 -0
  147. package/dist/tests/utils.d.ts +8 -10
  148. package/dist/tests/utils.js +1 -3
  149. package/dist/tests/utils.js.map +1 -1
  150. package/dist/tests/utils.test.js +10 -11
  151. package/dist/tests/utils.test.js.map +1 -1
  152. package/docs/1.introduction.md +38 -35
  153. package/docs/10.joined.md +51 -40
  154. package/docs/11.computed.md +91 -47
  155. package/docs/2.data-controllers.md +50 -42
  156. package/docs/3.routes.md +156 -134
  157. package/docs/4.access-rights.md +48 -44
  158. package/docs/5.validators.md +65 -47
  159. package/docs/6.listable.md +53 -49
  160. package/docs/7.foreign-keys.md +55 -48
  161. package/docs/8.filters.md +65 -54
  162. package/docs/9.modifiers.md +29 -25
  163. package/package.json +34 -13
  164. package/skills/data-api-interface/SKILL.md +13 -3
  165. package/skills/data-api-interface/cases.json +99 -0
@@ -16,11 +16,13 @@ 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
18
  const interface_database_1 = require("@antelopejs/interface-database");
19
- const interface_data_api_1 = require("@antelopejs/interface-data-api");
20
- const components_1 = require("@antelopejs/interface-data-api/components");
21
- const metadata_1 = require("@antelopejs/interface-data-api/metadata");
19
+ const index_1 = require("../../index");
20
+ const components_1 = require("../../components");
21
+ const metadata_1 = require("../../metadata");
22
22
  const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
23
+ const http_1 = require("../internal/http");
23
24
  const utils_1 = require("../utils");
25
+ const guards_1 = require("../../internal/guards");
24
26
  const currentTestName = node_path_1.default
25
27
  .basename(__filename)
26
28
  .replace(/\.test\.(ts|js)$/, "");
@@ -47,23 +49,23 @@ Event = __decorate([
47
49
  ], Event);
48
50
  class EventModel extends (0, interface_database_decorators_1.BasicDataModel)(Event, eventTableName) {
49
51
  }
50
- function parseDate(value) {
51
- if (typeof value !== "string" || Number.isNaN(Date.parse(value))) {
52
+ const parseDate = (value) => {
53
+ if (!(0, guards_1.isString)(value) || Number.isNaN(Date.parse(value))) {
52
54
  return { success: false };
53
55
  }
54
56
  return { success: true, data: new Date(value) };
55
- }
56
- async function normalizeCode(value) {
57
- if (typeof value !== "string") {
57
+ };
58
+ const normalizeCode = async (value) => {
59
+ if (!(0, guards_1.isString)(value)) {
58
60
  return { success: false };
59
61
  }
60
62
  return { success: true, data: value.trim().toUpperCase() };
61
- }
63
+ };
62
64
  describe("Field Validator parsed value", () => {
63
- it("writes the parsed value on new", async () => await writesParsedValueOnNew());
64
- it("writes the parsed value on edit", async () => await writesParsedValueOnEdit());
65
- it("writes the value of an asynchronous parse", async () => await writesAsyncParsedValue());
66
- it("rejects a failed parse with the invalid field message", async () => await rejectsFailedParse());
65
+ it("writes the parsed value on new", async () => await expectWritesParsedValueOnNew());
66
+ it("writes the parsed value on edit", async () => await expectWritesParsedValueOnEdit());
67
+ it("writes the value of an asynchronous parse", async () => await expectWritesAsyncParsedValue());
68
+ it("rejects a failed parse with the invalid field message", async () => await expectRejectsFailedParse());
67
69
  });
68
70
  async function _dropEventTable() {
69
71
  const schema = interface_database_1.Schema.get(schemaName);
@@ -72,7 +74,7 @@ async function _dropEventTable() {
72
74
  }
73
75
  }
74
76
  async function _createDataController(testName, event) {
75
- let _ParsedValueTestAPI = class _ParsedValueTestAPI extends (0, interface_data_api_1.DataController)(Event, { new: interface_data_api_1.DefaultRoutes.New, edit: interface_data_api_1.DefaultRoutes.Edit }, (0, interface_api_1.Controller)(`/${testName}`)) {
77
+ let _ParsedValueTestAPI = class _ParsedValueTestAPI extends (0, index_1.DataController)(Event, { new: index_1.DefaultRoutes.New, edit: index_1.DefaultRoutes.Edit }, (0, interface_api_1.Controller)(`/${testName}`)) {
76
78
  };
77
79
  __decorate([
78
80
  (0, metadata_1.ModelReference)(),
@@ -94,7 +96,7 @@ async function _createDataController(testName, event) {
94
96
  __metadata("design:type", String)
95
97
  ], _ParsedValueTestAPI.prototype, "code", void 0);
96
98
  _ParsedValueTestAPI = __decorate([
97
- (0, interface_data_api_1.RegisterDataController)()
99
+ (0, index_1.RegisterDataController)()
98
100
  ], _ParsedValueTestAPI);
99
101
  await (0, interface_database_decorators_1.RegisterSchema)(schemaName);
100
102
  await _dropEventTable();
@@ -105,19 +107,19 @@ async function _createDataController(testName, event) {
105
107
  }
106
108
  return { eventModel };
107
109
  }
108
- async function writesParsedValueOnNew() {
110
+ async function expectWritesParsedValueOnNew() {
109
111
  const { eventModel } = await _createDataController((0, utils_1.getFunctionName)());
110
112
  const response = await (0, utils_1.newRequest)((0, utils_1.getFunctionName)(), {
111
113
  name: "Launch",
112
114
  startsAt,
113
115
  });
114
116
  (0, chai_1.expect)(response.status).to.equal(200);
115
- const { _id: id } = (await response.json());
117
+ const { _id: id } = await (0, http_1.readJson)(http_1.createdRowSchema, response);
116
118
  const event = await eventModel.get(id);
117
119
  (0, chai_1.expect)(event?.startsAt).to.be.instanceOf(Date);
118
120
  (0, chai_1.expect)(event?.startsAt.toISOString()).to.equal(startsAt);
119
121
  }
120
- async function writesParsedValueOnEdit() {
122
+ async function expectWritesParsedValueOnEdit() {
121
123
  const { id, eventModel } = await _createDataController((0, utils_1.getFunctionName)(), {
122
124
  name: "Launch",
123
125
  startsAt: new Date(startsAt),
@@ -130,18 +132,18 @@ async function writesParsedValueOnEdit() {
130
132
  (0, chai_1.expect)(event?.startsAt).to.be.instanceOf(Date);
131
133
  (0, chai_1.expect)(event?.startsAt.toISOString()).to.equal(editedStartsAt);
132
134
  }
133
- async function writesAsyncParsedValue() {
135
+ async function expectWritesAsyncParsedValue() {
134
136
  const { eventModel } = await _createDataController((0, utils_1.getFunctionName)());
135
137
  const response = await (0, utils_1.newRequest)((0, utils_1.getFunctionName)(), {
136
138
  name: "Launch",
137
139
  code: " launch-26 ",
138
140
  });
139
141
  (0, chai_1.expect)(response.status).to.equal(200);
140
- const { _id: id } = (await response.json());
142
+ const { _id: id } = await (0, http_1.readJson)(http_1.createdRowSchema, response);
141
143
  const event = await eventModel.get(id);
142
144
  (0, chai_1.expect)(event?.code).to.equal("LAUNCH-26");
143
145
  }
144
- async function rejectsFailedParse() {
146
+ async function expectRejectsFailedParse() {
145
147
  await _createDataController((0, utils_1.getFunctionName)());
146
148
  const response = await (0, utils_1.newRequest)((0, utils_1.getFunctionName)(), {
147
149
  name: "Launch",
@@ -1 +1 @@
1
- {"version":3,"file":"parsed_value.test.js","sourceRoot":"","sources":["../../../src/tests/components/parsed_value.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parsed_value.test.js","sourceRoot":"","sources":["../../../src/tests/components/parsed_value.test.ts"],"names":[],"mappings":"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"}
@@ -14,12 +14,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const node_path_1 = __importDefault(require("node:path"));
16
16
  const chai_1 = require("chai");
17
+ const zod_1 = require("zod");
17
18
  const interface_api_1 = require("@antelopejs/interface-api");
18
19
  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");
20
+ const index_1 = require("../../index");
21
+ const metadata_1 = require("../../metadata");
21
22
  const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
22
23
  const constants_1 = require("../constants");
24
+ const http_1 = require("../internal/http");
23
25
  const utils_1 = require("../utils");
24
26
  const currentTestName = node_path_1.default
25
27
  .basename(__filename)
@@ -60,6 +62,10 @@ Article = __decorate([
60
62
  ], Article);
61
63
  class ArticleModel extends (0, interface_database_decorators_1.BasicDataModel)(Article, articleTableName) {
62
64
  }
65
+ const localizedArticleSchema = zod_1.z.looseObject({
66
+ title: zod_1.z.string(),
67
+ summary: zod_1.z.string(),
68
+ });
63
69
  const storedArticle = {
64
70
  reference: "ART-001",
65
71
  author: "Alice",
@@ -72,17 +78,17 @@ const localizedArticle = {
72
78
  summary: { en: "Summary", fr: "Résumé" },
73
79
  };
74
80
  describe("Partial edit", () => {
75
- it("leaves the fields absent from the body unchanged", async () => await leavesAbsentFieldsUnchanged());
76
- it("clears a field sent as null", async () => await clearsNullField());
77
- it("skips the setters of fields absent from the body", async () => await skipsSettersOfAbsentFields());
78
- it("runs the setters of fields present in the body", async () => await runsSettersOfPresentFields());
79
- it("still runs every setter on new", async () => await runsEverySetterOnNew());
80
- it("keeps the other languages of a written localized field", async () => await keepsOtherLanguagesOfWrittenField());
81
- it("keeps the localized fields absent from the body", async () => await keepsAbsentLocalizedFields());
82
- it("answers 404 for a missing row", async () => await answersNotFound());
83
- it("answers 400 for a body that is not JSON", async () => await answersBadRequestForInvalidJson());
84
- it("answers 400 for a body that is not a JSON object", async () => await answersBadRequestForNonObjectBody());
85
- it("answers 400 on new for a body that is not a JSON object", async () => await answersBadRequestForNonObjectBodyOnNew());
81
+ it("leaves the fields absent from the body unchanged", async () => await expectLeavesAbsentFieldsUnchanged());
82
+ it("clears a field sent as null", async () => await expectClearsNullField());
83
+ it("skips the setters of fields absent from the body", async () => await expectSkipsSettersOfAbsentFields());
84
+ it("runs the setters of fields present in the body", async () => await expectRunsSettersOfPresentFields());
85
+ it("still runs every setter on new", async () => await expectRunsEverySetterOnNew());
86
+ it("keeps the other languages of a written localized field", async () => await expectKeepsOtherLanguagesOfWrittenField());
87
+ it("keeps the localized fields absent from the body", async () => await expectKeepsAbsentLocalizedFields());
88
+ it("answers 404 for a missing row", async () => await expectAnswersNotFound());
89
+ it("answers 400 for a body that is not JSON", async () => await expectAnswersBadRequestForInvalidJson());
90
+ it("answers 400 for a body that is not a JSON object", async () => await expectAnswersBadRequestForNonObjectBody());
91
+ it("answers 400 on new for a body that is not a JSON object", async () => await expectAnswersBadRequestForNonObjectBodyOnNew());
86
92
  });
87
93
  async function _dropArticleTable() {
88
94
  const schema = interface_database_1.Schema.get(schemaName);
@@ -91,10 +97,10 @@ async function _dropArticleTable() {
91
97
  }
92
98
  }
93
99
  async function _createDataController(testName, article) {
94
- let _PartialEditTestAPI = class _PartialEditTestAPI extends (0, interface_data_api_1.DataController)(Article, {
95
- get: interface_data_api_1.DefaultRoutes.Get,
96
- new: interface_data_api_1.DefaultRoutes.New,
97
- edit: interface_data_api_1.DefaultRoutes.Edit,
100
+ let _PartialEditTestAPI = class _PartialEditTestAPI extends (0, index_1.DataController)(Article, {
101
+ get: index_1.DefaultRoutes.Get,
102
+ new: index_1.DefaultRoutes.New,
103
+ edit: index_1.DefaultRoutes.Edit,
98
104
  }, (0, interface_api_1.Controller)(`/${testName}`)) {
99
105
  set slug(value) {
100
106
  this.table.slug = value ?? defaultSlug;
@@ -136,7 +142,7 @@ async function _createDataController(testName, article) {
136
142
  __metadata("design:paramtypes", [Object])
137
143
  ], _PartialEditTestAPI.prototype, "slug", null);
138
144
  _PartialEditTestAPI = __decorate([
139
- (0, interface_data_api_1.RegisterDataController)()
145
+ (0, index_1.RegisterDataController)()
140
146
  ], _PartialEditTestAPI);
141
147
  await (0, interface_database_decorators_1.RegisterSchema)(schemaName);
142
148
  await _dropArticleTable();
@@ -153,18 +159,18 @@ async function _createLocalizedArticle(testName) {
153
159
  locale: allLocales,
154
160
  });
155
161
  (0, chai_1.expect)(response.status).to.equal(200);
156
- const { _id: id } = (await response.json());
162
+ const { _id: id } = await (0, http_1.readJson)(http_1.createdRowSchema, response);
157
163
  return id;
158
164
  }
159
165
  async function _getLocalized(testName, id, locale) {
160
166
  const response = await (0, utils_1.getRequest)(testName, { id, locale });
161
167
  (0, chai_1.expect)(response.status).to.equal(200);
162
- return (await response.json());
168
+ return await (0, http_1.readJson)(localizedArticleSchema, response);
163
169
  }
164
170
  async function _rawRequest(testName, uri, method, body, queryParams = {}) {
165
171
  return await fetch(`${constants_1.URL_BASE}/${testName}/${uri}?${new URLSearchParams(queryParams).toString()}`, { method, headers: { "Content-Type": "application/json" }, body });
166
172
  }
167
- async function leavesAbsentFieldsUnchanged() {
173
+ async function expectLeavesAbsentFieldsUnchanged() {
168
174
  const { id, articleModel } = await _createDataController((0, utils_1.getFunctionName)(), storedArticle);
169
175
  if (!id)
170
176
  throw new Error("Expected id from _createDataController");
@@ -178,7 +184,7 @@ async function leavesAbsentFieldsUnchanged() {
178
184
  slug: storedArticle.slug,
179
185
  });
180
186
  }
181
- async function clearsNullField() {
187
+ async function expectClearsNullField() {
182
188
  const { id, articleModel } = await _createDataController((0, utils_1.getFunctionName)(), storedArticle);
183
189
  if (!id)
184
190
  throw new Error("Expected id from _createDataController");
@@ -188,7 +194,7 @@ async function clearsNullField() {
188
194
  (0, chai_1.expect)(article?.notes).to.equal(null);
189
195
  (0, chai_1.expect)(article?.reference).to.equal(storedArticle.reference);
190
196
  }
191
- async function skipsSettersOfAbsentFields() {
197
+ async function expectSkipsSettersOfAbsentFields() {
192
198
  const { id, articleModel } = await _createDataController((0, utils_1.getFunctionName)(), storedArticle);
193
199
  if (!id)
194
200
  throw new Error("Expected id from _createDataController");
@@ -197,7 +203,7 @@ async function skipsSettersOfAbsentFields() {
197
203
  const article = await articleModel.get(id);
198
204
  (0, chai_1.expect)(article?.slug).to.equal(storedArticle.slug);
199
205
  }
200
- async function runsSettersOfPresentFields() {
206
+ async function expectRunsSettersOfPresentFields() {
201
207
  const { id, articleModel } = await _createDataController((0, utils_1.getFunctionName)(), storedArticle);
202
208
  if (!id)
203
209
  throw new Error("Expected id from _createDataController");
@@ -206,17 +212,17 @@ async function runsSettersOfPresentFields() {
206
212
  const article = await articleModel.get(id);
207
213
  (0, chai_1.expect)(article?.slug).to.equal("edited-slug");
208
214
  }
209
- async function runsEverySetterOnNew() {
215
+ async function expectRunsEverySetterOnNew() {
210
216
  const { articleModel } = await _createDataController((0, utils_1.getFunctionName)());
211
217
  const response = await (0, utils_1.newRequest)((0, utils_1.getFunctionName)(), {
212
218
  reference: "ART-003",
213
219
  });
214
220
  (0, chai_1.expect)(response.status).to.equal(200);
215
- const { _id: id } = (await response.json());
221
+ const { _id: id } = await (0, http_1.readJson)(http_1.createdRowSchema, response);
216
222
  const article = await articleModel.get(id);
217
223
  (0, chai_1.expect)(article?.slug).to.equal(defaultSlug);
218
224
  }
219
- async function keepsOtherLanguagesOfWrittenField() {
225
+ async function expectKeepsOtherLanguagesOfWrittenField() {
220
226
  const id = await _createLocalizedArticle((0, utils_1.getFunctionName)());
221
227
  const response = await (0, utils_1.editRequest)((0, utils_1.getFunctionName)(), { title: "Nouveau titre" }, { id, locale: "fr" });
222
228
  (0, chai_1.expect)(response.status).to.equal(200);
@@ -229,7 +235,7 @@ async function keepsOtherLanguagesOfWrittenField() {
229
235
  summary: localizedArticle.summary.en,
230
236
  });
231
237
  }
232
- async function keepsAbsentLocalizedFields() {
238
+ async function expectKeepsAbsentLocalizedFields() {
233
239
  const id = await _createLocalizedArticle((0, utils_1.getFunctionName)());
234
240
  const response = await (0, utils_1.editRequest)((0, utils_1.getFunctionName)(), { reference: "ART-002-B" }, { id, locale: allLocales });
235
241
  (0, chai_1.expect)(response.status).to.equal(200);
@@ -242,12 +248,12 @@ async function keepsAbsentLocalizedFields() {
242
248
  summary: localizedArticle.summary.en,
243
249
  });
244
250
  }
245
- async function answersNotFound() {
251
+ async function expectAnswersNotFound() {
246
252
  await _createDataController((0, utils_1.getFunctionName)(), storedArticle);
247
253
  const response = await (0, utils_1.editRequest)((0, utils_1.getFunctionName)(), { author: "Bob" }, { id: missingRowId });
248
254
  (0, chai_1.expect)(response.status).to.equal(404);
249
255
  }
250
- async function answersBadRequestForInvalidJson() {
256
+ async function expectAnswersBadRequestForInvalidJson() {
251
257
  const { id } = await _createDataController((0, utils_1.getFunctionName)(), storedArticle);
252
258
  if (!id)
253
259
  throw new Error("Expected id from _createDataController");
@@ -256,7 +262,7 @@ async function answersBadRequestForInvalidJson() {
256
262
  });
257
263
  (0, chai_1.expect)(response.status).to.equal(400);
258
264
  }
259
- async function answersBadRequestForNonObjectBody() {
265
+ async function expectAnswersBadRequestForNonObjectBody() {
260
266
  const { id } = await _createDataController((0, utils_1.getFunctionName)(), storedArticle);
261
267
  if (!id)
262
268
  throw new Error("Expected id from _createDataController");
@@ -267,7 +273,7 @@ async function answersBadRequestForNonObjectBody() {
267
273
  (0, chai_1.expect)(response.status).to.equal(400, `body ${body}`);
268
274
  }
269
275
  }
270
- async function answersBadRequestForNonObjectBodyOnNew() {
276
+ async function expectAnswersBadRequestForNonObjectBodyOnNew() {
271
277
  await _createDataController((0, utils_1.getFunctionName)());
272
278
  for (const body of ["{", "[]", "null"]) {
273
279
  const response = await _rawRequest((0, utils_1.getFunctionName)(), "new", "POST", body);
@@ -1 +1 @@
1
- {"version":3,"file":"partial_edit.test.js","sourceRoot":"","sources":["../../../src/tests/components/partial_edit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"partial_edit.test.js","sourceRoot":"","sources":["../../../src/tests/components/partial_edit.test.ts"],"names":[],"mappings":"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"}
@@ -14,10 +14,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const node_path_1 = __importDefault(require("node:path"));
16
16
  const chai_1 = require("chai");
17
+ const zod_1 = require("zod");
17
18
  const interface_api_1 = require("@antelopejs/interface-api");
18
- const interface_data_api_1 = require("@antelopejs/interface-data-api");
19
- const metadata_1 = require("@antelopejs/interface-data-api/metadata");
19
+ const index_1 = require("../../index");
20
+ const metadata_1 = require("../../metadata");
20
21
  const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
22
+ const http_1 = require("../internal/http");
21
23
  const utils_1 = require("../utils");
22
24
  const currentTestName = node_path_1.default
23
25
  .basename(__filename)
@@ -48,6 +50,13 @@ User = __decorate([
48
50
  ], User);
49
51
  class UserModel extends (0, interface_database_decorators_1.BasicDataModel)(User, userTableName) {
50
52
  }
53
+ const userRowSchema = zod_1.z.looseObject({
54
+ _id: zod_1.z.string().optional(),
55
+ email: zod_1.z.string().optional(),
56
+ name: zod_1.z.string().optional(),
57
+ role: zod_1.z.string().optional(),
58
+ age: zod_1.z.number().optional(),
59
+ });
51
60
  const defaultUserDataset = {
52
61
  name: "Jean Test",
53
62
  email: "jean.test@email.com",
@@ -55,8 +64,8 @@ const defaultUserDataset = {
55
64
  age: 30,
56
65
  };
57
66
  describe("Per-Action Access Control", () => {
58
- it("writable in new but read-only in edit", async () => await writableInNewReadOnlyInEdit());
59
- it("read-only globally but read-write in new", async () => await readOnlyGloballyReadWriteInNew());
67
+ it("writable in new but read-only in edit", async () => await expectWritableInNewReadOnlyInEdit());
68
+ it("read-only globally but read-write in new", async () => await expectReadOnlyGloballyReadWriteInNew());
60
69
  it("reads a field's effective mode per action", () => {
61
70
  const field = {
62
71
  mode: metadata_1.AccessMode.ReadWrite,
@@ -67,10 +76,9 @@ describe("Per-Action Access Control", () => {
67
76
  (0, chai_1.expect)((0, metadata_1.GetEffectiveMode)(field, "_default")).to.equal(metadata_1.AccessMode.ReadWrite);
68
77
  (0, chai_1.expect)((0, metadata_1.GetEffectiveMode)(field)).to.equal(metadata_1.AccessMode.ReadWrite);
69
78
  });
70
- after(async () => { });
71
79
  });
72
80
  async function _createDataController(testName, user) {
73
- let _PerActionAccessAPI = class _PerActionAccessAPI extends (0, interface_data_api_1.DataController)(User, interface_data_api_1.DefaultRoutes.All, (0, interface_api_1.Controller)(`/${testName}`)) {
81
+ let _PerActionAccessAPI = class _PerActionAccessAPI extends (0, index_1.DataController)(User, index_1.DefaultRoutes.All, (0, interface_api_1.Controller)(`/${testName}`)) {
74
82
  };
75
83
  __decorate([
76
84
  (0, metadata_1.ModelReference)(),
@@ -102,7 +110,7 @@ async function _createDataController(testName, user) {
102
110
  __metadata("design:type", Number)
103
111
  ], _PerActionAccessAPI.prototype, "age", void 0);
104
112
  _PerActionAccessAPI = __decorate([
105
- (0, interface_data_api_1.RegisterDataController)()
113
+ (0, index_1.RegisterDataController)()
106
114
  ], _PerActionAccessAPI);
107
115
  await (0, interface_database_decorators_1.RegisterSchema)(schemaName);
108
116
  const database = (0, utils_1.getSchemaInstance)(schemaName);
@@ -110,21 +118,21 @@ async function _createDataController(testName, user) {
110
118
  const insertResult = await userModel.insert(user);
111
119
  return { id: insertResult[0], userModel };
112
120
  }
113
- async function writableInNewReadOnlyInEdit() {
121
+ async function expectWritableInNewReadOnlyInEdit() {
114
122
  const { id, userModel } = await _createDataController((0, utils_1.getFunctionName)(), defaultUserDataset);
115
123
  const getResponse = await (0, utils_1.getRequest)((0, utils_1.getFunctionName)(), { id });
116
124
  (0, chai_1.expect)(getResponse.status).to.equal(200);
117
- const data = (await getResponse.json());
125
+ const data = await (0, http_1.readJson)(userRowSchema, getResponse);
118
126
  (0, chai_1.expect)(data.role).to.equal("admin");
119
127
  await (0, utils_1.editRequest)((0, utils_1.getFunctionName)(), { role: "user" }, { id });
120
128
  const user = await userModel.get(id);
121
129
  (0, chai_1.expect)(user?.role).to.equal("admin");
122
130
  }
123
- async function readOnlyGloballyReadWriteInNew() {
131
+ async function expectReadOnlyGloballyReadWriteInNew() {
124
132
  const { id, userModel } = await _createDataController((0, utils_1.getFunctionName)(), defaultUserDataset);
125
133
  const newResponse = await (0, utils_1.newRequest)((0, utils_1.getFunctionName)(), defaultUserDataset);
126
134
  (0, chai_1.expect)(newResponse.status).to.equal(200);
127
- const created = (await newResponse.json());
135
+ const created = await (0, http_1.readJson)(http_1.createdRowSchema, newResponse);
128
136
  const newUser = await userModel.get(created._id);
129
137
  (0, chai_1.expect)(newUser?.age).to.equal(30);
130
138
  await (0, utils_1.editRequest)((0, utils_1.getFunctionName)(), { age: 99 }, { id });
@@ -132,7 +140,7 @@ async function readOnlyGloballyReadWriteInNew() {
132
140
  (0, chai_1.expect)(editedUser?.age).to.equal(30);
133
141
  const getResponse = await (0, utils_1.getRequest)((0, utils_1.getFunctionName)(), { id });
134
142
  (0, chai_1.expect)(getResponse.status).to.equal(200);
135
- const getData = (await getResponse.json());
143
+ const getData = await (0, http_1.readJson)(userRowSchema, getResponse);
136
144
  (0, chai_1.expect)(getData.age).to.equal(30);
137
145
  }
138
146
  //# sourceMappingURL=per_action_access.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"per_action_access.test.js","sourceRoot":"","sources":["../../../src/tests/components/per_action_access.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"per_action_access.test.js","sourceRoot":"","sources":["../../../src/tests/components/per_action_access.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const chai_1 = require("chai");
13
+ const zod_1 = require("zod");
14
+ const interface_api_1 = require("@antelopejs/interface-api");
15
+ const interface_database_1 = require("@antelopejs/interface-database");
16
+ const index_1 = require("../../index");
17
+ const metadata_1 = require("../../metadata");
18
+ const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
19
+ const http_1 = require("../internal/http");
20
+ const utils_1 = require("../utils");
21
+ const tableName = "prototype-named-filter-rows";
22
+ const schemaName = "default";
23
+ let Row = class Row extends interface_database_decorators_1.Table {
24
+ };
25
+ __decorate([
26
+ (0, interface_database_decorators_1.Field)("string"),
27
+ __metadata("design:type", String)
28
+ ], Row.prototype, "title", void 0);
29
+ Row = __decorate([
30
+ (0, interface_database_decorators_1.RegisterTable)(tableName, schemaName)
31
+ ], Row);
32
+ (0, interface_database_decorators_1.Field)("string")(Row.prototype, "valueOf");
33
+ class RowModel extends (0, interface_database_decorators_1.BasicDataModel)(Row, tableName) {
34
+ }
35
+ const listSchema = (0, http_1.listResponseSchema)(zod_1.z.looseObject({ title: zod_1.z.string() }));
36
+ async function createController(testName) {
37
+ let _PrototypeNamedFilterAPI = class _PrototypeNamedFilterAPI extends (0, index_1.DataController)(Row, { list: index_1.DefaultRoutes.List }, (0, interface_api_1.Controller)(`/${testName}`)) {
38
+ };
39
+ __decorate([
40
+ (0, metadata_1.ModelReference)(),
41
+ (0, interface_database_decorators_1.Model)(RowModel),
42
+ __metadata("design:type", RowModel)
43
+ ], _PrototypeNamedFilterAPI.prototype, "rowModel", void 0);
44
+ __decorate([
45
+ (0, metadata_1.Listable)(),
46
+ (0, metadata_1.Access)(metadata_1.AccessMode.ReadOnly),
47
+ (0, metadata_1.Filter)(undefined, false),
48
+ __metadata("design:type", String)
49
+ ], _PrototypeNamedFilterAPI.prototype, "title", void 0);
50
+ _PrototypeNamedFilterAPI = __decorate([
51
+ (0, index_1.RegisterDataController)()
52
+ ], _PrototypeNamedFilterAPI);
53
+ (0, metadata_1.Listable)()(_PrototypeNamedFilterAPI.prototype, "valueOf");
54
+ (0, metadata_1.Access)(metadata_1.AccessMode.ReadOnly)(_PrototypeNamedFilterAPI.prototype, "valueOf");
55
+ (0, metadata_1.Filter)(undefined, false)(_PrototypeNamedFilterAPI.prototype, "valueOf");
56
+ await (0, interface_database_decorators_1.RegisterSchema)(schemaName);
57
+ const schema = interface_database_1.Schema.get(schemaName);
58
+ if (schema) {
59
+ await schema.instance().table(tableName).delete();
60
+ }
61
+ await new RowModel((0, utils_1.getSchemaInstance)(schemaName)).insert([
62
+ { title: "alpha" },
63
+ { title: "beta" },
64
+ ]);
65
+ }
66
+ describe("List route - a field named like an Object.prototype member", () => {
67
+ it("lists the rows when no request filter is given", async () => {
68
+ await createController("valueof-plain");
69
+ const response = await (0, utils_1.listRequest)("valueof-plain");
70
+ (0, chai_1.expect)(response.status, await response.clone().text()).to.equal(200);
71
+ const data = await (0, http_1.readJson)(listSchema, response);
72
+ (0, chai_1.expect)(data.results.map(({ title }) => title)).to.have.members([
73
+ "alpha",
74
+ "beta",
75
+ ]);
76
+ });
77
+ it("filters on another field", async () => {
78
+ await createController("valueof-filtered");
79
+ const response = await (0, utils_1.listRequest)("valueof-filtered", {
80
+ filter_title: "eq:alpha",
81
+ });
82
+ (0, chai_1.expect)(response.status, await response.clone().text()).to.equal(200);
83
+ const data = await (0, http_1.readJson)(listSchema, response);
84
+ (0, chai_1.expect)(data.results.map(({ title }) => title)).to.eql(["alpha"]);
85
+ });
86
+ });
87
+ //# sourceMappingURL=prototype_named_filter.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prototype_named_filter.test.js","sourceRoot":"","sources":["../../../src/tests/components/prototype_named_filter.test.ts"],"names":[],"mappings":"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"}