@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,64 +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)("Point 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-point";
|
|
11
|
-
const testCases = [
|
|
12
|
-
{
|
|
13
|
-
name: "should render basic point field correctly",
|
|
14
|
-
field: {
|
|
15
|
-
name: "location",
|
|
16
|
-
dataType: "{ x: number, y: number }",
|
|
17
|
-
nullable: false,
|
|
18
|
-
},
|
|
19
|
-
assertions: [
|
|
20
|
-
{ type: "contains", text: "@Column({" },
|
|
21
|
-
{ type: "contains", text: '"type": "point"' },
|
|
22
|
-
{ type: "contains", text: "transformer: {" },
|
|
23
|
-
{
|
|
24
|
-
type: "contains",
|
|
25
|
-
text: "to: (point: {x: number, y: number} | null) => {",
|
|
26
|
-
},
|
|
27
|
-
{ type: "contains", text: "from: (pgPoint: string | null) => {" },
|
|
28
|
-
{ type: "contains", text: "location: { x: number, y: number };" },
|
|
29
|
-
{ type: "notContains", text: "nullable: true" },
|
|
30
|
-
],
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
name: "should render nullable point field correctly",
|
|
34
|
-
field: {
|
|
35
|
-
name: "optionalLocation",
|
|
36
|
-
dataType: "{ x: number, y: number }",
|
|
37
|
-
nullable: true,
|
|
38
|
-
},
|
|
39
|
-
assertions: [
|
|
40
|
-
{ type: "contains", text: "@Column({" },
|
|
41
|
-
{ type: "contains", text: '"type": "point"' },
|
|
42
|
-
{ type: "contains", text: "nullable: true" },
|
|
43
|
-
{
|
|
44
|
-
type: "contains",
|
|
45
|
-
text: "optionalLocation: { x: number, y: number };",
|
|
46
|
-
},
|
|
47
|
-
],
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
name: "should render indexed point field correctly",
|
|
51
|
-
field: {
|
|
52
|
-
name: "coordinates",
|
|
53
|
-
dataType: "{ x: number, y: number }",
|
|
54
|
-
nullable: false,
|
|
55
|
-
index: true,
|
|
56
|
-
},
|
|
57
|
-
assertions: [
|
|
58
|
-
{ type: "contains", text: "@Index()" },
|
|
59
|
-
{ type: "contains", text: "coordinates: { x: number, y: number };" },
|
|
60
|
-
],
|
|
61
|
-
},
|
|
62
|
-
];
|
|
63
|
-
(0, template_test_utils_1.runTemplateTests)(templatePath, testCases);
|
|
64
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,70 +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)("Polygon 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-polygon";
|
|
11
|
-
const testCases = [
|
|
12
|
-
{
|
|
13
|
-
name: "should render basic polygon field correctly",
|
|
14
|
-
field: {
|
|
15
|
-
name: "boundary",
|
|
16
|
-
dataType: "{ coordinates: Array<Array<{ x: number, y: number }>> }",
|
|
17
|
-
nullable: false,
|
|
18
|
-
},
|
|
19
|
-
assertions: [
|
|
20
|
-
{ type: "contains", text: "@Column({" },
|
|
21
|
-
{ type: "contains", text: '"type": "polygon"' },
|
|
22
|
-
{ type: "contains", text: "transformer: {" },
|
|
23
|
-
{
|
|
24
|
-
type: "contains",
|
|
25
|
-
text: "to: (polygon: { coordinates: Array<Array<{x: number, y: number}>> } | null) => {",
|
|
26
|
-
},
|
|
27
|
-
{ type: "contains", text: "from: (pgPolygon: string | null) => {" },
|
|
28
|
-
{
|
|
29
|
-
type: "contains",
|
|
30
|
-
text: "boundary: { coordinates: Array<Array<{ x: number, y: number }>> };",
|
|
31
|
-
},
|
|
32
|
-
{ type: "notContains", text: "nullable: true" },
|
|
33
|
-
],
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
name: "should render nullable polygon field correctly",
|
|
37
|
-
field: {
|
|
38
|
-
name: "optionalBoundary",
|
|
39
|
-
dataType: "{ coordinates: Array<Array<{ x: number, y: number }>> }",
|
|
40
|
-
nullable: true,
|
|
41
|
-
},
|
|
42
|
-
assertions: [
|
|
43
|
-
{ type: "contains", text: "@Column({" },
|
|
44
|
-
{ type: "contains", text: '"type": "polygon"' },
|
|
45
|
-
{ type: "contains", text: "nullable: true" },
|
|
46
|
-
{
|
|
47
|
-
type: "contains",
|
|
48
|
-
text: "optionalBoundary: { coordinates: Array<Array<{ x: number, y: number }>> };",
|
|
49
|
-
},
|
|
50
|
-
],
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
name: "should render indexed polygon field correctly",
|
|
54
|
-
field: {
|
|
55
|
-
name: "area",
|
|
56
|
-
dataType: "{ coordinates: Array<Array<{ x: number, y: number }>> }",
|
|
57
|
-
nullable: false,
|
|
58
|
-
index: true,
|
|
59
|
-
},
|
|
60
|
-
assertions: [
|
|
61
|
-
{ type: "contains", text: "@Index()" },
|
|
62
|
-
{
|
|
63
|
-
type: "contains",
|
|
64
|
-
text: "area: { coordinates: Array<Array<{ x: number, y: number }>> };",
|
|
65
|
-
},
|
|
66
|
-
],
|
|
67
|
-
},
|
|
68
|
-
];
|
|
69
|
-
(0, template_test_utils_1.runTemplateTests)(templatePath, testCases);
|
|
70
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,67 +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)("Real 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-real";
|
|
11
|
-
const testCases = [
|
|
12
|
-
{
|
|
13
|
-
name: "should render basic real field correctly",
|
|
14
|
-
field: {
|
|
15
|
-
name: "measurement",
|
|
16
|
-
dataType: "number",
|
|
17
|
-
nullable: false,
|
|
18
|
-
},
|
|
19
|
-
assertions: [
|
|
20
|
-
{ type: "contains", text: '@Column({ "type": "real"' },
|
|
21
|
-
{ type: "contains", text: "measurement: number;" },
|
|
22
|
-
{ type: "notContains", text: "@Index()" },
|
|
23
|
-
{ type: "notContains", text: "@PrimaryColumn()" },
|
|
24
|
-
],
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
name: "should render nullable real field correctly",
|
|
28
|
-
field: {
|
|
29
|
-
name: "optionalMeasure",
|
|
30
|
-
dataType: "number",
|
|
31
|
-
nullable: true,
|
|
32
|
-
},
|
|
33
|
-
assertions: [
|
|
34
|
-
{ type: "contains", text: '@Column({ "type": "real"' },
|
|
35
|
-
{ type: "contains", text: "optionalMeasure: number;" },
|
|
36
|
-
],
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
name: "should render real field with default value correctly",
|
|
40
|
-
field: {
|
|
41
|
-
name: "defaultMeasure",
|
|
42
|
-
dataType: "number",
|
|
43
|
-
nullable: false,
|
|
44
|
-
default: 0,
|
|
45
|
-
},
|
|
46
|
-
assertions: [
|
|
47
|
-
{ type: "contains", text: '@Column({ "type": "real", default: 0 })' },
|
|
48
|
-
{ type: "contains", text: "defaultMeasure: number;" },
|
|
49
|
-
],
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
name: "should render indexed real field correctly",
|
|
53
|
-
field: {
|
|
54
|
-
name: "indexedMeasure",
|
|
55
|
-
dataType: "number",
|
|
56
|
-
nullable: false,
|
|
57
|
-
index: true,
|
|
58
|
-
},
|
|
59
|
-
assertions: [
|
|
60
|
-
{ type: "contains", text: '@Column({ "type": "real"' },
|
|
61
|
-
{ type: "contains", text: "@Index()" },
|
|
62
|
-
{ type: "contains", text: "indexedMeasure: number;" },
|
|
63
|
-
],
|
|
64
|
-
},
|
|
65
|
-
];
|
|
66
|
-
(0, template_test_utils_1.runTemplateTests)(templatePath, testCases);
|
|
67
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,113 +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)("Serial 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
|
-
(0, globals_1.describe)("serial", () => {
|
|
11
|
-
const templatePath = "./entities/entity-col-serial";
|
|
12
|
-
const testCases = [
|
|
13
|
-
{
|
|
14
|
-
name: "should render basic serial field correctly",
|
|
15
|
-
field: {
|
|
16
|
-
name: "id",
|
|
17
|
-
dataType: "number",
|
|
18
|
-
nullable: false,
|
|
19
|
-
},
|
|
20
|
-
assertions: [
|
|
21
|
-
{ type: "contains", text: '@Column({ "type": "int" })' },
|
|
22
|
-
{ type: "contains", text: '@Generated("increment")' },
|
|
23
|
-
{ type: "contains", text: "id: number;" },
|
|
24
|
-
{ type: "notContains", text: "default:" },
|
|
25
|
-
],
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
name: "should render indexed serial field correctly",
|
|
29
|
-
field: {
|
|
30
|
-
name: "recordId",
|
|
31
|
-
dataType: "number",
|
|
32
|
-
nullable: false,
|
|
33
|
-
index: true,
|
|
34
|
-
},
|
|
35
|
-
assertions: [
|
|
36
|
-
{ type: "contains", text: '@Column({ "type": "int" })' },
|
|
37
|
-
{ type: "contains", text: '@Generated("increment")' },
|
|
38
|
-
{ type: "contains", text: "@Index()" },
|
|
39
|
-
{ type: "contains", text: "recordId: number;" },
|
|
40
|
-
],
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
name: "should render primary key serial field correctly",
|
|
44
|
-
field: {
|
|
45
|
-
name: "id",
|
|
46
|
-
dataType: "number",
|
|
47
|
-
nullable: false,
|
|
48
|
-
primary: true,
|
|
49
|
-
},
|
|
50
|
-
assertions: [
|
|
51
|
-
{ type: "contains", text: '@Column({ "type": "int" })' },
|
|
52
|
-
{ type: "contains", text: '@Generated("increment")' },
|
|
53
|
-
{ type: "contains", text: "@PrimaryColumn()" },
|
|
54
|
-
{ type: "contains", text: "id: number;" },
|
|
55
|
-
],
|
|
56
|
-
},
|
|
57
|
-
];
|
|
58
|
-
(0, template_test_utils_1.runTemplateTests)(templatePath, testCases);
|
|
59
|
-
});
|
|
60
|
-
(0, globals_1.describe)("bigserial", () => {
|
|
61
|
-
const templatePath = "./entities/entity-col-bigserial";
|
|
62
|
-
const testCases = [
|
|
63
|
-
{
|
|
64
|
-
name: "should render basic bigserial field correctly",
|
|
65
|
-
field: {
|
|
66
|
-
name: "id",
|
|
67
|
-
dataType: "string",
|
|
68
|
-
nullable: false,
|
|
69
|
-
},
|
|
70
|
-
assertions: [
|
|
71
|
-
{ type: "contains", text: '@Column({ "type": "bigint" })' },
|
|
72
|
-
{ type: "contains", text: '@Generated("increment")' },
|
|
73
|
-
{ type: "contains", text: "id: string;" },
|
|
74
|
-
],
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
name: "should render primary key bigserial field correctly",
|
|
78
|
-
field: {
|
|
79
|
-
name: "id",
|
|
80
|
-
dataType: "string",
|
|
81
|
-
nullable: false,
|
|
82
|
-
primary: true,
|
|
83
|
-
},
|
|
84
|
-
assertions: [
|
|
85
|
-
{ type: "contains", text: '@Column({ "type": "bigint" })' },
|
|
86
|
-
{ type: "contains", text: '@Generated("increment")' },
|
|
87
|
-
{ type: "contains", text: "@PrimaryColumn()" },
|
|
88
|
-
{ type: "contains", text: "id: string;" },
|
|
89
|
-
],
|
|
90
|
-
},
|
|
91
|
-
];
|
|
92
|
-
(0, template_test_utils_1.runTemplateTests)(templatePath, testCases);
|
|
93
|
-
});
|
|
94
|
-
(0, globals_1.describe)("smallserial", () => {
|
|
95
|
-
const templatePath = "./entities/entity-col-smallserial";
|
|
96
|
-
const testCases = [
|
|
97
|
-
{
|
|
98
|
-
name: "should render basic smallserial field correctly",
|
|
99
|
-
field: {
|
|
100
|
-
name: "id",
|
|
101
|
-
dataType: "number",
|
|
102
|
-
nullable: false,
|
|
103
|
-
},
|
|
104
|
-
assertions: [
|
|
105
|
-
{ type: "contains", text: '@Column({ "type": "smallint" })' },
|
|
106
|
-
{ type: "contains", text: '@Generated("increment")' },
|
|
107
|
-
{ type: "contains", text: "id: number;" },
|
|
108
|
-
],
|
|
109
|
-
},
|
|
110
|
-
];
|
|
111
|
-
(0, template_test_utils_1.runTemplateTests)(templatePath, testCases);
|
|
112
|
-
});
|
|
113
|
-
});
|
|
@@ -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)("SmallInt 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-smallint";
|
|
11
|
-
const testCases = [
|
|
12
|
-
{
|
|
13
|
-
name: "should render basic smallint field correctly",
|
|
14
|
-
field: {
|
|
15
|
-
name: "smallCounter",
|
|
16
|
-
dataType: "number",
|
|
17
|
-
nullable: false,
|
|
18
|
-
},
|
|
19
|
-
assertions: [
|
|
20
|
-
{ type: "contains", text: '@Column({ "type": "smallint"' },
|
|
21
|
-
{ type: "contains", text: "smallCounter: number;" },
|
|
22
|
-
{ type: "notContains", text: "@Index()" },
|
|
23
|
-
{ type: "notContains", text: "@PrimaryColumn()" },
|
|
24
|
-
],
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
name: "should render nullable smallint field correctly",
|
|
28
|
-
field: {
|
|
29
|
-
name: "optionalCounter",
|
|
30
|
-
dataType: "number",
|
|
31
|
-
nullable: true,
|
|
32
|
-
},
|
|
33
|
-
assertions: [
|
|
34
|
-
{ type: "contains", text: '@Column({ "type": "smallint"' },
|
|
35
|
-
{ type: "contains", text: "optionalCounter: number;" },
|
|
36
|
-
],
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
name: "should render smallint field with default value correctly",
|
|
40
|
-
field: {
|
|
41
|
-
name: "defaultCounter",
|
|
42
|
-
dataType: "number",
|
|
43
|
-
nullable: false,
|
|
44
|
-
default: 0,
|
|
45
|
-
},
|
|
46
|
-
assertions: [
|
|
47
|
-
{ type: "contains", text: '@Column({ "type": "smallint"' },
|
|
48
|
-
{ type: "contains", text: "default: 0" },
|
|
49
|
-
{ type: "contains", text: "defaultCounter: number;" },
|
|
50
|
-
],
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
name: "should render indexed smallint field correctly",
|
|
54
|
-
field: {
|
|
55
|
-
name: "indexedCounter",
|
|
56
|
-
dataType: "number",
|
|
57
|
-
nullable: false,
|
|
58
|
-
index: true,
|
|
59
|
-
},
|
|
60
|
-
assertions: [
|
|
61
|
-
{ type: "contains", text: '@Column({ "type": "smallint"' },
|
|
62
|
-
{ type: "contains", text: "@Index()" },
|
|
63
|
-
{ type: "contains", text: "indexedCounter: number;" },
|
|
64
|
-
],
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
name: "should render primary key smallint field correctly",
|
|
68
|
-
field: {
|
|
69
|
-
name: "id",
|
|
70
|
-
dataType: "number",
|
|
71
|
-
nullable: false,
|
|
72
|
-
primary: true,
|
|
73
|
-
},
|
|
74
|
-
assertions: [
|
|
75
|
-
{ type: "contains", text: '@Column({ "type": "smallint"' },
|
|
76
|
-
{ type: "contains", text: "@PrimaryColumn()" },
|
|
77
|
-
{ type: "contains", text: "id: number;" },
|
|
78
|
-
],
|
|
79
|
-
},
|
|
80
|
-
];
|
|
81
|
-
(0, template_test_utils_1.runTemplateTests)(templatePath, testCases);
|
|
82
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,111 +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)("String 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-string";
|
|
11
|
-
const testCases = [
|
|
12
|
-
{
|
|
13
|
-
name: "should render basic string field correctly",
|
|
14
|
-
field: {
|
|
15
|
-
name: "fullName",
|
|
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: "text", nullable: false' },
|
|
23
|
-
{ type: "contains", text: "fullName: string;" },
|
|
24
|
-
{ type: "notContains", text: "@Index()" },
|
|
25
|
-
{ type: "notContains", text: "@PrimaryColumn()" },
|
|
26
|
-
{ type: "notContains", text: "@IsEmail" },
|
|
27
|
-
],
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
name: "should render nullable string 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: "notContains", text: "@IsNotEmpty({ groups: [CREATE] })" },
|
|
39
|
-
{ type: "contains", text: '@Column({ type: "text", nullable: true' },
|
|
40
|
-
{ type: "contains", text: "description: string;" },
|
|
41
|
-
],
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
name: "should render string field with default value correctly",
|
|
45
|
-
field: {
|
|
46
|
-
name: "status",
|
|
47
|
-
dataType: "string",
|
|
48
|
-
nullable: false,
|
|
49
|
-
default: "active",
|
|
50
|
-
},
|
|
51
|
-
assertions: [
|
|
52
|
-
{ type: "contains", text: "default: 'active'" },
|
|
53
|
-
{ type: "contains", text: "status: string;" },
|
|
54
|
-
],
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
name: "should render indexed string field correctly",
|
|
58
|
-
field: {
|
|
59
|
-
name: "email",
|
|
60
|
-
dataType: "string",
|
|
61
|
-
nullable: false,
|
|
62
|
-
index: true,
|
|
63
|
-
},
|
|
64
|
-
assertions: [
|
|
65
|
-
{ type: "contains", text: "@Index()" },
|
|
66
|
-
{ type: "contains", text: "email: string;" },
|
|
67
|
-
],
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
name: "should render primary key string field correctly",
|
|
71
|
-
field: {
|
|
72
|
-
name: "id",
|
|
73
|
-
dataType: "string",
|
|
74
|
-
nullable: false,
|
|
75
|
-
primary: true,
|
|
76
|
-
},
|
|
77
|
-
assertions: [
|
|
78
|
-
{ type: "contains", text: "@PrimaryColumn()" },
|
|
79
|
-
{ type: "contains", text: "id: string;" },
|
|
80
|
-
],
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
name: "should render unique string field correctly",
|
|
84
|
-
field: {
|
|
85
|
-
name: "username",
|
|
86
|
-
dataType: "string",
|
|
87
|
-
nullable: false,
|
|
88
|
-
unique: true,
|
|
89
|
-
},
|
|
90
|
-
assertions: [
|
|
91
|
-
{ type: "contains", text: "unique: true" },
|
|
92
|
-
{ type: "contains", text: "username: string;" },
|
|
93
|
-
],
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
name: "should render email field correctly",
|
|
97
|
-
field: {
|
|
98
|
-
name: "email",
|
|
99
|
-
dataType: "string",
|
|
100
|
-
nullable: false,
|
|
101
|
-
// eslint-disable-next-line camelcase
|
|
102
|
-
is_email: true,
|
|
103
|
-
},
|
|
104
|
-
assertions: [
|
|
105
|
-
{ type: "contains", text: "@IsEmail(" },
|
|
106
|
-
{ type: "contains", text: "email: string;" },
|
|
107
|
-
],
|
|
108
|
-
},
|
|
109
|
-
];
|
|
110
|
-
(0, template_test_utils_1.runTemplateTests)(templatePath, testCases);
|
|
111
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,70 +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)("Text 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-text";
|
|
11
|
-
const testCases = [
|
|
12
|
-
{
|
|
13
|
-
name: "should render basic text field correctly",
|
|
14
|
-
field: {
|
|
15
|
-
name: "content",
|
|
16
|
-
dataType: "string",
|
|
17
|
-
nullable: false,
|
|
18
|
-
},
|
|
19
|
-
assertions: [
|
|
20
|
-
{ type: "contains", text: '@Column({ type: "text"' },
|
|
21
|
-
{ type: "contains", text: "@IsOptional({ groups: [UPDATE] })" },
|
|
22
|
-
{ type: "contains", text: "@IsNotEmpty({ groups: [CREATE] })" },
|
|
23
|
-
{ type: "contains", text: "content: string;" },
|
|
24
|
-
{ type: "notContains", text: "@Index()" },
|
|
25
|
-
],
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
name: "should render nullable text field correctly",
|
|
29
|
-
field: {
|
|
30
|
-
name: "optionalContent",
|
|
31
|
-
dataType: "string",
|
|
32
|
-
nullable: true,
|
|
33
|
-
},
|
|
34
|
-
assertions: [
|
|
35
|
-
{ type: "contains", text: '@Column({ type: "text"' },
|
|
36
|
-
{ type: "contains", text: "nullable: true" },
|
|
37
|
-
{ type: "contains", text: "@IsOptional({ groups: [UPDATE] })" },
|
|
38
|
-
{ type: "contains", text: "optionalContent: string;" },
|
|
39
|
-
],
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
name: "should render text field with default value correctly",
|
|
43
|
-
field: {
|
|
44
|
-
name: "defaultContent",
|
|
45
|
-
dataType: "string",
|
|
46
|
-
nullable: false,
|
|
47
|
-
default: "'empty'",
|
|
48
|
-
},
|
|
49
|
-
assertions: [
|
|
50
|
-
{ type: "contains", text: '@Column({ type: "text"' },
|
|
51
|
-
{ type: "contains", text: "defaultContent: string;" },
|
|
52
|
-
],
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
name: "should render indexed text field correctly",
|
|
56
|
-
field: {
|
|
57
|
-
name: "indexedContent",
|
|
58
|
-
dataType: "string",
|
|
59
|
-
nullable: false,
|
|
60
|
-
index: true,
|
|
61
|
-
},
|
|
62
|
-
assertions: [
|
|
63
|
-
{ type: "contains", text: '@Column({ type: "text"' },
|
|
64
|
-
{ type: "contains", text: "@Index()" },
|
|
65
|
-
{ type: "contains", text: "indexedContent: string;" },
|
|
66
|
-
],
|
|
67
|
-
},
|
|
68
|
-
];
|
|
69
|
-
(0, template_test_utils_1.runTemplateTests)(templatePath, testCases);
|
|
70
|
-
});
|
|
@@ -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)("Time 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-time";
|
|
11
|
-
const testCases = [
|
|
12
|
-
{
|
|
13
|
-
name: "should render basic time field correctly",
|
|
14
|
-
field: {
|
|
15
|
-
name: "startTime",
|
|
16
|
-
dataType: "string",
|
|
17
|
-
nullable: false,
|
|
18
|
-
},
|
|
19
|
-
assertions: [
|
|
20
|
-
{ type: "contains", text: '@Column({ "type": "time"' },
|
|
21
|
-
{ type: "contains", text: "startTime: string;" },
|
|
22
|
-
{ type: "notContains", text: "@Index()" },
|
|
23
|
-
{ type: "notContains", text: "@PrimaryColumn()" },
|
|
24
|
-
],
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
name: "should render nullable time field correctly",
|
|
28
|
-
field: {
|
|
29
|
-
name: "optionalTime",
|
|
30
|
-
dataType: "string",
|
|
31
|
-
nullable: true,
|
|
32
|
-
},
|
|
33
|
-
assertions: [
|
|
34
|
-
{ type: "contains", text: '@Column({ "type": "time"' },
|
|
35
|
-
{ type: "contains", text: "optionalTime: string;" },
|
|
36
|
-
],
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
name: "should render time field with default value correctly",
|
|
40
|
-
field: {
|
|
41
|
-
name: "defaultTime",
|
|
42
|
-
dataType: "string",
|
|
43
|
-
nullable: false,
|
|
44
|
-
default: "12:00:00",
|
|
45
|
-
},
|
|
46
|
-
assertions: [
|
|
47
|
-
{ type: "contains", text: '@Column({ "type": "time"' },
|
|
48
|
-
{ type: "contains", text: "default: 12:00:00" },
|
|
49
|
-
{ type: "contains", text: "defaultTime: string;" },
|
|
50
|
-
],
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
name: "should render indexed time field correctly",
|
|
54
|
-
field: {
|
|
55
|
-
name: "indexedTime",
|
|
56
|
-
dataType: "string",
|
|
57
|
-
nullable: false,
|
|
58
|
-
index: true,
|
|
59
|
-
},
|
|
60
|
-
assertions: [
|
|
61
|
-
{ type: "contains", text: '@Column({ "type": "time"' },
|
|
62
|
-
{ type: "contains", text: "@Index()" },
|
|
63
|
-
{ type: "contains", text: "indexedTime: string;" },
|
|
64
|
-
],
|
|
65
|
-
},
|
|
66
|
-
];
|
|
67
|
-
(0, template_test_utils_1.runTemplateTests)(templatePath, testCases);
|
|
68
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|