@apso/cli 0.7.3 → 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.
Files changed (204) hide show
  1. package/dist/autogen/index.d.ts +2 -0
  2. package/dist/autogen/index.js +3 -0
  3. package/dist/commands/server/new.d.ts +4 -1
  4. package/dist/commands/server/new.js +115 -22
  5. package/dist/commands/server/scaffold.d.ts +11 -0
  6. package/dist/commands/server/scaffold.js +213 -12
  7. package/dist/lib/api/client.d.ts +65 -0
  8. package/dist/lib/api/client.js +305 -0
  9. package/dist/lib/api/index.d.ts +8 -0
  10. package/dist/lib/api/index.js +22 -0
  11. package/dist/lib/api/services.d.ts +166 -0
  12. package/dist/lib/api/services.js +202 -0
  13. package/dist/lib/api/types.d.ts +212 -0
  14. package/dist/lib/api/types.js +7 -0
  15. package/dist/lib/apsorc-parser.d.ts +3 -0
  16. package/dist/lib/apsorc-parser.js +4 -0
  17. package/dist/lib/config/index.d.ts +8 -0
  18. package/dist/lib/config/index.js +17 -0
  19. package/dist/lib/config/manager.d.ts +127 -0
  20. package/dist/lib/config/manager.js +304 -0
  21. package/dist/lib/config/paths.d.ts +65 -0
  22. package/dist/lib/config/paths.js +127 -0
  23. package/dist/lib/config/types.d.ts +230 -0
  24. package/dist/lib/config/types.js +30 -0
  25. package/dist/lib/generators/base.d.ts +93 -0
  26. package/dist/lib/generators/base.js +90 -0
  27. package/dist/lib/generators/go.d.ts +37 -0
  28. package/dist/lib/generators/go.js +340 -0
  29. package/dist/lib/generators/index.d.ts +21 -0
  30. package/dist/lib/generators/index.js +51 -0
  31. package/dist/lib/generators/python.d.ts +21 -0
  32. package/dist/lib/generators/python.js +253 -0
  33. package/dist/lib/generators/typescript.d.ts +25 -0
  34. package/dist/lib/generators/typescript.js +373 -0
  35. package/dist/lib/index.d.ts +2 -0
  36. package/dist/lib/index.js +9 -1
  37. package/dist/lib/templates/entities/entity-col-timestamp.eta +9 -2
  38. package/dist/lib/templates/entities/entity-col-timestamptz.eta +9 -2
  39. package/dist/lib/templates/entities/entity.eta +18 -5
  40. package/dist/lib/templates/go/dto/dto-col-array.eta +7 -0
  41. package/dist/lib/templates/go/dto/dto-col-boolean.eta +7 -0
  42. package/dist/lib/templates/go/dto/dto-col-date.eta +7 -0
  43. package/dist/lib/templates/go/dto/dto-col-decimal.eta +7 -0
  44. package/dist/lib/templates/go/dto/dto-col-enum.eta +8 -0
  45. package/dist/lib/templates/go/dto/dto-col-float.eta +7 -0
  46. package/dist/lib/templates/go/dto/dto-col-integer.eta +7 -0
  47. package/dist/lib/templates/go/dto/dto-col-json.eta +7 -0
  48. package/dist/lib/templates/go/dto/dto-col-jsonb.eta +7 -0
  49. package/dist/lib/templates/go/dto/dto-col-numeric.eta +7 -0
  50. package/dist/lib/templates/go/dto/dto-col-string.eta +7 -0
  51. package/dist/lib/templates/go/dto/dto-col-text.eta +7 -0
  52. package/dist/lib/templates/go/dto/dto-col-timestamp.eta +7 -0
  53. package/dist/lib/templates/go/dto/dto-col-timestamptz.eta +7 -0
  54. package/dist/lib/templates/go/dto/dto-col-uuid.eta +7 -0
  55. package/dist/lib/templates/go/dto/dto-col-varchar.eta +7 -0
  56. package/dist/lib/templates/go/dto/dto.eta +78 -0
  57. package/dist/lib/templates/go/enums.eta +44 -0
  58. package/dist/lib/templates/go/handlers/handler.eta +212 -0
  59. package/dist/lib/templates/go/header.eta +3 -0
  60. package/dist/lib/templates/go/index-module.eta +53 -0
  61. package/dist/lib/templates/go/middleware/auth.eta +101 -0
  62. package/dist/lib/templates/go/models/model-col-array.eta +1 -0
  63. package/dist/lib/templates/go/models/model-col-boolean.eta +1 -0
  64. package/dist/lib/templates/go/models/model-col-date.eta +1 -0
  65. package/dist/lib/templates/go/models/model-col-decimal.eta +1 -0
  66. package/dist/lib/templates/go/models/model-col-enum.eta +2 -0
  67. package/dist/lib/templates/go/models/model-col-float.eta +1 -0
  68. package/dist/lib/templates/go/models/model-col-integer.eta +1 -0
  69. package/dist/lib/templates/go/models/model-col-json.eta +1 -0
  70. package/dist/lib/templates/go/models/model-col-jsonb.eta +1 -0
  71. package/dist/lib/templates/go/models/model-col-numeric.eta +1 -0
  72. package/dist/lib/templates/go/models/model-col-string.eta +1 -0
  73. package/dist/lib/templates/go/models/model-col-text.eta +1 -0
  74. package/dist/lib/templates/go/models/model-col-timestamp.eta +1 -0
  75. package/dist/lib/templates/go/models/model-col-timestamptz.eta +1 -0
  76. package/dist/lib/templates/go/models/model-col-uuid.eta +1 -0
  77. package/dist/lib/templates/go/models/model-col-varchar.eta +1 -0
  78. package/dist/lib/templates/go/models/model.eta +53 -0
  79. package/dist/lib/templates/go/services/service.eta +190 -0
  80. package/dist/lib/templates/python/enums.eta +10 -0
  81. package/dist/lib/templates/python/header.eta +6 -0
  82. package/dist/lib/templates/python/index-module.eta +18 -0
  83. package/dist/lib/templates/python/models/model-col-array.eta +4 -0
  84. package/dist/lib/templates/python/models/model-col-boolean.eta +5 -0
  85. package/dist/lib/templates/python/models/model-col-date.eta +4 -0
  86. package/dist/lib/templates/python/models/model-col-decimal.eta +4 -0
  87. package/dist/lib/templates/python/models/model-col-enum.eta +16 -0
  88. package/dist/lib/templates/python/models/model-col-float.eta +5 -0
  89. package/dist/lib/templates/python/models/model-col-integer.eta +6 -0
  90. package/dist/lib/templates/python/models/model-col-json.eta +4 -0
  91. package/dist/lib/templates/python/models/model-col-jsonb.eta +4 -0
  92. package/dist/lib/templates/python/models/model-col-numeric.eta +4 -0
  93. package/dist/lib/templates/python/models/model-col-string.eta +6 -0
  94. package/dist/lib/templates/python/models/model-col-text.eta +6 -0
  95. package/dist/lib/templates/python/models/model-col-timestamp.eta +11 -0
  96. package/dist/lib/templates/python/models/model-col-timestamptz.eta +11 -0
  97. package/dist/lib/templates/python/models/model-col-uuid.eta +5 -0
  98. package/dist/lib/templates/python/models/model-col-varchar.eta +6 -0
  99. package/dist/lib/templates/python/models/model.eta +124 -0
  100. package/dist/lib/templates/python/routers/router.eta +206 -0
  101. package/dist/lib/templates/python/schemas/schema-col-array.eta +1 -0
  102. package/dist/lib/templates/python/schemas/schema-col-boolean.eta +1 -0
  103. package/dist/lib/templates/python/schemas/schema-col-date.eta +1 -0
  104. package/dist/lib/templates/python/schemas/schema-col-decimal.eta +1 -0
  105. package/dist/lib/templates/python/schemas/schema-col-enum.eta +6 -0
  106. package/dist/lib/templates/python/schemas/schema-col-float.eta +1 -0
  107. package/dist/lib/templates/python/schemas/schema-col-integer.eta +1 -0
  108. package/dist/lib/templates/python/schemas/schema-col-json.eta +1 -0
  109. package/dist/lib/templates/python/schemas/schema-col-jsonb.eta +1 -0
  110. package/dist/lib/templates/python/schemas/schema-col-numeric.eta +1 -0
  111. package/dist/lib/templates/python/schemas/schema-col-string.eta +1 -0
  112. package/dist/lib/templates/python/schemas/schema-col-text.eta +1 -0
  113. package/dist/lib/templates/python/schemas/schema-col-timestamp.eta +1 -0
  114. package/dist/lib/templates/python/schemas/schema-col-timestamptz.eta +1 -0
  115. package/dist/lib/templates/python/schemas/schema-col-uuid.eta +1 -0
  116. package/dist/lib/templates/python/schemas/schema-col-varchar.eta +1 -0
  117. package/dist/lib/templates/python/schemas/schema.eta +87 -0
  118. package/dist/lib/templates/python/services/service.eta +163 -0
  119. package/dist/lib/templates/rest/controller-rest.eta +13 -12
  120. package/dist/lib/templates/rest/dto-rest.eta +173 -59
  121. package/dist/lib/templates/rest/service-rest.eta +50 -10
  122. package/dist/lib/types/generator.d.ts +241 -0
  123. package/dist/lib/types/generator.js +2 -0
  124. package/dist/lib/types/index.d.ts +1 -0
  125. package/dist/lib/utils/casing.d.ts +1 -0
  126. package/dist/lib/utils/casing.js +11 -1
  127. package/oclif.manifest.json +39 -3
  128. package/package.json +4 -2
  129. package/dist/lib/utils/relationships/parse.spec.d.ts +0 -1
  130. package/dist/lib/utils/relationships/parse.spec.js +0 -402
  131. package/dist/tests/templates/entities/types/array-template.spec.d.ts +0 -1
  132. package/dist/tests/templates/entities/types/array-template.spec.js +0 -82
  133. package/dist/tests/templates/entities/types/bigint-template.spec.d.ts +0 -1
  134. package/dist/tests/templates/entities/types/bigint-template.spec.js +0 -82
  135. package/dist/tests/templates/entities/types/boolean-template.spec.d.ts +0 -1
  136. package/dist/tests/templates/entities/types/boolean-template.spec.js +0 -77
  137. package/dist/tests/templates/entities/types/bytea-template.spec.d.ts +0 -1
  138. package/dist/tests/templates/entities/types/bytea-template.spec.js +0 -68
  139. package/dist/tests/templates/entities/types/char-template.spec.d.ts +0 -1
  140. package/dist/tests/templates/entities/types/char-template.spec.js +0 -68
  141. package/dist/tests/templates/entities/types/date-template.spec.d.ts +0 -1
  142. package/dist/tests/templates/entities/types/date-template.spec.js +0 -56
  143. package/dist/tests/templates/entities/types/decimal-field-validation.spec.d.ts +0 -1
  144. package/dist/tests/templates/entities/types/decimal-field-validation.spec.js +0 -100
  145. package/dist/tests/templates/entities/types/decimal-template.spec.d.ts +0 -1
  146. package/dist/tests/templates/entities/types/decimal-template.spec.js +0 -86
  147. package/dist/tests/templates/entities/types/double-template.spec.d.ts +0 -1
  148. package/dist/tests/templates/entities/types/double-template.spec.js +0 -70
  149. package/dist/tests/templates/entities/types/enum-template.spec.d.ts +0 -1
  150. package/dist/tests/templates/entities/types/enum-template.spec.js +0 -85
  151. package/dist/tests/templates/entities/types/float-template.spec.d.ts +0 -1
  152. package/dist/tests/templates/entities/types/float-template.spec.js +0 -70
  153. package/dist/tests/templates/entities/types/geometry-template.spec.d.ts +0 -1
  154. package/dist/tests/templates/entities/types/geometry-template.spec.js +0 -58
  155. package/dist/tests/templates/entities/types/inet-template.spec.d.ts +0 -1
  156. package/dist/tests/templates/entities/types/inet-template.spec.js +0 -69
  157. package/dist/tests/templates/entities/types/int4range-template.spec.d.ts +0 -1
  158. package/dist/tests/templates/entities/types/int4range-template.spec.js +0 -72
  159. package/dist/tests/templates/entities/types/integer-template.spec.d.ts +0 -1
  160. package/dist/tests/templates/entities/types/integer-template.spec.js +0 -79
  161. package/dist/tests/templates/entities/types/interval-template.spec.d.ts +0 -1
  162. package/dist/tests/templates/entities/types/interval-template.spec.js +0 -68
  163. package/dist/tests/templates/entities/types/json-plain-template.spec.d.ts +0 -1
  164. package/dist/tests/templates/entities/types/json-plain-template.spec.js +0 -54
  165. package/dist/tests/templates/entities/types/json-template.spec.d.ts +0 -1
  166. package/dist/tests/templates/entities/types/json-template.spec.js +0 -40
  167. package/dist/tests/templates/entities/types/jsonb-template.spec.d.ts +0 -1
  168. package/dist/tests/templates/entities/types/jsonb-template.spec.js +0 -40
  169. package/dist/tests/templates/entities/types/money-template.spec.d.ts +0 -1
  170. package/dist/tests/templates/entities/types/money-template.spec.js +0 -68
  171. package/dist/tests/templates/entities/types/numeric-template.spec.d.ts +0 -1
  172. package/dist/tests/templates/entities/types/numeric-template.spec.js +0 -84
  173. package/dist/tests/templates/entities/types/point-template.spec.d.ts +0 -1
  174. package/dist/tests/templates/entities/types/point-template.spec.js +0 -64
  175. package/dist/tests/templates/entities/types/polygon-template.spec.d.ts +0 -1
  176. package/dist/tests/templates/entities/types/polygon-template.spec.js +0 -70
  177. package/dist/tests/templates/entities/types/real-template.spec.d.ts +0 -1
  178. package/dist/tests/templates/entities/types/real-template.spec.js +0 -67
  179. package/dist/tests/templates/entities/types/serial-template.spec.d.ts +0 -1
  180. package/dist/tests/templates/entities/types/serial-template.spec.js +0 -113
  181. package/dist/tests/templates/entities/types/smallint-template.spec.d.ts +0 -1
  182. package/dist/tests/templates/entities/types/smallint-template.spec.js +0 -82
  183. package/dist/tests/templates/entities/types/string-template.spec.d.ts +0 -1
  184. package/dist/tests/templates/entities/types/string-template.spec.js +0 -111
  185. package/dist/tests/templates/entities/types/text-template.spec.d.ts +0 -1
  186. package/dist/tests/templates/entities/types/text-template.spec.js +0 -70
  187. package/dist/tests/templates/entities/types/time-template.spec.d.ts +0 -1
  188. package/dist/tests/templates/entities/types/time-template.spec.js +0 -68
  189. package/dist/tests/templates/entities/types/timestamp-template.spec.d.ts +0 -1
  190. package/dist/tests/templates/entities/types/timestamp-template.spec.js +0 -74
  191. package/dist/tests/templates/entities/types/timetz-template.spec.d.ts +0 -1
  192. package/dist/tests/templates/entities/types/timetz-template.spec.js +0 -68
  193. package/dist/tests/templates/entities/types/tsvector-template.spec.d.ts +0 -1
  194. package/dist/tests/templates/entities/types/tsvector-template.spec.js +0 -55
  195. package/dist/tests/templates/entities/types/uuid-template.spec.d.ts +0 -1
  196. package/dist/tests/templates/entities/types/uuid-template.spec.js +0 -82
  197. package/dist/tests/templates/entities/types/varchar-template.spec.d.ts +0 -1
  198. package/dist/tests/templates/entities/types/varchar-template.spec.js +0 -105
  199. package/dist/tests/templates/entities/types/xml-template.spec.d.ts +0 -1
  200. package/dist/tests/templates/entities/types/xml-template.spec.js +0 -55
  201. package/dist/tests/templates/entities/uuid-entity-template.spec.d.ts +0 -1
  202. package/dist/tests/templates/entities/uuid-entity-template.spec.js +0 -277
  203. package/dist/tests/utils/relationship-deduplication.spec.d.ts +0 -1
  204. 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,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,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,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,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,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
- });