@ug.software/opposer 3.0.10 → 3.0.11

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 (227) hide show
  1. package/lib/bin/commands/build.js +15 -28
  2. package/lib/bin/commands/init.js +27 -30
  3. package/lib/esm/server/security/jwt/index.d.ts +1 -1
  4. package/lib/esm/server/security/jwt/index.js +21 -29
  5. package/lib/esm/system/index.d.ts +1 -1
  6. package/lib/esm/system/index.js +42 -55
  7. package/package.json +3 -3
  8. package/lib/cjs/examples/full-app/index.d.ts +0 -1
  9. package/lib/cjs/examples/full-app/index.js +0 -102
  10. package/lib/cjs/examples/full-app/models/author.d.ts +0 -7
  11. package/lib/cjs/examples/full-app/models/author.js +0 -42
  12. package/lib/cjs/examples/full-app/models/book.d.ts +0 -9
  13. package/lib/cjs/examples/full-app/models/book.js +0 -51
  14. package/lib/cjs/examples/full-app/models/category.d.ts +0 -4
  15. package/lib/cjs/examples/full-app/models/category.js +0 -26
  16. package/lib/cjs/examples/full-app/schedules/catalog-refresh.d.ts +0 -28
  17. package/lib/cjs/examples/full-app/schedules/catalog-refresh.js +0 -149
  18. package/lib/cjs/examples/full-app/schedules/inventory-sync.d.ts +0 -12
  19. package/lib/cjs/examples/full-app/schedules/inventory-sync.js +0 -61
  20. package/lib/cjs/examples/full-app/schedules/library-alerts.d.ts +0 -11
  21. package/lib/cjs/examples/full-app/schedules/library-alerts.js +0 -55
  22. package/lib/cjs/examples/minimal/src/handlers/book.d.ts +0 -11
  23. package/lib/cjs/examples/minimal/src/handlers/book.js +0 -51
  24. package/lib/cjs/examples/minimal/src/index.d.ts +0 -1
  25. package/lib/cjs/examples/minimal/src/index.js +0 -14
  26. package/lib/cjs/examples/minimal/src/models/books.d.ts +0 -4
  27. package/lib/cjs/examples/minimal/src/models/books.js +0 -26
  28. package/lib/cjs/examples/orm/models/permission.d.ts +0 -6
  29. package/lib/cjs/examples/orm/models/permission.js +0 -38
  30. package/lib/cjs/examples/orm/models/profile.d.ts +0 -7
  31. package/lib/cjs/examples/orm/models/profile.js +0 -42
  32. package/lib/cjs/examples/orm/models/user.d.ts +0 -11
  33. package/lib/cjs/examples/orm/models/user.js +0 -70
  34. package/lib/cjs/examples/orm/mysql/index.d.ts +0 -1
  35. package/lib/cjs/examples/orm/mysql/index.js +0 -44
  36. package/lib/cjs/examples/orm/postgres/index.d.ts +0 -1
  37. package/lib/cjs/examples/orm/postgres/index.js +0 -40
  38. package/lib/cjs/examples/orm/sqlite/index.d.ts +0 -1
  39. package/lib/cjs/examples/orm/sqlite/index.js +0 -41
  40. package/lib/cjs/index.d.ts +0 -2
  41. package/lib/cjs/index.js +0 -23
  42. package/lib/cjs/interfaces/controller.d.ts +0 -109
  43. package/lib/cjs/interfaces/controller.js +0 -2
  44. package/lib/cjs/interfaces/field.d.ts +0 -23
  45. package/lib/cjs/interfaces/field.js +0 -2
  46. package/lib/cjs/interfaces/handler.d.ts +0 -18
  47. package/lib/cjs/interfaces/handler.js +0 -2
  48. package/lib/cjs/interfaces/jwt.d.ts +0 -21
  49. package/lib/cjs/interfaces/jwt.js +0 -2
  50. package/lib/cjs/interfaces/model.d.ts +0 -9
  51. package/lib/cjs/interfaces/model.js +0 -2
  52. package/lib/cjs/interfaces/request.d.ts +0 -13
  53. package/lib/cjs/interfaces/request.js +0 -2
  54. package/lib/cjs/interfaces/schema.d.ts +0 -9
  55. package/lib/cjs/interfaces/schema.js +0 -2
  56. package/lib/cjs/interfaces/security.d.ts +0 -32
  57. package/lib/cjs/interfaces/security.js +0 -2
  58. package/lib/cjs/interfaces/server.d.ts +0 -37
  59. package/lib/cjs/interfaces/server.js +0 -2
  60. package/lib/cjs/interfaces/system.d.ts +0 -41
  61. package/lib/cjs/interfaces/system.js +0 -2
  62. package/lib/cjs/orm/decorators/index.d.ts +0 -33
  63. package/lib/cjs/orm/decorators/index.js +0 -131
  64. package/lib/cjs/orm/driver/mysql.d.ts +0 -14
  65. package/lib/cjs/orm/driver/mysql.js +0 -103
  66. package/lib/cjs/orm/driver/postgres.d.ts +0 -14
  67. package/lib/cjs/orm/driver/postgres.js +0 -105
  68. package/lib/cjs/orm/driver/sqlite.d.ts +0 -14
  69. package/lib/cjs/orm/driver/sqlite.js +0 -143
  70. package/lib/cjs/orm/index.d.ts +0 -8
  71. package/lib/cjs/orm/index.js +0 -28
  72. package/lib/cjs/orm/metadata.d.ts +0 -47
  73. package/lib/cjs/orm/metadata.js +0 -47
  74. package/lib/cjs/orm/opposer.d.ts +0 -30
  75. package/lib/cjs/orm/opposer.js +0 -33
  76. package/lib/cjs/orm/query-builder.d.ts +0 -32
  77. package/lib/cjs/orm/query-builder.js +0 -278
  78. package/lib/cjs/orm/repository.d.ts +0 -54
  79. package/lib/cjs/orm/repository.js +0 -325
  80. package/lib/cjs/orm/validation.d.ts +0 -44
  81. package/lib/cjs/orm/validation.js +0 -128
  82. package/lib/cjs/package.json +0 -3
  83. package/lib/cjs/persistent/cache/core-context.d.ts +0 -17
  84. package/lib/cjs/persistent/cache/core-context.js +0 -39
  85. package/lib/cjs/persistent/cache/global.d.ts +0 -18
  86. package/lib/cjs/persistent/cache/global.js +0 -22
  87. package/lib/cjs/persistent/cache/index.d.ts +0 -3
  88. package/lib/cjs/persistent/cache/index.js +0 -12
  89. package/lib/cjs/persistent/cache/session.d.ts +0 -19
  90. package/lib/cjs/persistent/cache/session.js +0 -39
  91. package/lib/cjs/persistent/cache/storage.d.ts +0 -14
  92. package/lib/cjs/persistent/cache/storage.js +0 -88
  93. package/lib/cjs/persistent/cache/store.d.ts +0 -16
  94. package/lib/cjs/persistent/cache/store.js +0 -112
  95. package/lib/cjs/persistent/context/index.d.ts +0 -3
  96. package/lib/cjs/persistent/context/index.js +0 -5
  97. package/lib/cjs/persistent/decorators/global.d.ts +0 -1
  98. package/lib/cjs/persistent/decorators/global.js +0 -25
  99. package/lib/cjs/persistent/decorators/session.d.ts +0 -1
  100. package/lib/cjs/persistent/decorators/session.js +0 -27
  101. package/lib/cjs/persistent/index.d.ts +0 -6
  102. package/lib/cjs/persistent/index.js +0 -18
  103. package/lib/cjs/persistent/interfaces/context.d.ts +0 -5
  104. package/lib/cjs/persistent/interfaces/context.js +0 -2
  105. package/lib/cjs/persistent/interfaces/system.d.ts +0 -47
  106. package/lib/cjs/persistent/interfaces/system.js +0 -29
  107. package/lib/cjs/persistent/system/index.d.ts +0 -7
  108. package/lib/cjs/persistent/system/index.js +0 -44
  109. package/lib/cjs/persistent/utils/memory.d.ts +0 -8
  110. package/lib/cjs/persistent/utils/memory.js +0 -44
  111. package/lib/cjs/persistent/utils/timer.d.ts +0 -14
  112. package/lib/cjs/persistent/utils/timer.js +0 -21
  113. package/lib/cjs/playground/build/client/assets/AddRounded-ByHfnsiW.js +0 -4
  114. package/lib/cjs/playground/build/client/assets/Button-DLrxHRm7.js +0 -1
  115. package/lib/cjs/playground/build/client/assets/Container-CgITmmbk.js +0 -1
  116. package/lib/cjs/playground/build/client/assets/Divider-B_Wx9srO.js +0 -1
  117. package/lib/cjs/playground/build/client/assets/List-juBjUmfP.js +0 -1
  118. package/lib/cjs/playground/build/client/assets/ListItemText-DgWZmgzc.js +0 -1
  119. package/lib/cjs/playground/build/client/assets/MenuItem-D_5SuVKQ.js +0 -1
  120. package/lib/cjs/playground/build/client/assets/Modal-BwXR_5Bh.js +0 -1
  121. package/lib/cjs/playground/build/client/assets/TableRow-B9hAmlnV.js +0 -2
  122. package/lib/cjs/playground/build/client/assets/TextField-UybdTIGB.js +0 -3
  123. package/lib/cjs/playground/build/client/assets/Tooltip-BGcUWUcF.js +0 -1
  124. package/lib/cjs/playground/build/client/assets/auth-CD1rXHzz.js +0 -1
  125. package/lib/cjs/playground/build/client/assets/auth-GyTIVKy5.js +0 -1
  126. package/lib/cjs/playground/build/client/assets/confirm-Dr0pbiV6.js +0 -1
  127. package/lib/cjs/playground/build/client/assets/dividerClasses-CIiqeEPO.js +0 -1
  128. package/lib/cjs/playground/build/client/assets/entry.client-D6FYz1yh.js +0 -13
  129. package/lib/cjs/playground/build/client/assets/index-CJ0wdt6Z.js +0 -1
  130. package/lib/cjs/playground/build/client/assets/index-CQc11yq_.js +0 -1153
  131. package/lib/cjs/playground/build/client/assets/index-Cr4I-4J2.js +0 -1
  132. package/lib/cjs/playground/build/client/assets/index-CtPqstFl.js +0 -26
  133. package/lib/cjs/playground/build/client/assets/index-Ct_NE85o.js +0 -1
  134. package/lib/cjs/playground/build/client/assets/index-D0I6xwmb.js +0 -1
  135. package/lib/cjs/playground/build/client/assets/index-DmDCpKb3.js +0 -1
  136. package/lib/cjs/playground/build/client/assets/index-DsSkAwyn.js +0 -1
  137. package/lib/cjs/playground/build/client/assets/index-_DMgWZ3Y.js +0 -1
  138. package/lib/cjs/playground/build/client/assets/listItemIconClasses-39Itzgzt.js +0 -1
  139. package/lib/cjs/playground/build/client/assets/listItemTextClasses-EQFLPLzt.js +0 -1
  140. package/lib/cjs/playground/build/client/assets/manifest-c06e9a7f.js +0 -1
  141. package/lib/cjs/playground/build/client/assets/mergeSlotProps-DptgQgAT.js +0 -1
  142. package/lib/cjs/playground/build/client/assets/playground-Hl52p9f5.js +0 -108
  143. package/lib/cjs/playground/build/client/assets/root-CQTBmuv8.js +0 -1
  144. package/lib/cjs/playground/build/client/assets/toast-CsAH5FIf.js +0 -1
  145. package/lib/cjs/playground/build/client/assets/use-request-BZNkzlTr.js +0 -1
  146. package/lib/cjs/playground/build/client/favicon.ico +0 -0
  147. package/lib/cjs/playground/build/client/index.html +0 -6
  148. package/lib/cjs/playground/index.d.ts +0 -2
  149. package/lib/cjs/playground/index.js +0 -135
  150. package/lib/cjs/scheduler/controllers/index.d.ts +0 -19
  151. package/lib/cjs/scheduler/controllers/index.js +0 -62
  152. package/lib/cjs/scheduler/decorators/index.d.ts +0 -9
  153. package/lib/cjs/scheduler/decorators/index.js +0 -21
  154. package/lib/cjs/scheduler/handlers/index.d.ts +0 -19
  155. package/lib/cjs/scheduler/handlers/index.js +0 -62
  156. package/lib/cjs/scheduler/index.d.ts +0 -24
  157. package/lib/cjs/scheduler/index.js +0 -110
  158. package/lib/cjs/scheduler/models/history.d.ts +0 -10
  159. package/lib/cjs/scheduler/models/history.js +0 -50
  160. package/lib/cjs/server/constants/index.d.ts +0 -78
  161. package/lib/cjs/server/constants/index.js +0 -372
  162. package/lib/cjs/server/context/index.d.ts +0 -17
  163. package/lib/cjs/server/context/index.js +0 -33
  164. package/lib/cjs/server/controller/index.d.ts +0 -3
  165. package/lib/cjs/server/controller/index.js +0 -217
  166. package/lib/cjs/server/controllers/index.d.ts +0 -5
  167. package/lib/cjs/server/controllers/index.js +0 -72
  168. package/lib/cjs/server/core/index.d.ts +0 -16
  169. package/lib/cjs/server/core/index.js +0 -110
  170. package/lib/cjs/server/core/middleware/body-parser.d.ts +0 -2
  171. package/lib/cjs/server/core/middleware/body-parser.js +0 -27
  172. package/lib/cjs/server/core/middleware/cors.d.ts +0 -4
  173. package/lib/cjs/server/core/middleware/cors.js +0 -32
  174. package/lib/cjs/server/core/middleware/logger.d.ts +0 -2
  175. package/lib/cjs/server/core/middleware/logger.js +0 -15
  176. package/lib/cjs/server/decorators/controller.d.ts +0 -3
  177. package/lib/cjs/server/decorators/controller.js +0 -14
  178. package/lib/cjs/server/decorators/field.d.ts +0 -2
  179. package/lib/cjs/server/decorators/field.js +0 -36
  180. package/lib/cjs/server/decorators/handler.d.ts +0 -3
  181. package/lib/cjs/server/decorators/handler.js +0 -14
  182. package/lib/cjs/server/decorators/index.d.ts +0 -7
  183. package/lib/cjs/server/decorators/index.js +0 -26
  184. package/lib/cjs/server/decorators/is-public-method.d.ts +0 -3
  185. package/lib/cjs/server/decorators/is-public-method.js +0 -16
  186. package/lib/cjs/server/decorators/is-public.d.ts +0 -3
  187. package/lib/cjs/server/decorators/is-public.js +0 -14
  188. package/lib/cjs/server/decorators/method.d.ts +0 -3
  189. package/lib/cjs/server/decorators/method.js +0 -16
  190. package/lib/cjs/server/decorators/payload.d.ts +0 -3
  191. package/lib/cjs/server/decorators/payload.js +0 -15
  192. package/lib/cjs/server/handlers/index.d.ts +0 -5
  193. package/lib/cjs/server/handlers/index.js +0 -72
  194. package/lib/cjs/server/helpers/index.d.ts +0 -17
  195. package/lib/cjs/server/helpers/index.js +0 -39
  196. package/lib/cjs/server/index.d.ts +0 -12
  197. package/lib/cjs/server/index.js +0 -176
  198. package/lib/cjs/server/security/controller/auth.d.ts +0 -76
  199. package/lib/cjs/server/security/controller/auth.js +0 -346
  200. package/lib/cjs/server/security/index.d.ts +0 -2
  201. package/lib/cjs/server/security/index.js +0 -10
  202. package/lib/cjs/server/security/jwt/index.d.ts +0 -23
  203. package/lib/cjs/server/security/jwt/index.js +0 -108
  204. package/lib/cjs/server/security/middleware/autorization.d.ts +0 -3
  205. package/lib/cjs/server/security/middleware/autorization.js +0 -46
  206. package/lib/cjs/server/security/middleware/permission.d.ts +0 -3
  207. package/lib/cjs/server/security/middleware/permission.js +0 -138
  208. package/lib/cjs/server/security/models/crp.d.ts +0 -8
  209. package/lib/cjs/server/security/models/crp.js +0 -42
  210. package/lib/cjs/server/security/models/ke.d.ts +0 -7
  211. package/lib/cjs/server/security/models/ke.js +0 -38
  212. package/lib/cjs/server/security/models/rl.d.ts +0 -9
  213. package/lib/cjs/server/security/models/rl.js +0 -50
  214. package/lib/cjs/server/security/models/se.d.ts +0 -11
  215. package/lib/cjs/server/security/models/se.js +0 -54
  216. package/lib/cjs/server/security/models/usr.d.ts +0 -14
  217. package/lib/cjs/server/security/models/usr.js +0 -82
  218. package/lib/cjs/server/services/delete.d.ts +0 -13
  219. package/lib/cjs/server/services/delete.js +0 -49
  220. package/lib/cjs/server/services/get.d.ts +0 -4
  221. package/lib/cjs/server/services/get.js +0 -145
  222. package/lib/cjs/server/services/insert.d.ts +0 -13
  223. package/lib/cjs/server/services/insert.js +0 -74
  224. package/lib/cjs/server/services/update.d.ts +0 -13
  225. package/lib/cjs/server/services/update.js +0 -60
  226. package/lib/cjs/system/index.d.ts +0 -13
  227. package/lib/cjs/system/index.js +0 -237
@@ -1,33 +0,0 @@
1
- import { FieldType } from "../metadata.js";
2
- import { FieldValidator } from "../validation.js";
3
- export interface EntityOptions {
4
- description?: string;
5
- }
6
- export declare function Entity(tableName: string, optionsOrDescription?: EntityOptions | string): (target: any, context?: any) => void;
7
- export interface RelationOptions {
8
- type: "one-to-one" | "one-to-many" | "many-to-one" | "many-to-many";
9
- target: () => Function;
10
- inverseSide?: string;
11
- joinColumn?: boolean;
12
- }
13
- export interface FieldOptions {
14
- type?: FieldType;
15
- primary?: boolean;
16
- generated?: boolean;
17
- nullable?: boolean;
18
- default?: any;
19
- length?: number;
20
- createDate?: boolean;
21
- updateDate?: boolean;
22
- relation?: RelationOptions;
23
- validation?: () => FieldValidator;
24
- }
25
- export declare function Field(optionsOrValidation?: FieldOptions | (() => FieldValidator)): (target: any, contextOrKey: any) => void;
26
- export declare function PrimaryColumn(options?: FieldOptions): (target: any, contextOrKey: any) => void;
27
- export declare function Relation(options: RelationOptions): (target: any, contextOrKey: any) => void;
28
- export declare function CreateDateColumn(): (target: any, contextOrKey: any) => void;
29
- export declare function UpdateDateColumn(): (target: any, contextOrKey: any) => void;
30
- export declare const BeforeInsert: () => (target: any, propertyKey: string, descriptor?: PropertyDescriptor) => void;
31
- export declare const AfterInsert: () => (target: any, propertyKey: string, descriptor?: PropertyDescriptor) => void;
32
- export declare const BeforeUpdate: () => (target: any, propertyKey: string, descriptor?: PropertyDescriptor) => void;
33
- export declare const AfterUpdate: () => (target: any, propertyKey: string, descriptor?: PropertyDescriptor) => void;
@@ -1,131 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AfterUpdate = exports.BeforeUpdate = exports.AfterInsert = exports.BeforeInsert = void 0;
4
- exports.Entity = Entity;
5
- exports.Field = Field;
6
- exports.PrimaryColumn = PrimaryColumn;
7
- exports.Relation = Relation;
8
- exports.CreateDateColumn = CreateDateColumn;
9
- exports.UpdateDateColumn = UpdateDateColumn;
10
- const metadata_js_1 = require("../metadata.js");
11
- function Entity(tableName, optionsOrDescription) {
12
- return (target, context) => {
13
- const description = typeof optionsOrDescription === 'string'
14
- ? optionsOrDescription
15
- : optionsOrDescription?.description;
16
- // Standard Class Decorator
17
- if (context && typeof context === 'object' && context.kind === "class") {
18
- metadata_js_1.MetadataStore.registerEntity(target, {
19
- name: target.name,
20
- tableName,
21
- target,
22
- description,
23
- });
24
- return;
25
- }
26
- // Legacy Class Decorator
27
- metadata_js_1.MetadataStore.registerEntity(target, {
28
- name: target.name,
29
- tableName,
30
- target,
31
- description,
32
- });
33
- Reflect.defineMetadata(metadata_js_1.ENTITY_METADATA_KEY, tableName, target);
34
- };
35
- }
36
- function Field(optionsOrValidation) {
37
- return (target, contextOrKey) => {
38
- let options = {};
39
- if (typeof optionsOrValidation === "function") {
40
- options = { validation: optionsOrValidation };
41
- }
42
- else if (optionsOrValidation) {
43
- options = optionsOrValidation;
44
- }
45
- // Legacy Property Decorator
46
- if (typeof contextOrKey === "string") {
47
- const propertyKey = contextOrKey;
48
- const constructor = target.constructor;
49
- let type = options.type;
50
- let defaultValue = options.default;
51
- if (options.validation) {
52
- const validator = options.validation();
53
- if (!type)
54
- type = validator.type;
55
- if (defaultValue === undefined)
56
- defaultValue = validator.defaultValue;
57
- }
58
- if (!type) {
59
- const reflectedType = Reflect.getMetadata("design:type", target, propertyKey);
60
- if (reflectedType === String)
61
- type = "string";
62
- else if (reflectedType === Number)
63
- type = "number";
64
- else if (reflectedType === Boolean)
65
- type = "boolean";
66
- else if (reflectedType === Date)
67
- type = "date";
68
- else
69
- type = "string";
70
- }
71
- metadata_js_1.MetadataStore.registerField(constructor, {
72
- name: propertyKey,
73
- propertyKey,
74
- type,
75
- ...options,
76
- default: defaultValue
77
- });
78
- return;
79
- }
80
- // Standard Property Decorator (Stage 3)
81
- if (contextOrKey && typeof contextOrKey === 'object' && contextOrKey.kind === "field") {
82
- const propertyKey = contextOrKey.name;
83
- contextOrKey.addInitializer(function () {
84
- const constructor = this.constructor;
85
- let type = options.type;
86
- let defaultValue = options.default;
87
- if (options.validation) {
88
- const validator = options.validation();
89
- if (!type)
90
- type = validator.type;
91
- if (defaultValue === undefined)
92
- defaultValue = validator.defaultValue;
93
- }
94
- metadata_js_1.MetadataStore.registerField(constructor, {
95
- name: propertyKey,
96
- propertyKey,
97
- type: type || "string",
98
- ...options,
99
- default: defaultValue
100
- });
101
- });
102
- }
103
- };
104
- }
105
- function PrimaryColumn(options = {}) {
106
- return Field({ ...options, primary: true, generated: options.generated ?? true });
107
- }
108
- function Relation(options) {
109
- return Field({ type: "relation", relation: options });
110
- }
111
- function CreateDateColumn() {
112
- return Field({ type: "date", createDate: true });
113
- }
114
- function UpdateDateColumn() {
115
- return Field({ type: "date", updateDate: true });
116
- }
117
- // Lifecycle Hooks
118
- function Hook(type) {
119
- return (target, propertyKey, descriptor) => {
120
- const constructor = typeof target === 'function' ? target : target.constructor;
121
- metadata_js_1.MetadataStore.registerHook(constructor, { type, propertyKey });
122
- };
123
- }
124
- const BeforeInsert = () => Hook("before-insert");
125
- exports.BeforeInsert = BeforeInsert;
126
- const AfterInsert = () => Hook("after-insert");
127
- exports.AfterInsert = AfterInsert;
128
- const BeforeUpdate = () => Hook("before-update");
129
- exports.BeforeUpdate = BeforeUpdate;
130
- const AfterUpdate = () => Hook("after-update");
131
- exports.AfterUpdate = AfterUpdate;
@@ -1,14 +0,0 @@
1
- import { DatabaseDriver, ConnectionOptions } from "../opposer.js";
2
- import { EntityMetadata, FieldMetadata } from "../metadata.js";
3
- export declare class MySQLDriver implements DatabaseDriver {
4
- private options;
5
- private connection;
6
- constructor(options: ConnectionOptions);
7
- connect(): Promise<void>;
8
- disconnect(): Promise<void>;
9
- query<T = any>(sql: string, params?: any[]): Promise<T[]>;
10
- quoteIdentifier(identifier: string): string;
11
- createTable(entity: EntityMetadata, fields: FieldMetadata[]): Promise<void>;
12
- private getSqlType;
13
- private formatDefault;
14
- }
@@ -1,103 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.MySQLDriver = void 0;
37
- class MySQLDriver {
38
- constructor(options) {
39
- this.options = options;
40
- }
41
- async connect() {
42
- const mysql = (await Promise.resolve(`${"mysql2/promise"}`).then(s => __importStar(require(s)))).default;
43
- this.connection = await mysql.createConnection({
44
- host: this.options.host,
45
- port: this.options.port,
46
- user: this.options.username,
47
- password: this.options.password,
48
- database: this.options.database,
49
- });
50
- }
51
- async disconnect() {
52
- await this.connection.end();
53
- }
54
- async query(sql, params) {
55
- if (this.options.logging) {
56
- console.log(`[SQL] ${sql}${params && params.length ? ` -- params: ${JSON.stringify(params)}` : ""}`);
57
- }
58
- const adjustedSql = sql.replace(/\$(\d+)/g, "?");
59
- const [rows] = await this.connection.execute(adjustedSql, params);
60
- return rows;
61
- }
62
- quoteIdentifier(identifier) {
63
- return `\`${identifier.replace(/`/g, "``")}\``;
64
- }
65
- async createTable(entity, fields) {
66
- const columnsSql = fields
67
- .map((field) => {
68
- let sqlType = this.getSqlType(field);
69
- let constraints = "";
70
- if (field.primary)
71
- constraints += " PRIMARY KEY";
72
- if (field.generated && field.type === "number")
73
- sqlType += " AUTO_INCREMENT";
74
- if (!field.nullable && !field.primary)
75
- constraints += " NOT NULL";
76
- if (field.default !== undefined)
77
- constraints += ` DEFAULT ${this.formatDefault(field.default)}`;
78
- return `${this.quoteIdentifier(field.name)} ${sqlType}${constraints}`;
79
- })
80
- .join(", ");
81
- const sql = `CREATE TABLE IF NOT EXISTS ${this.quoteIdentifier(entity.tableName)} (${columnsSql});`;
82
- await this.query(sql);
83
- }
84
- getSqlType(field) {
85
- switch (field.type) {
86
- case "string": return field.length ? `VARCHAR(${field.length})` : "TEXT";
87
- case "number": return "INT";
88
- case "boolean": return "BOOLEAN";
89
- case "date": return "DATETIME";
90
- case "jsonb": return "JSON";
91
- case "uuid": return "VARCHAR(36)";
92
- default: return "TEXT";
93
- }
94
- }
95
- formatDefault(value) {
96
- if (typeof value === "string")
97
- return `'${value.replace(/'/g, "''")}'`;
98
- if (value instanceof Date)
99
- return `'${value.toISOString()}'`;
100
- return String(value);
101
- }
102
- }
103
- exports.MySQLDriver = MySQLDriver;
@@ -1,14 +0,0 @@
1
- import { DatabaseDriver, ConnectionOptions } from "../opposer.js";
2
- import { EntityMetadata, FieldMetadata } from "../metadata.js";
3
- export declare class PostgresDriver implements DatabaseDriver {
4
- private options;
5
- private pool;
6
- constructor(options: ConnectionOptions);
7
- connect(): Promise<void>;
8
- disconnect(): Promise<void>;
9
- query<T = any>(sql: string, params?: any[]): Promise<T[]>;
10
- quoteIdentifier(identifier: string): string;
11
- createTable(entity: EntityMetadata, fields: FieldMetadata[]): Promise<void>;
12
- private getSqlType;
13
- private formatDefault;
14
- }
@@ -1,105 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.PostgresDriver = void 0;
37
- class PostgresDriver {
38
- constructor(options) {
39
- this.options = options;
40
- }
41
- async connect() {
42
- const pg = (await Promise.resolve().then(() => __importStar(require("pg")))).default;
43
- this.pool = new pg.Pool({
44
- host: this.options.host,
45
- port: this.options.port,
46
- user: this.options.username,
47
- password: this.options.password,
48
- database: this.options.database,
49
- });
50
- await this.pool.connect();
51
- }
52
- async disconnect() {
53
- await this.pool.end();
54
- }
55
- async query(sql, params) {
56
- if (this.options.logging) {
57
- console.log(`[SQL] ${sql}${params && params.length ? ` -- params: ${JSON.stringify(params)}` : ""}`);
58
- }
59
- const result = await this.pool.query(sql, params);
60
- return result.rows;
61
- }
62
- quoteIdentifier(identifier) {
63
- return `"${identifier.replace(/"/g, '""')}"`;
64
- }
65
- async createTable(entity, fields) {
66
- const columnsSql = fields
67
- .map((field) => {
68
- let sqlType = this.getSqlType(field);
69
- let constraints = "";
70
- if (field.primary)
71
- constraints += " PRIMARY KEY";
72
- if (field.generated && field.type === "uuid")
73
- constraints += " DEFAULT gen_random_uuid()";
74
- else if (field.generated && field.type === "number")
75
- sqlType = "SERIAL";
76
- if (!field.nullable && !field.primary)
77
- constraints += " NOT NULL";
78
- if (field.default !== undefined)
79
- constraints += ` DEFAULT ${this.formatDefault(field.default)}`;
80
- return `${this.quoteIdentifier(field.name)} ${sqlType}${constraints}`;
81
- })
82
- .join(", ");
83
- const sql = `CREATE TABLE IF NOT EXISTS ${this.quoteIdentifier(entity.tableName)} (${columnsSql});`;
84
- await this.query(sql);
85
- }
86
- getSqlType(field) {
87
- switch (field.type) {
88
- case "string": return field.length ? `VARCHAR(${field.length})` : "TEXT";
89
- case "number": return "INT";
90
- case "boolean": return "BOOLEAN";
91
- case "date": return "TIMESTAMP";
92
- case "jsonb": return "JSONB";
93
- case "uuid": return "UUID";
94
- default: return "TEXT";
95
- }
96
- }
97
- formatDefault(value) {
98
- if (typeof value === "string")
99
- return `'${value.replace(/'/g, "''")}'`;
100
- if (value instanceof Date)
101
- return `'${value.toISOString()}'`;
102
- return String(value);
103
- }
104
- }
105
- exports.PostgresDriver = PostgresDriver;
@@ -1,14 +0,0 @@
1
- import { DatabaseDriver, ConnectionOptions } from "../opposer.js";
2
- import { EntityMetadata, FieldMetadata } from "../metadata.js";
3
- export declare class SQLiteDriver implements DatabaseDriver {
4
- private options;
5
- private db;
6
- constructor(options: ConnectionOptions);
7
- connect(): Promise<void>;
8
- disconnect(): Promise<void>;
9
- query<T = any>(sql: string, params?: any[]): Promise<T[]>;
10
- quoteIdentifier(identifier: string): string;
11
- createTable(entity: EntityMetadata, fields: FieldMetadata[]): Promise<void>;
12
- private getSqlType;
13
- private formatDefault;
14
- }
@@ -1,143 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.SQLiteDriver = void 0;
37
- class SQLiteDriver {
38
- constructor(options) {
39
- this.options = options;
40
- }
41
- async connect() {
42
- const sqlite3 = (await Promise.resolve().then(() => __importStar(require("sqlite3")))).default;
43
- return new Promise((resolve, reject) => {
44
- this.db = new sqlite3.Database(this.options.database, (err) => {
45
- if (err) {
46
- reject(err);
47
- }
48
- else {
49
- resolve();
50
- }
51
- });
52
- });
53
- }
54
- async disconnect() {
55
- return new Promise((resolve, reject) => {
56
- this.db.close((err) => {
57
- if (err) {
58
- reject(err);
59
- }
60
- else {
61
- resolve();
62
- }
63
- });
64
- });
65
- }
66
- async query(sql, params) {
67
- if (this.options.logging) {
68
- console.log(`[SQL] ${sql}${params && params.length ? ` -- params: ${JSON.stringify(params)}` : ""}`);
69
- }
70
- return new Promise((resolve, reject) => {
71
- const adjustedSql = sql.replace(/\$(\d+)/g, "?");
72
- this.db.all(adjustedSql, params, (err, rows) => {
73
- if (err) {
74
- reject(err);
75
- }
76
- else {
77
- resolve(rows);
78
- }
79
- });
80
- });
81
- }
82
- quoteIdentifier(identifier) {
83
- return `"${identifier.replace(/"/g, '""')}"`;
84
- }
85
- async createTable(entity, fields) {
86
- const columnsSql = fields
87
- .filter((field) => {
88
- if (field.type === "relation") {
89
- return (field.relation?.type !== "one-to-many" &&
90
- field.relation?.type !== "many-to-many");
91
- }
92
- return true;
93
- })
94
- .map((field) => {
95
- let sqlType = this.getSqlType(field);
96
- let constraints = "";
97
- if (field.primary) {
98
- constraints += " PRIMARY KEY";
99
- }
100
- if (field.generated && field.type === "number") {
101
- constraints += " AUTOINCREMENT";
102
- }
103
- if (field.nullable === false && !field.primary) {
104
- constraints += " NOT NULL";
105
- }
106
- if (field.default !== undefined) {
107
- constraints += ` DEFAULT ${this.formatDefault(field.default)}`;
108
- }
109
- return `${this.quoteIdentifier(field.name)} ${sqlType}${constraints}`;
110
- })
111
- .join(", ");
112
- const sql = `CREATE TABLE IF NOT EXISTS ${this.quoteIdentifier(entity.tableName)} (${columnsSql});`;
113
- await this.query(sql);
114
- }
115
- getSqlType(field) {
116
- switch (field.type) {
117
- case "string":
118
- return "TEXT";
119
- case "number":
120
- return "INTEGER";
121
- case "boolean":
122
- return "INTEGER";
123
- case "date":
124
- return "DATETIME";
125
- case "jsonb":
126
- return "TEXT";
127
- case "uuid":
128
- return "TEXT";
129
- default:
130
- return "TEXT";
131
- }
132
- }
133
- formatDefault(value) {
134
- if (typeof value === "string") {
135
- return `'${value.replace(/'/g, "''")}'`;
136
- }
137
- if (value instanceof Date) {
138
- return `'${value.toISOString()}'`;
139
- }
140
- return String(value);
141
- }
142
- }
143
- exports.SQLiteDriver = SQLiteDriver;
@@ -1,8 +0,0 @@
1
- export * from "./decorators/index.js";
2
- export * from "./opposer.js";
3
- export * from "./repository.js";
4
- export * from "./metadata.js";
5
- export * from "./validation.js";
6
- export { PostgresDriver } from "./driver/postgres.js";
7
- export { SQLiteDriver } from "./driver/sqlite.js";
8
- export { MySQLDriver } from "./driver/mysql.js";
@@ -1,28 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.MySQLDriver = exports.SQLiteDriver = exports.PostgresDriver = void 0;
18
- __exportStar(require("./decorators/index.js"), exports);
19
- __exportStar(require("./opposer.js"), exports);
20
- __exportStar(require("./repository.js"), exports);
21
- __exportStar(require("./metadata.js"), exports);
22
- __exportStar(require("./validation.js"), exports);
23
- var postgres_js_1 = require("./driver/postgres.js");
24
- Object.defineProperty(exports, "PostgresDriver", { enumerable: true, get: function () { return postgres_js_1.PostgresDriver; } });
25
- var sqlite_js_1 = require("./driver/sqlite.js");
26
- Object.defineProperty(exports, "SQLiteDriver", { enumerable: true, get: function () { return sqlite_js_1.SQLiteDriver; } });
27
- var mysql_js_1 = require("./driver/mysql.js");
28
- Object.defineProperty(exports, "MySQLDriver", { enumerable: true, get: function () { return mysql_js_1.MySQLDriver; } });
@@ -1,47 +0,0 @@
1
- import "reflect-metadata";
2
- export declare const ENTITY_METADATA_KEY: unique symbol;
3
- export declare const FIELD_METADATA_KEY: unique symbol;
4
- export declare const HOOK_METADATA_KEY: unique symbol;
5
- export type FieldType = "string" | "number" | "boolean" | "date" | "jsonb" | "uuid" | "relation";
6
- export interface EntityMetadata {
7
- name: string;
8
- tableName: string;
9
- target: Function;
10
- description?: string;
11
- }
12
- export interface FieldMetadata {
13
- name: string;
14
- propertyKey: string;
15
- type: FieldType;
16
- primary?: boolean;
17
- generated?: boolean;
18
- nullable?: boolean;
19
- default?: any;
20
- length?: number;
21
- createDate?: boolean;
22
- updateDate?: boolean;
23
- relation?: {
24
- type: "one-to-one" | "one-to-many" | "many-to-one" | "many-to-many";
25
- target: () => Function;
26
- inverseSide?: string;
27
- joinColumn?: boolean;
28
- };
29
- validation?: any;
30
- }
31
- export interface HookMetadata {
32
- type: "before-insert" | "after-insert" | "before-update" | "after-update";
33
- propertyKey: string;
34
- }
35
- export declare class MetadataStore {
36
- private static entities;
37
- private static fields;
38
- private static hooks;
39
- static registerEntity(target: Function, metadata: EntityMetadata): void;
40
- static registerField(target: Function, metadata: FieldMetadata): void;
41
- static registerHook(target: Function, hook: HookMetadata): void;
42
- static getEntity(target: Function): EntityMetadata | undefined;
43
- static getFields(target: Function): FieldMetadata[];
44
- static getPersistableFields(target: Function): FieldMetadata[];
45
- static getHooks(target: Function): HookMetadata[];
46
- static getAllEntities(): EntityMetadata[];
47
- }