@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.
- package/README.md +26 -22
- package/dist/antelope.test.js +1 -5
- package/dist/antelope.test.js.map +1 -1
- package/dist/components.d.ts +67 -39
- package/dist/components.js +106 -685
- package/dist/components.js.map +1 -1
- package/dist/index.d.ts +57 -68
- package/dist/index.js +114 -100
- package/dist/index.js.map +1 -1
- package/dist/internal/computed.d.ts +6 -0
- package/dist/internal/computed.js +51 -0
- package/dist/internal/computed.js.map +1 -0
- package/dist/internal/controller-types.d.ts +34 -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 +29 -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 +125 -0
- package/dist/internal/deferred-joined-stream.js.map +1 -0
- package/dist/internal/extractors.d.ts +25 -0
- package/dist/internal/extractors.js +31 -0
- package/dist/internal/extractors.js.map +1 -0
- package/dist/internal/field-types.d.ts +199 -0
- package/dist/internal/field-types.js +4 -0
- package/dist/internal/field-types.js.map +1 -0
- package/dist/internal/filters.d.ts +6 -0
- package/dist/internal/filters.js +22 -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 +39 -0
- package/dist/internal/guards.js +116 -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 +182 -0
- package/dist/internal/list.js.map +1 -0
- package/dist/internal/meta-records.d.ts +19 -0
- package/dist/internal/meta-records.js +78 -0
- package/dist/internal/meta-records.js.map +1 -0
- package/dist/internal/properties.d.ts +4 -0
- package/dist/internal/properties.js +45 -0
- package/dist/internal/properties.js.map +1 -0
- package/dist/internal/prototypes.d.ts +14 -0
- package/dist/internal/prototypes.js +38 -0
- package/dist/internal/prototypes.js.map +1 -0
- package/dist/internal/read-properties.d.ts +3 -0
- package/dist/internal/read-properties.js +29 -0
- package/dist/internal/read-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 +28 -0
- package/dist/internal/tables.js +48 -0
- package/dist/internal/tables.js.map +1 -0
- package/dist/internal/validation.d.ts +12 -0
- package/dist/internal/validation.js +100 -0
- package/dist/internal/validation.js.map +1 -0
- package/dist/metadata.d.ts +27 -228
- package/dist/metadata.js +84 -213
- package/dist/metadata.js.map +1 -1
- package/dist/tests/components/access_control.test.js +28 -20
- package/dist/tests/components/access_control.test.js.map +1 -1
- package/dist/tests/components/computed.test.js +36 -27
- 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 +57 -54
- package/dist/tests/components/deferred_joined.test.js.map +1 -1
- package/dist/tests/components/extract_generic.test.d.ts +1 -0
- package/dist/tests/components/extract_generic.test.js +64 -0
- package/dist/tests/components/extract_generic.test.js.map +1 -0
- package/dist/tests/components/filter_comparisons.test.d.ts +1 -0
- package/dist/tests/components/filter_comparisons.test.js +34 -0
- package/dist/tests/components/filter_comparisons.test.js.map +1 -0
- package/dist/tests/components/filter_list_route.test.d.ts +1 -0
- package/dist/tests/components/filter_list_route.test.js +182 -0
- package/dist/tests/components/filter_list_route.test.js.map +1 -0
- package/dist/tests/components/filter_options.test.js +11 -10
- package/dist/tests/components/filter_options.test.js.map +1 -1
- package/dist/tests/components/foreign_computed.test.js +23 -14
- package/dist/tests/components/foreign_computed.test.js.map +1 -1
- package/dist/tests/components/foreign_joined.test.js +31 -27
- package/dist/tests/components/foreign_joined.test.js.map +1 -1
- package/dist/tests/components/joined.test.js +59 -45
- package/dist/tests/components/joined.test.js.map +1 -1
- package/dist/tests/components/listable.test.js +78 -58
- package/dist/tests/components/listable.test.js.map +1 -1
- package/dist/tests/components/localized_sort.test.js +14 -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 +27 -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 +76 -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 +38 -32
- package/dist/tests/components/partial_edit.test.js.map +1 -1
- package/dist/tests/components/per_action_access.test.js +20 -12
- package/dist/tests/components/per_action_access.test.js.map +1 -1
- package/dist/tests/components/prototype_named_filter.test.d.ts +1 -0
- package/dist/tests/components/prototype_named_filter.test.js +87 -0
- package/dist/tests/components/prototype_named_filter.test.js.map +1 -0
- package/dist/tests/components/validator.test.js +45 -37
- package/dist/tests/components/validator.test.js.map +1 -1
- package/dist/tests/components/written_row.test.d.ts +1 -0
- package/dist/tests/components/written_row.test.js +99 -0
- package/dist/tests/components/written_row.test.js.map +1 -0
- package/dist/tests/helpers/other-instance.d.ts +11 -1
- package/dist/tests/helpers/other-instance.js +35 -9
- package/dist/tests/helpers/other-instance.js.map +1 -1
- package/dist/tests/index/field_decorator_target.test.d.ts +1 -0
- package/dist/tests/index/field_decorator_target.test.js +20 -0
- package/dist/tests/index/field_decorator_target.test.js.map +1 -0
- 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 +14 -9
- package/dist/tests/index/inheritance.test.js.map +1 -1
- package/dist/tests/index/metadata_names.test.d.ts +1 -0
- package/dist/tests/index/metadata_names.test.js +91 -0
- package/dist/tests/index/metadata_names.test.js.map +1 -0
- package/dist/tests/index/routes.test.js +49 -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 +66 -729
- package/dist/tests/integration.test.js.map +1 -1
- package/dist/tests/internal/controller-fields.test.d.ts +1 -0
- package/dist/tests/internal/controller-fields.test.js +25 -0
- package/dist/tests/internal/controller-fields.test.js.map +1 -0
- package/dist/tests/internal/http.d.ts +35 -0
- package/dist/tests/internal/http.js +56 -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 +162 -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 +8 -10
- 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/1.introduction.md +38 -35
- package/docs/10.joined.md +51 -40
- package/docs/11.computed.md +91 -47
- package/docs/2.data-controllers.md +50 -42
- package/docs/3.routes.md +156 -134
- package/docs/4.access-rights.md +48 -44
- package/docs/5.validators.md +65 -47
- package/docs/6.listable.md +53 -49
- package/docs/7.foreign-keys.md +55 -48
- package/docs/8.filters.md +65 -54
- package/docs/9.modifiers.md +29 -25
- package/package.json +34 -13
- package/skills/data-api-interface/SKILL.md +13 -3
- package/skills/data-api-interface/cases.json +99 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter_list_route.test.js","sourceRoot":"","sources":["../../../src/tests/components/filter_list_route.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const chai_1 = require("chai");
|
|
4
|
-
const components_1 = require("
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
const components_1 = require("../../components");
|
|
5
|
+
const metadata_1 = require("../../metadata");
|
|
6
|
+
const http_1 = require("../internal/http");
|
|
7
|
+
const meta = new metadata_1.DataAPIMeta(Object)
|
|
8
|
+
.setFilter("documentType", () => true)
|
|
9
|
+
.setFilter("status", () => true);
|
|
8
10
|
function context(query, options) {
|
|
9
|
-
return {
|
|
10
|
-
url: new URL(`http://localhost/?${query}`),
|
|
11
|
+
return Object.assign((0, http_1.createRequestContext)(`http://localhost/?${query}`), {
|
|
11
12
|
dataAPIEntry: { options },
|
|
12
|
-
};
|
|
13
|
+
});
|
|
13
14
|
}
|
|
14
15
|
function extract(ctx) {
|
|
15
16
|
return components_1.Parameters.ExtractGeneric(ctx, meta, {
|
|
16
17
|
filters: components_1.Parameters.ExtractFilters,
|
|
17
|
-
limit:
|
|
18
|
-
offset:
|
|
19
|
-
sortKey:
|
|
18
|
+
limit: components_1.Parameters.FromSearch.int,
|
|
19
|
+
offset: components_1.Parameters.FromSearch.int,
|
|
20
|
+
sortKey: components_1.Parameters.FromSearch.string,
|
|
20
21
|
});
|
|
21
22
|
}
|
|
22
23
|
describe("Mandatory filter options", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter_options.test.js","sourceRoot":"","sources":["../../../src/tests/components/filter_options.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAE9B,
|
|
1
|
+
{"version":3,"file":"filter_options.test.js","sourceRoot":"","sources":["../../../src/tests/components/filter_options.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,11 +14,13 @@ 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
|
|
20
|
-
const metadata_1 = require("
|
|
20
|
+
const index_1 = require("../../index");
|
|
21
|
+
const metadata_1 = require("../../metadata");
|
|
21
22
|
const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
|
|
23
|
+
const http_1 = require("../internal/http");
|
|
22
24
|
const utils_1 = require("../utils");
|
|
23
25
|
const currentTestName = node_path_1.default
|
|
24
26
|
.basename(__filename)
|
|
@@ -57,13 +59,20 @@ Member = __decorate([
|
|
|
57
59
|
], Member);
|
|
58
60
|
class MemberModel extends (0, interface_database_decorators_1.BasicDataModel)(Member, memberTableName) {
|
|
59
61
|
}
|
|
62
|
+
const memberListedSchema = zod_1.z.looseObject({
|
|
63
|
+
_id: zod_1.z.string(),
|
|
64
|
+
label: zod_1.z.string(),
|
|
65
|
+
team: zod_1.z.looseObject({ _id: zod_1.z.string(), name: zod_1.z.string() }),
|
|
66
|
+
teammates: zod_1.z.number(),
|
|
67
|
+
});
|
|
68
|
+
const listSchema = (0, http_1.listResponseSchema)(memberListedSchema);
|
|
60
69
|
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
|
|
62
|
-
it("gets the computed value read from the key and the resolved relation", async () => await
|
|
63
|
-
it("combines several filters on one field with AND", async () => await
|
|
70
|
+
it("lists the computed value read from the key and the resolved relation", async () => await expectListsComputedFromForeignKey());
|
|
71
|
+
it("gets the computed value read from the key and the resolved relation", async () => await expectGetsComputedFromForeignKey());
|
|
72
|
+
it("combines several filters on one field with AND", async () => await expectCombinesFiltersOnOneField());
|
|
64
73
|
});
|
|
65
74
|
async function _createDataController(testName) {
|
|
66
|
-
let _ForeignComputedAPI = class _ForeignComputedAPI extends (0,
|
|
75
|
+
let _ForeignComputedAPI = class _ForeignComputedAPI extends (0, index_1.DataController)(Member, { list: index_1.DefaultRoutes.List, get: index_1.DefaultRoutes.Get }, (0, interface_api_1.Controller)(`/${testName}`)) {
|
|
67
76
|
};
|
|
68
77
|
__decorate([
|
|
69
78
|
(0, metadata_1.ModelReference)(),
|
|
@@ -84,7 +93,7 @@ async function _createDataController(testName) {
|
|
|
84
93
|
__decorate([
|
|
85
94
|
(0, metadata_1.Listable)(),
|
|
86
95
|
(0, metadata_1.Access)(metadata_1.AccessMode.ReadWrite),
|
|
87
|
-
(0, metadata_1.Filter)((_context, proxy, _key, value, mode) => proxy
|
|
96
|
+
(0, metadata_1.Filter)((_context, proxy, _key, value, mode) => mode === "ge" ? proxy.ge(parseFloat(value)) : proxy.lt(parseFloat(value))),
|
|
88
97
|
__metadata("design:type", Number)
|
|
89
98
|
], _ForeignComputedAPI.prototype, "age", void 0);
|
|
90
99
|
__decorate([
|
|
@@ -97,12 +106,12 @@ async function _createDataController(testName) {
|
|
|
97
106
|
(0, metadata_1.Listable)(),
|
|
98
107
|
(0, metadata_1.Computed)((row, db) => db
|
|
99
108
|
.table(memberTableName)
|
|
100
|
-
.getAll(row.key("team"), "team")
|
|
109
|
+
.getAll(row.key("team").cast(), "team")
|
|
101
110
|
.count(), { default: 0 }),
|
|
102
111
|
__metadata("design:type", Number)
|
|
103
112
|
], _ForeignComputedAPI.prototype, "teammates", void 0);
|
|
104
113
|
_ForeignComputedAPI = __decorate([
|
|
105
|
-
(0,
|
|
114
|
+
(0, index_1.RegisterDataController)()
|
|
106
115
|
], _ForeignComputedAPI);
|
|
107
116
|
await (0, interface_database_decorators_1.RegisterSchema)(schemaName);
|
|
108
117
|
await _dropTables();
|
|
@@ -129,9 +138,9 @@ async function _dropTables() {
|
|
|
129
138
|
async function _list(testName, query) {
|
|
130
139
|
const response = await (0, utils_1.request)(testName, "list", "GET", undefined, query);
|
|
131
140
|
(0, chai_1.expect)(response.status, await response.clone().text()).to.equal(200);
|
|
132
|
-
return
|
|
141
|
+
return await (0, http_1.readJson)(listSchema, response);
|
|
133
142
|
}
|
|
134
|
-
async function
|
|
143
|
+
async function expectListsComputedFromForeignKey() {
|
|
135
144
|
const { teamIds } = await _createDataController((0, utils_1.getFunctionName)());
|
|
136
145
|
const data = await _list((0, utils_1.getFunctionName)(), [["limit", "10"]]);
|
|
137
146
|
const byLabel = Object.fromEntries(data.results.map((m) => [m.label, m]));
|
|
@@ -143,15 +152,15 @@ async function listsComputedFromForeignKey() {
|
|
|
143
152
|
name: "Blue",
|
|
144
153
|
});
|
|
145
154
|
}
|
|
146
|
-
async function
|
|
155
|
+
async function expectGetsComputedFromForeignKey() {
|
|
147
156
|
const { teamIds, memberIds } = await _createDataController((0, utils_1.getFunctionName)());
|
|
148
157
|
const response = await (0, utils_1.getRequest)((0, utils_1.getFunctionName)(), { id: memberIds[3] });
|
|
149
158
|
(0, chai_1.expect)(response.status).to.equal(200);
|
|
150
|
-
const member =
|
|
159
|
+
const member = await (0, http_1.readJson)(memberListedSchema, response);
|
|
151
160
|
(0, chai_1.expect)(member.teammates).to.equal(1);
|
|
152
161
|
(0, chai_1.expect)(member.team).to.deep.equal({ _id: teamIds[1], name: "Blue" });
|
|
153
162
|
}
|
|
154
|
-
async function
|
|
163
|
+
async function expectCombinesFiltersOnOneField() {
|
|
155
164
|
await _createDataController((0, utils_1.getFunctionName)());
|
|
156
165
|
const range = await _list((0, utils_1.getFunctionName)(), [
|
|
157
166
|
["filter_age", "ge:18"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foreign_computed.test.js","sourceRoot":"","sources":["../../../src/tests/components/foreign_computed.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,0DAA6B;AAC7B,+BAA8B;AAC9B,6DAAuD;AACvD,
|
|
1
|
+
{"version":3,"file":"foreign_computed.test.js","sourceRoot":"","sources":["../../../src/tests/components/foreign_computed.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
20
|
const interface_core_1 = require("@antelopejs/interface-core");
|
|
20
|
-
const
|
|
21
|
-
const metadata_1 = require("
|
|
21
|
+
const index_1 = require("../../index");
|
|
22
|
+
const metadata_1 = require("../../metadata");
|
|
22
23
|
const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
|
|
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)
|
|
@@ -28,7 +30,6 @@ const authorTableName = `authors-${currentTestName}`;
|
|
|
28
30
|
const bookTableName = `books-${currentTestName}`;
|
|
29
31
|
const shelfTableName = `shelves-${currentTestName}`;
|
|
30
32
|
const schemaName = "default";
|
|
31
|
-
// Join source for the relation target's @Joined label.
|
|
32
33
|
let Author = class Author extends interface_database_decorators_1.Table {
|
|
33
34
|
};
|
|
34
35
|
__decorate([
|
|
@@ -40,8 +41,6 @@ Author = __decorate([
|
|
|
40
41
|
], Author);
|
|
41
42
|
class AuthorModel extends (0, interface_database_decorators_1.BasicDataModel)(Author, authorTableName) {
|
|
42
43
|
}
|
|
43
|
-
// Relation TARGET: `authorName` is a @Joined field (not a physical column),
|
|
44
|
-
// pulled from Author via authorId — like memberSettingDataAPI.name from User.
|
|
45
44
|
let Book = class Book extends interface_database_decorators_1.Table {
|
|
46
45
|
};
|
|
47
46
|
__decorate([
|
|
@@ -58,8 +57,6 @@ Book = __decorate([
|
|
|
58
57
|
], Book);
|
|
59
58
|
class BookModel extends (0, interface_database_decorators_1.BasicDataModel)(Book, bookTableName) {
|
|
60
59
|
}
|
|
61
|
-
// PARENT (the listed controller): `book` is a relation to Book, whose label is
|
|
62
|
-
// the joined `authorName`.
|
|
63
60
|
let Shelf = class Shelf extends interface_database_decorators_1.Table {
|
|
64
61
|
};
|
|
65
62
|
__decorate([
|
|
@@ -72,15 +69,26 @@ Shelf = __decorate([
|
|
|
72
69
|
], Shelf);
|
|
73
70
|
class ShelfModel extends (0, interface_database_decorators_1.BasicDataModel)(Shelf, shelfTableName) {
|
|
74
71
|
}
|
|
72
|
+
const shelfListedSchema = zod_1.z.looseObject({
|
|
73
|
+
_id: zod_1.z.string(),
|
|
74
|
+
book: zod_1.z
|
|
75
|
+
.looseObject({
|
|
76
|
+
_id: zod_1.z.string(),
|
|
77
|
+
title: zod_1.z.string(),
|
|
78
|
+
authorName: zod_1.z.string().nullable(),
|
|
79
|
+
})
|
|
80
|
+
.nullable(),
|
|
81
|
+
});
|
|
82
|
+
const shelfListSchema = zod_1.z.looseObject({ results: zod_1.z.array(shelfListedSchema) });
|
|
75
83
|
const orphanBookId = "orphan-book-id";
|
|
76
84
|
describe("Foreign relation with @Joined target label", () => {
|
|
77
|
-
it("resolves a joined label through a relation in list", async () => await
|
|
78
|
-
it("returns null relation for an orphan foreign key", async () => await
|
|
79
|
-
it("resolves a joined label through a relation in get", async () => await
|
|
80
|
-
it("returns null relation for an orphan foreign key in get", async () => await
|
|
85
|
+
it("resolves a joined label through a relation in list", async () => await expectResolvesJoinedLabelInList());
|
|
86
|
+
it("returns null relation for an orphan foreign key", async () => await expectReturnsNullForOrphanRelation());
|
|
87
|
+
it("resolves a joined label through a relation in get", async () => await expectResolvesJoinedLabelInGet());
|
|
88
|
+
it("returns null relation for an orphan foreign key in get", async () => await expectReturnsNullForOrphanRelationInGet());
|
|
81
89
|
});
|
|
82
90
|
async function _setup(testName) {
|
|
83
|
-
let _BookTargetAPI = class _BookTargetAPI extends (0,
|
|
91
|
+
let _BookTargetAPI = class _BookTargetAPI extends (0, index_1.DataController)(Book, { list: index_1.DefaultRoutes.List }, (0, interface_api_1.Controller)(`/${testName}_book`)) {
|
|
84
92
|
};
|
|
85
93
|
__decorate([
|
|
86
94
|
(0, metadata_1.ModelReference)(),
|
|
@@ -112,10 +120,10 @@ async function _setup(testName) {
|
|
|
112
120
|
__metadata("design:type", String)
|
|
113
121
|
], _BookTargetAPI.prototype, "authorName", void 0);
|
|
114
122
|
_BookTargetAPI = __decorate([
|
|
115
|
-
(0,
|
|
123
|
+
(0, index_1.RegisterDataController)()
|
|
116
124
|
], _BookTargetAPI);
|
|
117
125
|
const bookMeta = (0, interface_core_1.GetMetadata)(_BookTargetAPI, metadata_1.DataAPIMeta);
|
|
118
|
-
let _ShelfAPI = class _ShelfAPI extends (0,
|
|
126
|
+
let _ShelfAPI = class _ShelfAPI extends (0, index_1.DataController)(Shelf, { list: index_1.DefaultRoutes.List, get: index_1.DefaultRoutes.Get }, (0, interface_api_1.Controller)(`/${testName}`)) {
|
|
119
127
|
};
|
|
120
128
|
__decorate([
|
|
121
129
|
(0, metadata_1.ModelReference)(),
|
|
@@ -134,7 +142,7 @@ async function _setup(testName) {
|
|
|
134
142
|
__metadata("design:type", String)
|
|
135
143
|
], _ShelfAPI.prototype, "book", void 0);
|
|
136
144
|
_ShelfAPI = __decorate([
|
|
137
|
-
(0,
|
|
145
|
+
(0, index_1.RegisterDataController)()
|
|
138
146
|
], _ShelfAPI);
|
|
139
147
|
await (0, interface_database_decorators_1.RegisterSchema)(schemaName);
|
|
140
148
|
await _dropTables();
|
|
@@ -168,16 +176,14 @@ async function _dropTables() {
|
|
|
168
176
|
await schema.instance().table(authorTableName).delete();
|
|
169
177
|
}
|
|
170
178
|
}
|
|
171
|
-
async function
|
|
179
|
+
async function expectResolvesJoinedLabelInList() {
|
|
172
180
|
await _setup((0, utils_1.getFunctionName)());
|
|
173
181
|
const response = await (0, utils_1.listRequest)((0, utils_1.getFunctionName)(), {});
|
|
174
182
|
(0, chai_1.expect)(response.status).to.equal(200);
|
|
175
|
-
const data =
|
|
183
|
+
const data = await (0, http_1.readJson)(shelfListSchema, response);
|
|
176
184
|
const alpha = data.results.find((s) => s.book?.title === "Alpha Rising");
|
|
177
185
|
(0, chai_1.expect)(alpha, "row for Alpha Rising").to.not.equal(undefined);
|
|
178
|
-
// Core regression: the joined label resolves through the relation.
|
|
179
186
|
(0, chai_1.expect)(alpha?.book?.authorName).to.equal("Alice Carter");
|
|
180
|
-
// The join key must not leak: only the requested fields are exposed.
|
|
181
187
|
(0, chai_1.expect)(Object.keys(alpha?.book ?? {}).sort()).to.deep.equal([
|
|
182
188
|
"_id",
|
|
183
189
|
"authorName",
|
|
@@ -186,38 +192,36 @@ async function resolvesJoinedLabelInList() {
|
|
|
186
192
|
const beta = data.results.find((s) => s.book?.title === "Beta Stories");
|
|
187
193
|
(0, chai_1.expect)(beta?.book?.authorName).to.equal("Bob Stone");
|
|
188
194
|
}
|
|
189
|
-
async function
|
|
195
|
+
async function expectReturnsNullForOrphanRelation() {
|
|
190
196
|
await _setup((0, utils_1.getFunctionName)());
|
|
191
197
|
const response = await (0, utils_1.listRequest)((0, utils_1.getFunctionName)(), {});
|
|
192
198
|
(0, chai_1.expect)(response.status).to.equal(200);
|
|
193
|
-
const data =
|
|
199
|
+
const data = await (0, http_1.readJson)(shelfListSchema, response);
|
|
194
200
|
const resolved = data.results.filter((s) => s.book?.title);
|
|
195
201
|
(0, chai_1.expect)(resolved).to.have.lengthOf(2);
|
|
196
|
-
// The orphan shelf points to a non-existent book → relation stays null.
|
|
197
202
|
const orphan = data.results.find((s) => !s.book?.title);
|
|
198
203
|
(0, chai_1.expect)(orphan, "orphan relation row present").to.not.equal(undefined);
|
|
199
204
|
(0, chai_1.expect)(orphan?.book, "orphan relation value").to.equal(null);
|
|
200
205
|
}
|
|
201
|
-
async function
|
|
206
|
+
async function expectResolvesJoinedLabelInGet() {
|
|
202
207
|
const { shelfIds } = await _setup((0, utils_1.getFunctionName)());
|
|
203
208
|
const response = await (0, utils_1.getRequest)((0, utils_1.getFunctionName)(), { id: shelfIds[0] });
|
|
204
209
|
if (response.status !== 200) {
|
|
205
210
|
const text = await response.text();
|
|
206
211
|
throw new Error(`get failed (${response.status}): ${text}`);
|
|
207
212
|
}
|
|
208
|
-
const shelf =
|
|
213
|
+
const shelf = await (0, http_1.readJson)(shelfListedSchema, response);
|
|
209
214
|
(0, chai_1.expect)(shelf.book?.title).to.equal("Alpha Rising");
|
|
210
215
|
(0, chai_1.expect)(shelf.book?.authorName).to.equal("Alice Carter");
|
|
211
216
|
}
|
|
212
|
-
async function
|
|
217
|
+
async function expectReturnsNullForOrphanRelationInGet() {
|
|
213
218
|
const { shelfIds } = await _setup((0, utils_1.getFunctionName)());
|
|
214
|
-
// shelfIds[2] points to an orphan book id.
|
|
215
219
|
const response = await (0, utils_1.getRequest)((0, utils_1.getFunctionName)(), { id: shelfIds[2] });
|
|
216
220
|
if (response.status !== 200) {
|
|
217
221
|
const text = await response.text();
|
|
218
222
|
throw new Error(`get orphan failed (${response.status}): ${text}`);
|
|
219
223
|
}
|
|
220
|
-
const shelf =
|
|
224
|
+
const shelf = await (0, http_1.readJson)(shelfListedSchema, response);
|
|
221
225
|
(0, chai_1.expect)(shelf.book, "orphan relation value in get").to.equal(null);
|
|
222
226
|
}
|
|
223
227
|
//# sourceMappingURL=foreign_joined.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foreign_joined.test.js","sourceRoot":"","sources":["../../../src/tests/components/foreign_joined.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,0DAA6B;AAC7B,+BAA8B;AAC9B,6DAAuD;AACvD,uEAAwD;AACxD,+DAAyD;AACzD,
|
|
1
|
+
{"version":3,"file":"foreign_joined.test.js","sourceRoot":"","sources":["../../../src/tests/components/foreign_joined.test.ts"],"names":[],"mappings":"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"}
|