@apso/cli 0.7.4 → 0.8.3
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 +16 -3
- 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,74 +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)("Timestamp Templates Tests", () => {
|
|
6
|
-
// Setup Eta configuration once before all tests
|
|
7
|
-
(0, globals_1.beforeAll)(() => {
|
|
8
|
-
(0, template_test_utils_1.configureEta)();
|
|
9
|
-
});
|
|
10
|
-
(0, globals_1.describe)("Timestamp Entity Template Tests", () => {
|
|
11
|
-
const templatePath = "./entities/entity-col-timestamp";
|
|
12
|
-
const testCases = [
|
|
13
|
-
{
|
|
14
|
-
name: "should render basic timestamp field correctly",
|
|
15
|
-
field: {
|
|
16
|
-
name: "createdAt",
|
|
17
|
-
dataType: "Date",
|
|
18
|
-
nullable: false,
|
|
19
|
-
},
|
|
20
|
-
assertions: [
|
|
21
|
-
{ type: "contains", text: "@Column({ type: 'timestamp'" },
|
|
22
|
-
{ type: "contains", text: "nullable: false" },
|
|
23
|
-
{ type: "contains", text: "createdAt: Date;" },
|
|
24
|
-
],
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
name: "should render nullable timestamp field correctly",
|
|
28
|
-
field: {
|
|
29
|
-
name: "optionalTimestamp",
|
|
30
|
-
dataType: "Date",
|
|
31
|
-
nullable: true,
|
|
32
|
-
},
|
|
33
|
-
assertions: [
|
|
34
|
-
{ type: "contains", text: "@Column({ type: 'timestamp'" },
|
|
35
|
-
{ type: "contains", text: "nullable: true" },
|
|
36
|
-
{ type: "contains", text: "optionalTimestamp: Date;" },
|
|
37
|
-
],
|
|
38
|
-
},
|
|
39
|
-
];
|
|
40
|
-
(0, template_test_utils_1.runTemplateTests)(templatePath, testCases);
|
|
41
|
-
});
|
|
42
|
-
(0, globals_1.describe)("TimestampWithTimeZone Entity Template Tests", () => {
|
|
43
|
-
const templatePath = "./entities/entity-col-timestamptz";
|
|
44
|
-
const testCases = [
|
|
45
|
-
{
|
|
46
|
-
name: "should render basic timestamptz field correctly",
|
|
47
|
-
field: {
|
|
48
|
-
name: "createdAtUtc",
|
|
49
|
-
dataType: "Date",
|
|
50
|
-
nullable: false,
|
|
51
|
-
},
|
|
52
|
-
assertions: [
|
|
53
|
-
{ type: "contains", text: "@Column({ type: 'timestamptz'" },
|
|
54
|
-
{ type: "contains", text: "nullable: false" },
|
|
55
|
-
{ type: "contains", text: "createdAtUtc: Date;" },
|
|
56
|
-
],
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
name: "should render nullable timestamptz field correctly",
|
|
60
|
-
field: {
|
|
61
|
-
name: "optionalTimestamptz",
|
|
62
|
-
dataType: "Date",
|
|
63
|
-
nullable: true,
|
|
64
|
-
},
|
|
65
|
-
assertions: [
|
|
66
|
-
{ type: "contains", text: "@Column({ type: 'timestamptz'" },
|
|
67
|
-
{ type: "contains", text: "nullable: true" },
|
|
68
|
-
{ type: "contains", text: "optionalTimestamptz: Date;" },
|
|
69
|
-
],
|
|
70
|
-
},
|
|
71
|
-
];
|
|
72
|
-
(0, template_test_utils_1.runTemplateTests)(templatePath, testCases);
|
|
73
|
-
});
|
|
74
|
-
});
|
|
@@ -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)("TimeWithTimeZone 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-timetz";
|
|
11
|
-
const testCases = [
|
|
12
|
-
{
|
|
13
|
-
name: "should render basic timetz field correctly",
|
|
14
|
-
field: {
|
|
15
|
-
name: "globalTime",
|
|
16
|
-
dataType: "string",
|
|
17
|
-
nullable: false,
|
|
18
|
-
},
|
|
19
|
-
assertions: [
|
|
20
|
-
{ type: "contains", text: '@Column({ "type": "timetz"' },
|
|
21
|
-
{ type: "contains", text: "globalTime: string;" },
|
|
22
|
-
{ type: "notContains", text: "@Index()" },
|
|
23
|
-
{ type: "notContains", text: "@PrimaryColumn()" },
|
|
24
|
-
],
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
name: "should render nullable timetz field correctly",
|
|
28
|
-
field: {
|
|
29
|
-
name: "optionalGlobalTime",
|
|
30
|
-
dataType: "string",
|
|
31
|
-
nullable: true,
|
|
32
|
-
},
|
|
33
|
-
assertions: [
|
|
34
|
-
{ type: "contains", text: '@Column({ "type": "timetz"' },
|
|
35
|
-
{ type: "contains", text: "optionalGlobalTime: string;" },
|
|
36
|
-
],
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
name: "should render timetz field with default value correctly",
|
|
40
|
-
field: {
|
|
41
|
-
name: "defaultGlobalTime",
|
|
42
|
-
dataType: "string",
|
|
43
|
-
nullable: false,
|
|
44
|
-
default: "12:00:00+00",
|
|
45
|
-
},
|
|
46
|
-
assertions: [
|
|
47
|
-
{ type: "contains", text: '@Column({ "type": "timetz"' },
|
|
48
|
-
{ type: "contains", text: "default: 12:00:00+00" },
|
|
49
|
-
{ type: "contains", text: "defaultGlobalTime: string;" },
|
|
50
|
-
],
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
name: "should render indexed timetz field correctly",
|
|
54
|
-
field: {
|
|
55
|
-
name: "indexedGlobalTime",
|
|
56
|
-
dataType: "string",
|
|
57
|
-
nullable: false,
|
|
58
|
-
index: true,
|
|
59
|
-
},
|
|
60
|
-
assertions: [
|
|
61
|
-
{ type: "contains", text: '@Column({ "type": "timetz"' },
|
|
62
|
-
{ type: "contains", text: "@Index()" },
|
|
63
|
-
{ type: "contains", text: "indexedGlobalTime: string;" },
|
|
64
|
-
],
|
|
65
|
-
},
|
|
66
|
-
];
|
|
67
|
-
(0, template_test_utils_1.runTemplateTests)(templatePath, testCases);
|
|
68
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,55 +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)("TSVector 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-tsvector";
|
|
11
|
-
const testCases = [
|
|
12
|
-
{
|
|
13
|
-
name: "should render basic tsvector field correctly",
|
|
14
|
-
field: {
|
|
15
|
-
name: "searchVector",
|
|
16
|
-
dataType: "string",
|
|
17
|
-
nullable: false,
|
|
18
|
-
},
|
|
19
|
-
assertions: [
|
|
20
|
-
{ type: "contains", text: '@Column({ "type": "tsvector"' },
|
|
21
|
-
{ type: "contains", text: "searchVector: string;" },
|
|
22
|
-
{ type: "notContains", text: "@Index()" },
|
|
23
|
-
{ type: "notContains", text: "@PrimaryColumn()" },
|
|
24
|
-
],
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
name: "should render nullable tsvector field correctly",
|
|
28
|
-
field: {
|
|
29
|
-
name: "optionalVector",
|
|
30
|
-
dataType: "string",
|
|
31
|
-
nullable: true,
|
|
32
|
-
},
|
|
33
|
-
assertions: [
|
|
34
|
-
{ type: "contains", text: '@Column({ "type": "tsvector"' },
|
|
35
|
-
{ type: "contains", text: "nullable: true" },
|
|
36
|
-
{ type: "contains", text: "optionalVector: string;" },
|
|
37
|
-
],
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
name: "should render indexed tsvector field correctly",
|
|
41
|
-
field: {
|
|
42
|
-
name: "indexedVector",
|
|
43
|
-
dataType: "string",
|
|
44
|
-
nullable: false,
|
|
45
|
-
index: true,
|
|
46
|
-
},
|
|
47
|
-
assertions: [
|
|
48
|
-
{ type: "contains", text: '@Column({ "type": "tsvector"' },
|
|
49
|
-
{ type: "contains", text: "@Index()" },
|
|
50
|
-
{ type: "contains", text: "indexedVector: string;" },
|
|
51
|
-
],
|
|
52
|
-
},
|
|
53
|
-
];
|
|
54
|
-
(0, template_test_utils_1.runTemplateTests)(templatePath, testCases);
|
|
55
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,82 +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)("UUID 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-uuid";
|
|
11
|
-
const testCases = [
|
|
12
|
-
{
|
|
13
|
-
name: "should render basic uuid field correctly",
|
|
14
|
-
field: {
|
|
15
|
-
name: "id",
|
|
16
|
-
dataType: "string",
|
|
17
|
-
nullable: false,
|
|
18
|
-
},
|
|
19
|
-
assertions: [
|
|
20
|
-
{ type: "contains", text: '@Column({ "type": "uuid"' },
|
|
21
|
-
{ type: "contains", text: "id: string;" },
|
|
22
|
-
{ type: "notContains", text: "@Index()" },
|
|
23
|
-
{ type: "notContains", text: "@PrimaryColumn()" },
|
|
24
|
-
],
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
name: "should render nullable uuid field correctly",
|
|
28
|
-
field: {
|
|
29
|
-
name: "optionalId",
|
|
30
|
-
dataType: "string",
|
|
31
|
-
nullable: true,
|
|
32
|
-
},
|
|
33
|
-
assertions: [
|
|
34
|
-
{ type: "contains", text: '@Column({ "type": "uuid"' },
|
|
35
|
-
{ type: "contains", text: "optionalId: string;" },
|
|
36
|
-
],
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
name: "should render uuid field with default value correctly",
|
|
40
|
-
field: {
|
|
41
|
-
name: "defaultId",
|
|
42
|
-
dataType: "string",
|
|
43
|
-
nullable: false,
|
|
44
|
-
default: "uuid_generate_v4()",
|
|
45
|
-
},
|
|
46
|
-
assertions: [
|
|
47
|
-
{ type: "contains", text: '@Column({ "type": "uuid"' },
|
|
48
|
-
{ type: "contains", text: "default: uuid_generate_v4()" },
|
|
49
|
-
{ type: "contains", text: "defaultId: string;" },
|
|
50
|
-
],
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
name: "should render indexed uuid field correctly",
|
|
54
|
-
field: {
|
|
55
|
-
name: "indexedId",
|
|
56
|
-
dataType: "string",
|
|
57
|
-
nullable: false,
|
|
58
|
-
index: true,
|
|
59
|
-
},
|
|
60
|
-
assertions: [
|
|
61
|
-
{ type: "contains", text: '@Column({ "type": "uuid"' },
|
|
62
|
-
{ type: "contains", text: "@Index()" },
|
|
63
|
-
{ type: "contains", text: "indexedId: string;" },
|
|
64
|
-
],
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
name: "should render primary key uuid field correctly",
|
|
68
|
-
field: {
|
|
69
|
-
name: "primaryId",
|
|
70
|
-
dataType: "string",
|
|
71
|
-
nullable: false,
|
|
72
|
-
primary: true,
|
|
73
|
-
},
|
|
74
|
-
assertions: [
|
|
75
|
-
{ type: "contains", text: '@Column({ "type": "uuid"' },
|
|
76
|
-
{ type: "contains", text: "@PrimaryColumn()" },
|
|
77
|
-
{ type: "contains", text: "primaryId: string;" },
|
|
78
|
-
],
|
|
79
|
-
},
|
|
80
|
-
];
|
|
81
|
-
(0, template_test_utils_1.runTemplateTests)(templatePath, testCases);
|
|
82
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,105 +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)("Varchar 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-varchar";
|
|
11
|
-
const testCases = [
|
|
12
|
-
{
|
|
13
|
-
name: "should render basic varchar field correctly",
|
|
14
|
-
field: {
|
|
15
|
-
name: "name",
|
|
16
|
-
dataType: "string",
|
|
17
|
-
nullable: false,
|
|
18
|
-
},
|
|
19
|
-
assertions: [
|
|
20
|
-
{ type: "contains", text: "@IsOptional({ groups: [UPDATE] })" },
|
|
21
|
-
{ type: "contains", text: "@IsNotEmpty({ groups: [CREATE] })" },
|
|
22
|
-
{ type: "contains", text: '@Column({ type: "varchar", length: 255' },
|
|
23
|
-
{ type: "contains", text: "nullable: false" },
|
|
24
|
-
{ type: "contains", text: "name: string;" },
|
|
25
|
-
{ type: "notContains", text: "@Index()" },
|
|
26
|
-
{ type: "notContains", text: "@IsEmail" },
|
|
27
|
-
],
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
name: "should render nullable varchar field correctly",
|
|
31
|
-
field: {
|
|
32
|
-
name: "description",
|
|
33
|
-
dataType: "string",
|
|
34
|
-
nullable: true,
|
|
35
|
-
},
|
|
36
|
-
assertions: [
|
|
37
|
-
{ type: "contains", text: "@IsOptional({ groups: [UPDATE] })" },
|
|
38
|
-
{ type: "contains", text: '@Column({ type: "varchar"' },
|
|
39
|
-
{ type: "contains", text: "nullable: true" },
|
|
40
|
-
{ type: "contains", text: "description: string;" },
|
|
41
|
-
{ type: "notContains", text: "@IsNotEmpty" },
|
|
42
|
-
],
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
name: "should render varchar field with custom length correctly",
|
|
46
|
-
field: {
|
|
47
|
-
name: "code",
|
|
48
|
-
dataType: "string",
|
|
49
|
-
nullable: false,
|
|
50
|
-
length: 50,
|
|
51
|
-
},
|
|
52
|
-
assertions: [
|
|
53
|
-
{ type: "contains", text: '@Column({ type: "varchar", length: 50' },
|
|
54
|
-
{ type: "contains", text: "code: string;" },
|
|
55
|
-
],
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
name: "should render unique varchar field correctly",
|
|
59
|
-
field: {
|
|
60
|
-
name: "username",
|
|
61
|
-
dataType: "string",
|
|
62
|
-
nullable: false,
|
|
63
|
-
unique: true,
|
|
64
|
-
},
|
|
65
|
-
assertions: [
|
|
66
|
-
{ type: "contains", text: '@Column({ type: "varchar"' },
|
|
67
|
-
{ type: "contains", text: "unique: true" },
|
|
68
|
-
{ type: "contains", text: "username: string;" },
|
|
69
|
-
],
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
name: "should render email field correctly",
|
|
73
|
-
field: {
|
|
74
|
-
name: "email",
|
|
75
|
-
dataType: "string",
|
|
76
|
-
nullable: false,
|
|
77
|
-
// eslint-disable-next-line camelcase
|
|
78
|
-
is_email: true,
|
|
79
|
-
},
|
|
80
|
-
assertions: [
|
|
81
|
-
{
|
|
82
|
-
type: "contains",
|
|
83
|
-
text: "@IsEmail({ require_tld: false }, { always: true })",
|
|
84
|
-
},
|
|
85
|
-
{ type: "contains", text: '@Column({ type: "varchar"' },
|
|
86
|
-
{ type: "contains", text: "email: string;" },
|
|
87
|
-
],
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
name: "should render indexed varchar field correctly",
|
|
91
|
-
field: {
|
|
92
|
-
name: "indexedField",
|
|
93
|
-
dataType: "string",
|
|
94
|
-
nullable: false,
|
|
95
|
-
index: true,
|
|
96
|
-
},
|
|
97
|
-
assertions: [
|
|
98
|
-
{ type: "contains", text: '@Column({ type: "varchar"' },
|
|
99
|
-
{ type: "contains", text: "@Index()" },
|
|
100
|
-
{ type: "contains", text: "indexedField: string;" },
|
|
101
|
-
],
|
|
102
|
-
},
|
|
103
|
-
];
|
|
104
|
-
(0, template_test_utils_1.runTemplateTests)(templatePath, testCases);
|
|
105
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,55 +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)("XML 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-xml";
|
|
11
|
-
const testCases = [
|
|
12
|
-
{
|
|
13
|
-
name: "should render basic xml field correctly",
|
|
14
|
-
field: {
|
|
15
|
-
name: "xmlContent",
|
|
16
|
-
dataType: "string",
|
|
17
|
-
nullable: false,
|
|
18
|
-
},
|
|
19
|
-
assertions: [
|
|
20
|
-
{ type: "contains", text: '@Column({ "type": "xml"' },
|
|
21
|
-
{ type: "contains", text: "xmlContent: string;" },
|
|
22
|
-
{ type: "notContains", text: "@Index()" },
|
|
23
|
-
{ type: "notContains", text: "@PrimaryColumn()" },
|
|
24
|
-
],
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
name: "should render nullable xml field correctly",
|
|
28
|
-
field: {
|
|
29
|
-
name: "optionalXml",
|
|
30
|
-
dataType: "string",
|
|
31
|
-
nullable: true,
|
|
32
|
-
},
|
|
33
|
-
assertions: [
|
|
34
|
-
{ type: "contains", text: '@Column({ "type": "xml"' },
|
|
35
|
-
{ type: "contains", text: "nullable: true" },
|
|
36
|
-
{ type: "contains", text: "optionalXml: string;" },
|
|
37
|
-
],
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
name: "should render indexed xml field correctly",
|
|
41
|
-
field: {
|
|
42
|
-
name: "indexedXml",
|
|
43
|
-
dataType: "string",
|
|
44
|
-
nullable: false,
|
|
45
|
-
index: true,
|
|
46
|
-
},
|
|
47
|
-
assertions: [
|
|
48
|
-
{ type: "contains", text: '@Column({ "type": "xml"' },
|
|
49
|
-
{ type: "contains", text: "@Index()" },
|
|
50
|
-
{ type: "contains", text: "indexedXml: string;" },
|
|
51
|
-
],
|
|
52
|
-
},
|
|
53
|
-
];
|
|
54
|
-
(0, template_test_utils_1.runTemplateTests)(templatePath, testCases);
|
|
55
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|