@apso/cli 0.7.4 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/autogen/index.d.ts +2 -0
- package/dist/autogen/index.js +3 -0
- package/dist/commands/server/new.d.ts +4 -1
- package/dist/commands/server/new.js +115 -22
- package/dist/commands/server/scaffold.d.ts +10 -0
- package/dist/commands/server/scaffold.js +200 -10
- package/dist/lib/api/client.d.ts +65 -0
- package/dist/lib/api/client.js +305 -0
- package/dist/lib/api/index.d.ts +8 -0
- package/dist/lib/api/index.js +22 -0
- package/dist/lib/api/services.d.ts +166 -0
- package/dist/lib/api/services.js +202 -0
- package/dist/lib/api/types.d.ts +212 -0
- package/dist/lib/api/types.js +7 -0
- package/dist/lib/apsorc-parser.d.ts +3 -0
- package/dist/lib/apsorc-parser.js +4 -0
- package/dist/lib/config/index.d.ts +8 -0
- package/dist/lib/config/index.js +17 -0
- package/dist/lib/config/manager.d.ts +127 -0
- package/dist/lib/config/manager.js +304 -0
- package/dist/lib/config/paths.d.ts +65 -0
- package/dist/lib/config/paths.js +127 -0
- package/dist/lib/config/types.d.ts +230 -0
- package/dist/lib/config/types.js +30 -0
- package/dist/lib/generators/base.d.ts +93 -0
- package/dist/lib/generators/base.js +90 -0
- package/dist/lib/generators/go.d.ts +37 -0
- package/dist/lib/generators/go.js +340 -0
- package/dist/lib/generators/index.d.ts +21 -0
- package/dist/lib/generators/index.js +51 -0
- package/dist/lib/generators/python.d.ts +21 -0
- package/dist/lib/generators/python.js +253 -0
- package/dist/lib/generators/typescript.d.ts +25 -0
- package/dist/lib/generators/typescript.js +373 -0
- package/dist/lib/index.d.ts +2 -0
- package/dist/lib/index.js +9 -1
- package/dist/lib/templates/entities/entity-col-timestamp.eta +9 -2
- package/dist/lib/templates/entities/entity-col-timestamptz.eta +9 -2
- package/dist/lib/templates/entities/entity.eta +18 -5
- package/dist/lib/templates/go/dto/dto-col-array.eta +7 -0
- package/dist/lib/templates/go/dto/dto-col-boolean.eta +7 -0
- package/dist/lib/templates/go/dto/dto-col-date.eta +7 -0
- package/dist/lib/templates/go/dto/dto-col-decimal.eta +7 -0
- package/dist/lib/templates/go/dto/dto-col-enum.eta +8 -0
- package/dist/lib/templates/go/dto/dto-col-float.eta +7 -0
- package/dist/lib/templates/go/dto/dto-col-integer.eta +7 -0
- package/dist/lib/templates/go/dto/dto-col-json.eta +7 -0
- package/dist/lib/templates/go/dto/dto-col-jsonb.eta +7 -0
- package/dist/lib/templates/go/dto/dto-col-numeric.eta +7 -0
- package/dist/lib/templates/go/dto/dto-col-string.eta +7 -0
- package/dist/lib/templates/go/dto/dto-col-text.eta +7 -0
- package/dist/lib/templates/go/dto/dto-col-timestamp.eta +7 -0
- package/dist/lib/templates/go/dto/dto-col-timestamptz.eta +7 -0
- package/dist/lib/templates/go/dto/dto-col-uuid.eta +7 -0
- package/dist/lib/templates/go/dto/dto-col-varchar.eta +7 -0
- package/dist/lib/templates/go/dto/dto.eta +78 -0
- package/dist/lib/templates/go/enums.eta +44 -0
- package/dist/lib/templates/go/handlers/handler.eta +212 -0
- package/dist/lib/templates/go/header.eta +3 -0
- package/dist/lib/templates/go/index-module.eta +53 -0
- package/dist/lib/templates/go/middleware/auth.eta +101 -0
- package/dist/lib/templates/go/models/model-col-array.eta +1 -0
- package/dist/lib/templates/go/models/model-col-boolean.eta +1 -0
- package/dist/lib/templates/go/models/model-col-date.eta +1 -0
- package/dist/lib/templates/go/models/model-col-decimal.eta +1 -0
- package/dist/lib/templates/go/models/model-col-enum.eta +2 -0
- package/dist/lib/templates/go/models/model-col-float.eta +1 -0
- package/dist/lib/templates/go/models/model-col-integer.eta +1 -0
- package/dist/lib/templates/go/models/model-col-json.eta +1 -0
- package/dist/lib/templates/go/models/model-col-jsonb.eta +1 -0
- package/dist/lib/templates/go/models/model-col-numeric.eta +1 -0
- package/dist/lib/templates/go/models/model-col-string.eta +1 -0
- package/dist/lib/templates/go/models/model-col-text.eta +1 -0
- package/dist/lib/templates/go/models/model-col-timestamp.eta +1 -0
- package/dist/lib/templates/go/models/model-col-timestamptz.eta +1 -0
- package/dist/lib/templates/go/models/model-col-uuid.eta +1 -0
- package/dist/lib/templates/go/models/model-col-varchar.eta +1 -0
- package/dist/lib/templates/go/models/model.eta +53 -0
- package/dist/lib/templates/go/services/service.eta +190 -0
- package/dist/lib/templates/python/enums.eta +10 -0
- package/dist/lib/templates/python/header.eta +6 -0
- package/dist/lib/templates/python/index-module.eta +18 -0
- package/dist/lib/templates/python/models/model-col-array.eta +4 -0
- package/dist/lib/templates/python/models/model-col-boolean.eta +5 -0
- package/dist/lib/templates/python/models/model-col-date.eta +4 -0
- package/dist/lib/templates/python/models/model-col-decimal.eta +4 -0
- package/dist/lib/templates/python/models/model-col-enum.eta +16 -0
- package/dist/lib/templates/python/models/model-col-float.eta +5 -0
- package/dist/lib/templates/python/models/model-col-integer.eta +6 -0
- package/dist/lib/templates/python/models/model-col-json.eta +4 -0
- package/dist/lib/templates/python/models/model-col-jsonb.eta +4 -0
- package/dist/lib/templates/python/models/model-col-numeric.eta +4 -0
- package/dist/lib/templates/python/models/model-col-string.eta +6 -0
- package/dist/lib/templates/python/models/model-col-text.eta +6 -0
- package/dist/lib/templates/python/models/model-col-timestamp.eta +11 -0
- package/dist/lib/templates/python/models/model-col-timestamptz.eta +11 -0
- package/dist/lib/templates/python/models/model-col-uuid.eta +5 -0
- package/dist/lib/templates/python/models/model-col-varchar.eta +6 -0
- package/dist/lib/templates/python/models/model.eta +124 -0
- package/dist/lib/templates/python/routers/router.eta +206 -0
- package/dist/lib/templates/python/schemas/schema-col-array.eta +1 -0
- package/dist/lib/templates/python/schemas/schema-col-boolean.eta +1 -0
- package/dist/lib/templates/python/schemas/schema-col-date.eta +1 -0
- package/dist/lib/templates/python/schemas/schema-col-decimal.eta +1 -0
- package/dist/lib/templates/python/schemas/schema-col-enum.eta +6 -0
- package/dist/lib/templates/python/schemas/schema-col-float.eta +1 -0
- package/dist/lib/templates/python/schemas/schema-col-integer.eta +1 -0
- package/dist/lib/templates/python/schemas/schema-col-json.eta +1 -0
- package/dist/lib/templates/python/schemas/schema-col-jsonb.eta +1 -0
- package/dist/lib/templates/python/schemas/schema-col-numeric.eta +1 -0
- package/dist/lib/templates/python/schemas/schema-col-string.eta +1 -0
- package/dist/lib/templates/python/schemas/schema-col-text.eta +1 -0
- package/dist/lib/templates/python/schemas/schema-col-timestamp.eta +1 -0
- package/dist/lib/templates/python/schemas/schema-col-timestamptz.eta +1 -0
- package/dist/lib/templates/python/schemas/schema-col-uuid.eta +1 -0
- package/dist/lib/templates/python/schemas/schema-col-varchar.eta +1 -0
- package/dist/lib/templates/python/schemas/schema.eta +87 -0
- package/dist/lib/templates/python/services/service.eta +163 -0
- package/dist/lib/templates/rest/controller-rest.eta +13 -12
- package/dist/lib/templates/rest/dto-rest.eta +173 -59
- package/dist/lib/types/generator.d.ts +241 -0
- package/dist/lib/types/generator.js +2 -0
- package/dist/lib/types/index.d.ts +1 -0
- package/dist/lib/utils/casing.d.ts +1 -0
- package/dist/lib/utils/casing.js +11 -1
- package/oclif.manifest.json +32 -3
- package/package.json +4 -2
- package/dist/lib/utils/relationships/parse.spec.d.ts +0 -1
- package/dist/lib/utils/relationships/parse.spec.js +0 -402
- package/dist/tests/templates/entities/types/array-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/array-template.spec.js +0 -82
- package/dist/tests/templates/entities/types/bigint-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/bigint-template.spec.js +0 -82
- package/dist/tests/templates/entities/types/boolean-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/boolean-template.spec.js +0 -77
- package/dist/tests/templates/entities/types/bytea-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/bytea-template.spec.js +0 -68
- package/dist/tests/templates/entities/types/char-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/char-template.spec.js +0 -68
- package/dist/tests/templates/entities/types/date-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/date-template.spec.js +0 -56
- package/dist/tests/templates/entities/types/decimal-field-validation.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/decimal-field-validation.spec.js +0 -100
- package/dist/tests/templates/entities/types/decimal-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/decimal-template.spec.js +0 -86
- package/dist/tests/templates/entities/types/double-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/double-template.spec.js +0 -70
- package/dist/tests/templates/entities/types/enum-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/enum-template.spec.js +0 -85
- package/dist/tests/templates/entities/types/float-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/float-template.spec.js +0 -70
- package/dist/tests/templates/entities/types/geometry-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/geometry-template.spec.js +0 -58
- package/dist/tests/templates/entities/types/inet-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/inet-template.spec.js +0 -69
- package/dist/tests/templates/entities/types/int4range-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/int4range-template.spec.js +0 -72
- package/dist/tests/templates/entities/types/integer-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/integer-template.spec.js +0 -79
- package/dist/tests/templates/entities/types/interval-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/interval-template.spec.js +0 -68
- package/dist/tests/templates/entities/types/json-plain-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/json-plain-template.spec.js +0 -54
- package/dist/tests/templates/entities/types/json-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/json-template.spec.js +0 -40
- package/dist/tests/templates/entities/types/jsonb-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/jsonb-template.spec.js +0 -40
- package/dist/tests/templates/entities/types/money-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/money-template.spec.js +0 -68
- package/dist/tests/templates/entities/types/numeric-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/numeric-template.spec.js +0 -84
- package/dist/tests/templates/entities/types/point-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/point-template.spec.js +0 -64
- package/dist/tests/templates/entities/types/polygon-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/polygon-template.spec.js +0 -70
- package/dist/tests/templates/entities/types/real-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/real-template.spec.js +0 -67
- package/dist/tests/templates/entities/types/serial-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/serial-template.spec.js +0 -113
- package/dist/tests/templates/entities/types/smallint-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/smallint-template.spec.js +0 -82
- package/dist/tests/templates/entities/types/string-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/string-template.spec.js +0 -111
- package/dist/tests/templates/entities/types/text-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/text-template.spec.js +0 -70
- package/dist/tests/templates/entities/types/time-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/time-template.spec.js +0 -68
- package/dist/tests/templates/entities/types/timestamp-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/timestamp-template.spec.js +0 -74
- package/dist/tests/templates/entities/types/timetz-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/timetz-template.spec.js +0 -68
- package/dist/tests/templates/entities/types/tsvector-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/tsvector-template.spec.js +0 -55
- package/dist/tests/templates/entities/types/uuid-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/uuid-template.spec.js +0 -82
- package/dist/tests/templates/entities/types/varchar-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/varchar-template.spec.js +0 -105
- package/dist/tests/templates/entities/types/xml-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/types/xml-template.spec.js +0 -55
- package/dist/tests/templates/entities/uuid-entity-template.spec.d.ts +0 -1
- package/dist/tests/templates/entities/uuid-entity-template.spec.js +0 -277
- package/dist/tests/utils/relationship-deduplication.spec.d.ts +0 -1
- package/dist/tests/utils/relationship-deduplication.spec.js +0 -98
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const template_test_utils_1 = require("../utils/template-test-utils");
|
|
4
|
-
const globals_1 = require("@jest/globals");
|
|
5
|
-
(0, globals_1.describe)("Geometry Entity Template Tests", () => {
|
|
6
|
-
// Setup Eta configuration once before all tests
|
|
7
|
-
(0, globals_1.beforeAll)(() => {
|
|
8
|
-
(0, template_test_utils_1.configureEta)();
|
|
9
|
-
});
|
|
10
|
-
const templatePath = "./entities/entity-col-geometry";
|
|
11
|
-
const testCases = [
|
|
12
|
-
{
|
|
13
|
-
name: "should render basic geometry field correctly",
|
|
14
|
-
field: {
|
|
15
|
-
name: "shape",
|
|
16
|
-
dataType: "any",
|
|
17
|
-
nullable: false,
|
|
18
|
-
},
|
|
19
|
-
assertions: [
|
|
20
|
-
{ type: "contains", text: "@Column({" },
|
|
21
|
-
{ type: "contains", text: '"type": "geometry"' },
|
|
22
|
-
{ type: "contains", text: "transformer: {" },
|
|
23
|
-
{ type: "contains", text: "to: (geometry: any) => {" },
|
|
24
|
-
{ type: "contains", text: "from: (pgGeometry: any) => {" },
|
|
25
|
-
{ type: "contains", text: "shape: any;" },
|
|
26
|
-
{ type: "notContains", text: "nullable: true" },
|
|
27
|
-
],
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
name: "should render nullable geometry field correctly",
|
|
31
|
-
field: {
|
|
32
|
-
name: "optionalShape",
|
|
33
|
-
dataType: "any",
|
|
34
|
-
nullable: true,
|
|
35
|
-
},
|
|
36
|
-
assertions: [
|
|
37
|
-
{ type: "contains", text: "@Column({" },
|
|
38
|
-
{ type: "contains", text: '"type": "geometry"' },
|
|
39
|
-
{ type: "contains", text: "nullable: true" },
|
|
40
|
-
{ type: "contains", text: "optionalShape: any;" },
|
|
41
|
-
],
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
name: "should render indexed geometry field correctly",
|
|
45
|
-
field: {
|
|
46
|
-
name: "spatialData",
|
|
47
|
-
dataType: "any",
|
|
48
|
-
nullable: false,
|
|
49
|
-
index: true,
|
|
50
|
-
},
|
|
51
|
-
assertions: [
|
|
52
|
-
{ type: "contains", text: "@Index()" },
|
|
53
|
-
{ type: "contains", text: "spatialData: any;" },
|
|
54
|
-
],
|
|
55
|
-
},
|
|
56
|
-
];
|
|
57
|
-
(0, template_test_utils_1.runTemplateTests)(templatePath, testCases);
|
|
58
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const template_test_utils_1 = require("../utils/template-test-utils");
|
|
4
|
-
const globals_1 = require("@jest/globals");
|
|
5
|
-
(0, globals_1.describe)("Inet Entity Template Tests", () => {
|
|
6
|
-
// Setup Eta configuration once before all tests
|
|
7
|
-
(0, globals_1.beforeAll)(() => {
|
|
8
|
-
(0, template_test_utils_1.configureEta)();
|
|
9
|
-
});
|
|
10
|
-
const templatePath = "./entities/entity-col-inet";
|
|
11
|
-
const testCases = [
|
|
12
|
-
{
|
|
13
|
-
name: "should render basic inet field correctly",
|
|
14
|
-
field: {
|
|
15
|
-
name: "ipAddress",
|
|
16
|
-
dataType: "string",
|
|
17
|
-
nullable: false,
|
|
18
|
-
},
|
|
19
|
-
assertions: [
|
|
20
|
-
{ type: "contains", text: '@Column({ "type": "inet"' },
|
|
21
|
-
{ type: "contains", text: "ipAddress: string;" },
|
|
22
|
-
{ type: "notContains", text: "@Index()" },
|
|
23
|
-
{ type: "notContains", text: "@PrimaryColumn()" },
|
|
24
|
-
],
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
name: "should render nullable inet field correctly",
|
|
28
|
-
field: {
|
|
29
|
-
name: "optionalIp",
|
|
30
|
-
dataType: "string",
|
|
31
|
-
nullable: true,
|
|
32
|
-
},
|
|
33
|
-
assertions: [
|
|
34
|
-
{ type: "contains", text: '@Column({ "type": "inet"' },
|
|
35
|
-
{ type: "contains", text: "nullable: true" },
|
|
36
|
-
{ type: "contains", text: "optionalIp: string;" },
|
|
37
|
-
],
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
name: "should render inet field with default value correctly",
|
|
41
|
-
field: {
|
|
42
|
-
name: "defaultIp",
|
|
43
|
-
dataType: "string",
|
|
44
|
-
nullable: false,
|
|
45
|
-
default: "127.0.0.1",
|
|
46
|
-
},
|
|
47
|
-
assertions: [
|
|
48
|
-
{ type: "contains", text: '@Column({ "type": "inet"' },
|
|
49
|
-
{ type: "contains", text: "default: 127.0.0.1" },
|
|
50
|
-
{ type: "contains", text: "defaultIp: string;" },
|
|
51
|
-
],
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
name: "should render indexed inet field correctly",
|
|
55
|
-
field: {
|
|
56
|
-
name: "indexedIp",
|
|
57
|
-
dataType: "string",
|
|
58
|
-
nullable: false,
|
|
59
|
-
index: true,
|
|
60
|
-
},
|
|
61
|
-
assertions: [
|
|
62
|
-
{ type: "contains", text: '@Column({ "type": "inet"' },
|
|
63
|
-
{ type: "contains", text: "@Index()" },
|
|
64
|
-
{ type: "contains", text: "indexedIp: string;" },
|
|
65
|
-
],
|
|
66
|
-
},
|
|
67
|
-
];
|
|
68
|
-
(0, template_test_utils_1.runTemplateTests)(templatePath, testCases);
|
|
69
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const template_test_utils_1 = require("../utils/template-test-utils");
|
|
4
|
-
const globals_1 = require("@jest/globals");
|
|
5
|
-
(0, globals_1.describe)("Int4Range Entity Template Tests", () => {
|
|
6
|
-
// Setup Eta configuration once before all tests
|
|
7
|
-
(0, globals_1.beforeAll)(() => {
|
|
8
|
-
(0, template_test_utils_1.configureEta)();
|
|
9
|
-
});
|
|
10
|
-
const templatePath = "./entities/entity-col-int4range";
|
|
11
|
-
const testCases = [
|
|
12
|
-
{
|
|
13
|
-
name: "should render basic int4range field correctly",
|
|
14
|
-
field: {
|
|
15
|
-
name: "ageRange",
|
|
16
|
-
dataType: "{lower: number, upper: number, lowerInclusive: boolean, upperInclusive: boolean}",
|
|
17
|
-
nullable: false,
|
|
18
|
-
},
|
|
19
|
-
assertions: [
|
|
20
|
-
{ type: "contains", text: "@Column({" },
|
|
21
|
-
{ type: "contains", text: '"type": "int4range"' },
|
|
22
|
-
{ type: "contains", text: "transformer: {" },
|
|
23
|
-
{
|
|
24
|
-
type: "contains",
|
|
25
|
-
text: "to: (range: {lower: number, upper: number, lowerInclusive: boolean, upperInclusive: boolean}",
|
|
26
|
-
},
|
|
27
|
-
{ type: "contains", text: "from: (pgRange: string | null)" },
|
|
28
|
-
{ type: "contains", text: "const lowerInclusive = pgRange.startsWith" },
|
|
29
|
-
{ type: "contains", text: "const upperInclusive = pgRange.endsWith" },
|
|
30
|
-
{
|
|
31
|
-
type: "contains",
|
|
32
|
-
text: "ageRange: {lower: number, upper: number, lowerInclusive: boolean, upperInclusive: boolean};",
|
|
33
|
-
},
|
|
34
|
-
{ type: "notContains", text: "nullable: true" },
|
|
35
|
-
],
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
name: "should render nullable int4range field correctly",
|
|
39
|
-
field: {
|
|
40
|
-
name: "optionalRange",
|
|
41
|
-
dataType: "{lower: number, upper: number, lowerInclusive: boolean, upperInclusive: boolean}",
|
|
42
|
-
nullable: true,
|
|
43
|
-
},
|
|
44
|
-
assertions: [
|
|
45
|
-
{ type: "contains", text: "@Column({" },
|
|
46
|
-
{ type: "contains", text: '"type": "int4range"' },
|
|
47
|
-
{ type: "contains", text: "nullable: true" },
|
|
48
|
-
{
|
|
49
|
-
type: "contains",
|
|
50
|
-
text: "optionalRange: {lower: number, upper: number, lowerInclusive: boolean, upperInclusive: boolean};",
|
|
51
|
-
},
|
|
52
|
-
],
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
name: "should render indexed int4range field correctly",
|
|
56
|
-
field: {
|
|
57
|
-
name: "valueRange",
|
|
58
|
-
dataType: "{lower: number, upper: number, lowerInclusive: boolean, upperInclusive: boolean}",
|
|
59
|
-
nullable: false,
|
|
60
|
-
index: true,
|
|
61
|
-
},
|
|
62
|
-
assertions: [
|
|
63
|
-
{ type: "contains", text: "@Index()" },
|
|
64
|
-
{
|
|
65
|
-
type: "contains",
|
|
66
|
-
text: "valueRange: {lower: number, upper: number, lowerInclusive: boolean, upperInclusive: boolean};",
|
|
67
|
-
},
|
|
68
|
-
],
|
|
69
|
-
},
|
|
70
|
-
];
|
|
71
|
-
(0, template_test_utils_1.runTemplateTests)(templatePath, testCases);
|
|
72
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const template_test_utils_1 = require("../utils/template-test-utils");
|
|
4
|
-
const globals_1 = require("@jest/globals");
|
|
5
|
-
(0, globals_1.describe)("Integer Entity Template Tests", () => {
|
|
6
|
-
// Setup Eta configuration once before all tests
|
|
7
|
-
(0, globals_1.beforeAll)(() => {
|
|
8
|
-
(0, template_test_utils_1.configureEta)();
|
|
9
|
-
});
|
|
10
|
-
const templatePath = "./entities/entity-col-integer";
|
|
11
|
-
const testCases = [
|
|
12
|
-
{
|
|
13
|
-
name: "should render basic integer field correctly",
|
|
14
|
-
field: {
|
|
15
|
-
name: "count",
|
|
16
|
-
dataType: "number",
|
|
17
|
-
nullable: false,
|
|
18
|
-
},
|
|
19
|
-
assertions: [
|
|
20
|
-
{ type: "contains", text: '@Column({ "type": "int"' },
|
|
21
|
-
{ type: "contains", text: "count: number;" },
|
|
22
|
-
{ type: "notContains", text: "@Index()" },
|
|
23
|
-
{ type: "notContains", text: "@PrimaryColumn()" },
|
|
24
|
-
],
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
name: "should render nullable integer field correctly",
|
|
28
|
-
field: {
|
|
29
|
-
name: "optionalCount",
|
|
30
|
-
dataType: "number",
|
|
31
|
-
nullable: true,
|
|
32
|
-
},
|
|
33
|
-
assertions: [
|
|
34
|
-
{ type: "contains", text: '@Column({ "type": "int"' },
|
|
35
|
-
{ type: "contains", text: "optionalCount: number;" },
|
|
36
|
-
],
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
name: "should render integer field with default value correctly",
|
|
40
|
-
field: {
|
|
41
|
-
name: "quantity",
|
|
42
|
-
dataType: "number",
|
|
43
|
-
nullable: false,
|
|
44
|
-
default: 0,
|
|
45
|
-
},
|
|
46
|
-
assertions: [
|
|
47
|
-
{ type: "contains", text: "default: 0" },
|
|
48
|
-
{ type: "contains", text: "quantity: number;" },
|
|
49
|
-
],
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
name: "should render indexed integer field correctly",
|
|
53
|
-
field: {
|
|
54
|
-
name: "userId",
|
|
55
|
-
dataType: "number",
|
|
56
|
-
nullable: false,
|
|
57
|
-
index: true,
|
|
58
|
-
},
|
|
59
|
-
assertions: [
|
|
60
|
-
{ type: "contains", text: "@Index()" },
|
|
61
|
-
{ type: "contains", text: "userId: number;" },
|
|
62
|
-
],
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
name: "should render primary key integer field correctly",
|
|
66
|
-
field: {
|
|
67
|
-
name: "id",
|
|
68
|
-
dataType: "number",
|
|
69
|
-
nullable: false,
|
|
70
|
-
primary: true,
|
|
71
|
-
},
|
|
72
|
-
assertions: [
|
|
73
|
-
{ type: "contains", text: "@PrimaryColumn()" },
|
|
74
|
-
{ type: "contains", text: "id: number;" },
|
|
75
|
-
],
|
|
76
|
-
},
|
|
77
|
-
];
|
|
78
|
-
(0, template_test_utils_1.runTemplateTests)(templatePath, testCases);
|
|
79
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const template_test_utils_1 = require("../utils/template-test-utils");
|
|
4
|
-
const globals_1 = require("@jest/globals");
|
|
5
|
-
(0, globals_1.describe)("Interval Entity Template Tests", () => {
|
|
6
|
-
// Setup Eta configuration once before all tests
|
|
7
|
-
(0, globals_1.beforeAll)(() => {
|
|
8
|
-
(0, template_test_utils_1.configureEta)();
|
|
9
|
-
});
|
|
10
|
-
const templatePath = "./entities/entity-col-interval";
|
|
11
|
-
const testCases = [
|
|
12
|
-
{
|
|
13
|
-
name: "should render basic interval field correctly",
|
|
14
|
-
field: {
|
|
15
|
-
name: "duration",
|
|
16
|
-
dataType: "string",
|
|
17
|
-
nullable: false,
|
|
18
|
-
},
|
|
19
|
-
assertions: [
|
|
20
|
-
{ type: "contains", text: '@Column({ "type": "interval"' },
|
|
21
|
-
{ type: "contains", text: "duration: string;" },
|
|
22
|
-
{ type: "notContains", text: "@Index()" },
|
|
23
|
-
{ type: "notContains", text: "@PrimaryColumn()" },
|
|
24
|
-
],
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
name: "should render nullable interval field correctly",
|
|
28
|
-
field: {
|
|
29
|
-
name: "optionalDuration",
|
|
30
|
-
dataType: "string",
|
|
31
|
-
nullable: true,
|
|
32
|
-
},
|
|
33
|
-
assertions: [
|
|
34
|
-
{ type: "contains", text: '@Column({ "type": "interval"' },
|
|
35
|
-
{ type: "contains", text: "optionalDuration: string;" },
|
|
36
|
-
],
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
name: "should render interval field with default value correctly",
|
|
40
|
-
field: {
|
|
41
|
-
name: "defaultDuration",
|
|
42
|
-
dataType: "string",
|
|
43
|
-
nullable: false,
|
|
44
|
-
default: "1 day",
|
|
45
|
-
},
|
|
46
|
-
assertions: [
|
|
47
|
-
{ type: "contains", text: '@Column({ "type": "interval"' },
|
|
48
|
-
{ type: "contains", text: "default: 1 day" },
|
|
49
|
-
{ type: "contains", text: "defaultDuration: string;" },
|
|
50
|
-
],
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
name: "should render indexed interval field correctly",
|
|
54
|
-
field: {
|
|
55
|
-
name: "indexedDuration",
|
|
56
|
-
dataType: "string",
|
|
57
|
-
nullable: false,
|
|
58
|
-
index: true,
|
|
59
|
-
},
|
|
60
|
-
assertions: [
|
|
61
|
-
{ type: "contains", text: '@Column({ "type": "interval"' },
|
|
62
|
-
{ type: "contains", text: "@Index()" },
|
|
63
|
-
{ type: "contains", text: "indexedDuration: string;" },
|
|
64
|
-
],
|
|
65
|
-
},
|
|
66
|
-
];
|
|
67
|
-
(0, template_test_utils_1.runTemplateTests)(templatePath, testCases);
|
|
68
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const template_test_utils_1 = require("../utils/template-test-utils");
|
|
4
|
-
const globals_1 = require("@jest/globals");
|
|
5
|
-
(0, globals_1.describe)("Plain JSON Entity Template Tests", () => {
|
|
6
|
-
// Setup Eta configuration once before all tests
|
|
7
|
-
(0, globals_1.beforeAll)(() => {
|
|
8
|
-
(0, template_test_utils_1.configureEta)();
|
|
9
|
-
});
|
|
10
|
-
const templatePath = "./entities/entity-col-json-plain";
|
|
11
|
-
const testCases = [
|
|
12
|
-
{
|
|
13
|
-
name: "should render basic plain JSON field correctly",
|
|
14
|
-
field: {
|
|
15
|
-
name: "metadata",
|
|
16
|
-
dataType: "Record<string, any>",
|
|
17
|
-
nullable: false,
|
|
18
|
-
},
|
|
19
|
-
assertions: [
|
|
20
|
-
{ type: "contains", text: "@Column('json'" },
|
|
21
|
-
{ type: "contains", text: "metadata: JSON;" },
|
|
22
|
-
{ type: "notContains", text: "@Index()" },
|
|
23
|
-
{ type: "notContains", text: "@PrimaryColumn()" },
|
|
24
|
-
],
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
name: "should render nullable plain JSON field correctly",
|
|
28
|
-
field: {
|
|
29
|
-
name: "optionalMeta",
|
|
30
|
-
dataType: "Record<string, any>",
|
|
31
|
-
nullable: true,
|
|
32
|
-
},
|
|
33
|
-
assertions: [
|
|
34
|
-
{ type: "contains", text: "@Column('json'" },
|
|
35
|
-
{ type: "contains", text: "nullable: true" },
|
|
36
|
-
{ type: "contains", text: "optionalMeta: JSON;" },
|
|
37
|
-
],
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
name: "should render plain JSON field with default value correctly",
|
|
41
|
-
field: {
|
|
42
|
-
name: "defaultMeta",
|
|
43
|
-
dataType: "Record<string, any>",
|
|
44
|
-
nullable: false,
|
|
45
|
-
default: "{}",
|
|
46
|
-
},
|
|
47
|
-
assertions: [
|
|
48
|
-
{ type: "contains", text: "@Column('json'" },
|
|
49
|
-
{ type: "contains", text: "defaultMeta: JSON;" },
|
|
50
|
-
],
|
|
51
|
-
},
|
|
52
|
-
];
|
|
53
|
-
(0, template_test_utils_1.runTemplateTests)(templatePath, testCases);
|
|
54
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const template_test_utils_1 = require("../utils/template-test-utils");
|
|
4
|
-
const globals_1 = require("@jest/globals");
|
|
5
|
-
(0, globals_1.describe)("JSON Entity Template Tests", () => {
|
|
6
|
-
// Setup Eta configuration once before all tests
|
|
7
|
-
(0, globals_1.beforeAll)(() => {
|
|
8
|
-
(0, template_test_utils_1.configureEta)();
|
|
9
|
-
});
|
|
10
|
-
const templatePath = "./entities/entity-col-json";
|
|
11
|
-
const testCases = [
|
|
12
|
-
{
|
|
13
|
-
name: "should render basic json field correctly",
|
|
14
|
-
field: {
|
|
15
|
-
name: "jsonData",
|
|
16
|
-
dataType: "json",
|
|
17
|
-
nullable: false,
|
|
18
|
-
},
|
|
19
|
-
assertions: [
|
|
20
|
-
{ type: "contains", text: "@Column('jsonb'" },
|
|
21
|
-
{ type: "contains", text: "nullable: false" },
|
|
22
|
-
{ type: "contains", text: "jsonData: JSON;" },
|
|
23
|
-
],
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
name: "should render nullable json field correctly",
|
|
27
|
-
field: {
|
|
28
|
-
name: "optionalJsonData",
|
|
29
|
-
dataType: "json",
|
|
30
|
-
nullable: true,
|
|
31
|
-
},
|
|
32
|
-
assertions: [
|
|
33
|
-
{ type: "contains", text: "@Column('jsonb'" },
|
|
34
|
-
{ type: "contains", text: "nullable: true" },
|
|
35
|
-
{ type: "contains", text: "optionalJsonData: JSON;" },
|
|
36
|
-
],
|
|
37
|
-
},
|
|
38
|
-
];
|
|
39
|
-
(0, template_test_utils_1.runTemplateTests)(templatePath, testCases);
|
|
40
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const template_test_utils_1 = require("../utils/template-test-utils");
|
|
4
|
-
const globals_1 = require("@jest/globals");
|
|
5
|
-
(0, globals_1.describe)("JSONB Entity Template Tests", () => {
|
|
6
|
-
// Setup Eta configuration once before all tests
|
|
7
|
-
(0, globals_1.beforeAll)(() => {
|
|
8
|
-
(0, template_test_utils_1.configureEta)();
|
|
9
|
-
});
|
|
10
|
-
const templatePath = "./entities/entity-col-jsonb";
|
|
11
|
-
const testCases = [
|
|
12
|
-
{
|
|
13
|
-
name: "should render basic jsonb field correctly",
|
|
14
|
-
field: {
|
|
15
|
-
name: "jsonData",
|
|
16
|
-
dataType: "jsonb",
|
|
17
|
-
nullable: false,
|
|
18
|
-
},
|
|
19
|
-
assertions: [
|
|
20
|
-
{ type: "contains", text: "@Column('jsonb'" },
|
|
21
|
-
{ type: "contains", text: "nullable: false" },
|
|
22
|
-
{ type: "contains", text: "jsonData: any;" },
|
|
23
|
-
],
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
name: "should render nullable jsonb field correctly",
|
|
27
|
-
field: {
|
|
28
|
-
name: "optionalJsonData",
|
|
29
|
-
dataType: "jsonb",
|
|
30
|
-
nullable: true,
|
|
31
|
-
},
|
|
32
|
-
assertions: [
|
|
33
|
-
{ type: "contains", text: "@Column('jsonb'" },
|
|
34
|
-
{ type: "contains", text: "nullable: true" },
|
|
35
|
-
{ type: "contains", text: "optionalJsonData: any;" },
|
|
36
|
-
],
|
|
37
|
-
},
|
|
38
|
-
];
|
|
39
|
-
(0, template_test_utils_1.runTemplateTests)(templatePath, testCases);
|
|
40
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const template_test_utils_1 = require("../utils/template-test-utils");
|
|
4
|
-
const globals_1 = require("@jest/globals");
|
|
5
|
-
(0, globals_1.describe)("Money Entity Template Tests", () => {
|
|
6
|
-
// Setup Eta configuration once before all tests
|
|
7
|
-
(0, globals_1.beforeAll)(() => {
|
|
8
|
-
(0, template_test_utils_1.configureEta)();
|
|
9
|
-
});
|
|
10
|
-
const templatePath = "./entities/entity-col-money";
|
|
11
|
-
const testCases = [
|
|
12
|
-
{
|
|
13
|
-
name: "should render basic money field correctly",
|
|
14
|
-
field: {
|
|
15
|
-
name: "price",
|
|
16
|
-
dataType: "string",
|
|
17
|
-
nullable: false,
|
|
18
|
-
},
|
|
19
|
-
assertions: [
|
|
20
|
-
{ type: "contains", text: '@Column({ "type": "money"' },
|
|
21
|
-
{ type: "contains", text: "price: string;" },
|
|
22
|
-
{ type: "notContains", text: "@Index()" },
|
|
23
|
-
{ type: "notContains", text: "@PrimaryColumn()" },
|
|
24
|
-
],
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
name: "should render nullable money field correctly",
|
|
28
|
-
field: {
|
|
29
|
-
name: "optionalPrice",
|
|
30
|
-
dataType: "string",
|
|
31
|
-
nullable: true,
|
|
32
|
-
},
|
|
33
|
-
assertions: [
|
|
34
|
-
{ type: "contains", text: '@Column({ "type": "money"' },
|
|
35
|
-
{ type: "contains", text: "optionalPrice: string;" },
|
|
36
|
-
],
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
name: "should render money field with default value correctly",
|
|
40
|
-
field: {
|
|
41
|
-
name: "defaultPrice",
|
|
42
|
-
dataType: "string",
|
|
43
|
-
nullable: false,
|
|
44
|
-
default: "0.00",
|
|
45
|
-
},
|
|
46
|
-
assertions: [
|
|
47
|
-
{ type: "contains", text: '@Column({ "type": "money"' },
|
|
48
|
-
{ type: "contains", text: "default: 0.00" },
|
|
49
|
-
{ type: "contains", text: "defaultPrice: string;" },
|
|
50
|
-
],
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
name: "should render indexed money field correctly",
|
|
54
|
-
field: {
|
|
55
|
-
name: "indexedPrice",
|
|
56
|
-
dataType: "string",
|
|
57
|
-
nullable: false,
|
|
58
|
-
index: true,
|
|
59
|
-
},
|
|
60
|
-
assertions: [
|
|
61
|
-
{ type: "contains", text: '@Column({ "type": "money"' },
|
|
62
|
-
{ type: "contains", text: "@Index()" },
|
|
63
|
-
{ type: "contains", text: "indexedPrice: string;" },
|
|
64
|
-
],
|
|
65
|
-
},
|
|
66
|
-
];
|
|
67
|
-
(0, template_test_utils_1.runTemplateTests)(templatePath, testCases);
|
|
68
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const template_test_utils_1 = require("../utils/template-test-utils");
|
|
4
|
-
const globals_1 = require("@jest/globals");
|
|
5
|
-
(0, globals_1.describe)("Numeric Entity Template Tests", () => {
|
|
6
|
-
// Setup Eta configuration once before all tests
|
|
7
|
-
(0, globals_1.beforeAll)(() => {
|
|
8
|
-
(0, template_test_utils_1.configureEta)();
|
|
9
|
-
});
|
|
10
|
-
const templatePath = "./entities/entity-col-numeric";
|
|
11
|
-
const testCases = [
|
|
12
|
-
{
|
|
13
|
-
name: "should render basic numeric field correctly",
|
|
14
|
-
field: {
|
|
15
|
-
name: "numericValue",
|
|
16
|
-
dataType: "number",
|
|
17
|
-
nullable: false,
|
|
18
|
-
},
|
|
19
|
-
assertions: [
|
|
20
|
-
{ type: "contains", text: '@Column({ "type": "numeric"' },
|
|
21
|
-
{ type: "contains", text: "numericValue: number;" },
|
|
22
|
-
{ type: "notContains", text: "@Index()" },
|
|
23
|
-
{ type: "notContains", text: "@PrimaryColumn()" },
|
|
24
|
-
],
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
name: "should render nullable numeric field correctly",
|
|
28
|
-
field: {
|
|
29
|
-
name: "optionalValue",
|
|
30
|
-
dataType: "number",
|
|
31
|
-
nullable: true,
|
|
32
|
-
},
|
|
33
|
-
assertions: [
|
|
34
|
-
{ type: "contains", text: '@Column({ "type": "numeric"' },
|
|
35
|
-
{ type: "contains", text: "optionalValue: number;" },
|
|
36
|
-
],
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
name: "should render numeric field with precision and scale correctly",
|
|
40
|
-
field: {
|
|
41
|
-
name: "preciseValue",
|
|
42
|
-
dataType: "number",
|
|
43
|
-
nullable: false,
|
|
44
|
-
precision: 12,
|
|
45
|
-
scale: 4,
|
|
46
|
-
},
|
|
47
|
-
assertions: [
|
|
48
|
-
{ type: "contains", text: '@Column({ "type": "numeric"' },
|
|
49
|
-
{ type: "contains", text: "precision: 12" },
|
|
50
|
-
{ type: "contains", text: "scale: 4" },
|
|
51
|
-
{ type: "contains", text: "preciseValue: number;" },
|
|
52
|
-
],
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
name: "should render numeric field with default value correctly",
|
|
56
|
-
field: {
|
|
57
|
-
name: "defaultValue",
|
|
58
|
-
dataType: "number",
|
|
59
|
-
nullable: false,
|
|
60
|
-
default: 0,
|
|
61
|
-
},
|
|
62
|
-
assertions: [
|
|
63
|
-
{ type: "contains", text: '@Column({ "type": "numeric"' },
|
|
64
|
-
{ type: "contains", text: "default: 0" },
|
|
65
|
-
{ type: "contains", text: "defaultValue: number;" },
|
|
66
|
-
],
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
name: "should render indexed numeric field correctly",
|
|
70
|
-
field: {
|
|
71
|
-
name: "indexedValue",
|
|
72
|
-
dataType: "number",
|
|
73
|
-
nullable: false,
|
|
74
|
-
index: true,
|
|
75
|
-
},
|
|
76
|
-
assertions: [
|
|
77
|
-
{ type: "contains", text: '@Column({ "type": "numeric"' },
|
|
78
|
-
{ type: "contains", text: "@Index()" },
|
|
79
|
-
{ type: "contains", text: "indexedValue: number;" },
|
|
80
|
-
],
|
|
81
|
-
},
|
|
82
|
-
];
|
|
83
|
-
(0, template_test_utils_1.runTemplateTests)(templatePath, testCases);
|
|
84
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|