@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,42 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const index_js_1 = require("../../../orm/index.js");
16
- const user_js_1 = __importDefault(require("./user.js"));
17
- let Profile = class Profile {
18
- };
19
- __decorate([
20
- (0, index_js_1.PrimaryColumn)({ type: "uuid" }),
21
- __metadata("design:type", String)
22
- ], Profile.prototype, "id", void 0);
23
- __decorate([
24
- (0, index_js_1.Field)({ type: "string" }),
25
- __metadata("design:type", String)
26
- ], Profile.prototype, "bio", void 0);
27
- __decorate([
28
- (0, index_js_1.Field)({ type: "string" }),
29
- __metadata("design:type", String)
30
- ], Profile.prototype, "avatarUrl", void 0);
31
- __decorate([
32
- (0, index_js_1.Relation)({
33
- type: "one-to-one",
34
- target: () => user_js_1.default,
35
- inverseSide: "profile"
36
- }),
37
- __metadata("design:type", user_js_1.default)
38
- ], Profile.prototype, "user", void 0);
39
- Profile = __decorate([
40
- (0, index_js_1.Entity)("profiles")
41
- ], Profile);
42
- exports.default = Profile;
@@ -1,11 +0,0 @@
1
- import Profile from "./profile.js";
2
- import Permission from "./permission.js";
3
- export default class User {
4
- id: string;
5
- name: string;
6
- email: string;
7
- age: number;
8
- createdAt: Date;
9
- profile?: Profile;
10
- permissions?: Permission[];
11
- }
@@ -1,70 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const index_js_1 = require("../../../orm/index.js");
16
- const profile_js_1 = __importDefault(require("./profile.js"));
17
- const permission_js_1 = __importDefault(require("./permission.js"));
18
- let User = class User {
19
- };
20
- __decorate([
21
- (0, index_js_1.PrimaryColumn)({ type: "uuid" }),
22
- __metadata("design:type", String)
23
- ], User.prototype, "id", void 0);
24
- __decorate([
25
- (0, index_js_1.Field)({
26
- type: "string",
27
- validation: () => (0, index_js_1.f)().string("Name must be a string").required("Name is required")
28
- }),
29
- __metadata("design:type", String)
30
- ], User.prototype, "name", void 0);
31
- __decorate([
32
- (0, index_js_1.Field)({
33
- type: "string",
34
- validation: () => (0, index_js_1.f)().string("Email must be a string").required("Email is required").match(/^[^\s@]+@[^\s@]+\.[^\s@]+$/, "Invalid email format")
35
- }),
36
- __metadata("design:type", String)
37
- ], User.prototype, "email", void 0);
38
- __decorate([
39
- (0, index_js_1.Field)({
40
- type: "number",
41
- default: 18,
42
- validation: () => (0, index_js_1.f)().number("Age must be a number").min(18, "Must be at least 18 years old")
43
- }),
44
- __metadata("design:type", Number)
45
- ], User.prototype, "age", void 0);
46
- __decorate([
47
- (0, index_js_1.Field)({ type: "date", default: new Date() }),
48
- __metadata("design:type", Date)
49
- ], User.prototype, "createdAt", void 0);
50
- __decorate([
51
- (0, index_js_1.Relation)({
52
- type: "one-to-one",
53
- target: () => profile_js_1.default,
54
- inverseSide: "user",
55
- joinColumn: true
56
- }),
57
- __metadata("design:type", profile_js_1.default)
58
- ], User.prototype, "profile", void 0);
59
- __decorate([
60
- (0, index_js_1.Relation)({
61
- type: "one-to-many",
62
- target: () => permission_js_1.default,
63
- inverseSide: "user"
64
- }),
65
- __metadata("design:type", Array)
66
- ], User.prototype, "permissions", void 0);
67
- User = __decorate([
68
- (0, index_js_1.Entity)("users")
69
- ], User);
70
- exports.default = User;
@@ -1 +0,0 @@
1
- export {};
@@ -1,44 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const index_js_1 = require("../../../orm/index.js");
7
- const user_js_1 = __importDefault(require("../models/user.js"));
8
- const profile_js_1 = __importDefault(require("../models/profile.js"));
9
- const permission_js_1 = __importDefault(require("../models/permission.js"));
10
- async function runMySQLExample() {
11
- console.log("🐬 --- OpposerDatabase: MySQL Example ---");
12
- const driver = new index_js_1.MySQLDriver({
13
- type: "mysql",
14
- host: "localhost",
15
- port: 3306,
16
- username: "root",
17
- password: "password",
18
- database: "opposer_db",
19
- });
20
- const db = new index_js_1.OpposerDatabase(driver, [user_js_1.default, profile_js_1.default, permission_js_1.default]);
21
- try {
22
- // await db.connect();
23
- console.log("✅ MySQL initialized.");
24
- const userRepository = db.getRepository(user_js_1.default);
25
- console.log("\n🔍 Relationship Overview:");
26
- console.log("- User 1:1 Profile (joined via User.profile)");
27
- console.log("- User 1:N Permission (joined via User.permissions)");
28
- // Example search using Opposer's JSON query builder (mapped to MySQL ?)
29
- const results = await userRepository.find({
30
- where: {
31
- $or: [
32
- { name: "Admin" },
33
- { email: { $il: "root@%" } }
34
- ]
35
- },
36
- select: ["name", "email"]
37
- });
38
- console.log("Example query executed on MySQL.");
39
- }
40
- catch (error) {
41
- console.error("❌ Error:", error);
42
- }
43
- }
44
- runMySQLExample();
@@ -1 +0,0 @@
1
- export {};
@@ -1,40 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const index_js_1 = require("../../../orm/index.js");
7
- const user_js_1 = __importDefault(require("../models/user.js"));
8
- const profile_js_1 = __importDefault(require("../models/profile.js"));
9
- const permission_js_1 = __importDefault(require("../models/permission.js"));
10
- async function runPostgresExample() {
11
- console.log("🐘 --- OpposerDatabase: PostgreSQL Example ---");
12
- const driver = new index_js_1.PostgresDriver({
13
- type: "postgres",
14
- host: "localhost",
15
- port: 5432,
16
- username: "postgres",
17
- password: "password",
18
- database: "opposer_db",
19
- });
20
- const db = new index_js_1.OpposerDatabase(driver, [user_js_1.default, profile_js_1.default, permission_js_1.default]);
21
- try {
22
- // await db.connect();
23
- console.log("✅ PostgreSQL initialized.");
24
- const userRepository = db.getRepository(user_js_1.default);
25
- console.log("\n🔍 Relationship Overview:");
26
- console.log("- User 1:1 Profile (joined via User.profile)");
27
- console.log("- User 1:N Permission (joined via User.permissions)");
28
- // Example query with relationships (using JSON structure)
29
- const user = await userRepository.find({
30
- where: { name: { $il: "Admin%" } },
31
- select: ["name", "email", "profile", "permissions"],
32
- pagination: { page: 0, take: 5 }
33
- });
34
- console.log("Example query executed on Postgres.");
35
- }
36
- catch (error) {
37
- console.error("❌ Error:", error);
38
- }
39
- }
40
- runPostgresExample();
@@ -1 +0,0 @@
1
- export {};
@@ -1,41 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const index_js_1 = require("../../../orm/index.js");
7
- const user_js_1 = __importDefault(require("../models/user.js"));
8
- const profile_js_1 = __importDefault(require("../models/profile.js"));
9
- const permission_js_1 = __importDefault(require("../models/permission.js"));
10
- async function runSQLiteExample() {
11
- console.log("📁 --- OpposerDatabase: SQLite Example ---");
12
- const driver = new index_js_1.SQLiteDriver({
13
- type: "sqlite",
14
- database: "./opposer-test.db",
15
- });
16
- const db = new index_js_1.OpposerDatabase(driver, [user_js_1.default, profile_js_1.default, permission_js_1.default]);
17
- try {
18
- // await db.connect();
19
- console.log("✅ SQLite initialized.");
20
- const userRepository = db.getRepository(user_js_1.default);
21
- console.log("\n🔍 Relationship Overview:");
22
- console.log("- User 1:1 Profile (joined via User.profile)");
23
- console.log("- User 1:N Permission (joined via User.permissions)");
24
- // Validation check for relations
25
- const userData = {
26
- name: "Lite User",
27
- email: "lite@sqlite.org",
28
- profile: { bio: "My life in a small file." }
29
- };
30
- console.log("Validating user data with nested profile structure.");
31
- const errors = userRepository.validate(userData);
32
- if (Object.keys(errors).length === 0) {
33
- console.log("✅ Data is valid for insertion.");
34
- }
35
- console.log("Example operation executed on SQLite.");
36
- }
37
- catch (error) {
38
- console.error("❌ Error:", error);
39
- }
40
- }
41
- runSQLiteExample();
@@ -1,2 +0,0 @@
1
- export * from "./server/index.js";
2
- export { default as Server } from "./server/index.js";
package/lib/cjs/index.js DELETED
@@ -1,23 +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
- var __importDefault = (this && this.__importDefault) || function (mod) {
17
- return (mod && mod.__esModule) ? mod : { "default": mod };
18
- };
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.Server = void 0;
21
- __exportStar(require("./server/index.js"), exports);
22
- var index_js_1 = require("./server/index.js");
23
- Object.defineProperty(exports, "Server", { enumerable: true, get: function () { return __importDefault(index_js_1).default; } });
@@ -1,109 +0,0 @@
1
- import { ClassType } from './system.js';
2
- export interface ControllerApiProps {
3
- controller?: string;
4
- method: 'get' | 'insert' | 'update' | 'delete' | string;
5
- model: string;
6
- payload?: any;
7
- data?: any;
8
- }
9
- export interface QueryBuilder {
10
- [key: string]: string | number | boolean | Date | {
11
- $or?: {
12
- [key: string]: any;
13
- }[];
14
- $l?: string;
15
- $il?: string;
16
- $in?: (string | number | Date)[];
17
- $nin?: (string | number | Date)[];
18
- $btw?: [number, number];
19
- $mt?: number | Date;
20
- $mte?: number | Date;
21
- $lt?: number | Date;
22
- $lte?: number | Date;
23
- $eq?: any;
24
- };
25
- }
26
- export interface RelationBuilder {
27
- model: string;
28
- select: (string | RelationBuilder)[];
29
- }
30
- export type AggregateOperator = 'sum' | 'avg' | 'min' | 'max' | 'count';
31
- export interface HandleGetProps {
32
- model: string;
33
- pagination?: {
34
- page: number;
35
- take: number;
36
- };
37
- query: {
38
- type?: 'filter' | 'find' | 'count' | 'exists' | 'aggregate' | 'distinct' | 'group';
39
- select?: string[];
40
- find?: QueryBuilder;
41
- filter?: QueryBuilder;
42
- count?: QueryBuilder;
43
- exists?: QueryBuilder;
44
- aggregate?: {
45
- where?: QueryBuilder;
46
- aggregate: {
47
- [key: string]: AggregateOperator;
48
- };
49
- };
50
- distinct?: {
51
- where?: QueryBuilder;
52
- field: string;
53
- };
54
- group?: {
55
- where?: QueryBuilder;
56
- by: string[];
57
- aggregate?: {
58
- [key: string]: AggregateOperator;
59
- };
60
- select?: string[];
61
- };
62
- relation?: (string | RelationBuilder)[];
63
- };
64
- }
65
- export interface HandleDeleteProps {
66
- model: string;
67
- filter: QueryBuilder;
68
- }
69
- export interface HandleInsertProps {
70
- model: string;
71
- data: {
72
- [key: string]: unknown;
73
- };
74
- }
75
- export interface HandleUpdateProps {
76
- model: string;
77
- filter: QueryBuilder;
78
- data: {
79
- [key: string]: unknown;
80
- };
81
- }
82
- export interface ResultGetAllControllers {
83
- [key: string]: {
84
- metadata: {
85
- name: string;
86
- };
87
- methods: {
88
- name: string;
89
- }[];
90
- controller: ClassType<any>;
91
- };
92
- }
93
- export interface PayloadRequest<D> {
94
- data: D;
95
- headers: {
96
- autorization: string;
97
- contentType: string;
98
- accept: string;
99
- origin: string;
100
- referer: string;
101
- userAgent: string;
102
- ip: string;
103
- cookies: {
104
- data: Record<string, string>;
105
- set: (name: string, value: string, options: any) => void;
106
- remove: (name: string, options?: any) => void;
107
- };
108
- };
109
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,23 +0,0 @@
1
- export type ValidationFunction = (value: unknown, context: object) => string | null;
2
- export interface SettingsField {
3
- required?: boolean;
4
- default?: any;
5
- length?: number;
6
- match?: RegExp;
7
- min?: number;
8
- max?: number;
9
- relation?: {
10
- target: () => any;
11
- type: "many-to-one" | "one-to-many" | "many-to-many" | "one-to-one" | null;
12
- inverseSide: string;
13
- joinColumn?: boolean;
14
- joinTable?: boolean;
15
- cascade?: boolean;
16
- };
17
- }
18
- export interface Field {
19
- type: "string" | "boolean" | "number" | "date" | "relation" | "array" | "jsonb" | null;
20
- _cases: ValidationFunction[];
21
- _settings: SettingsField;
22
- validate: (value: any, context: object) => string[];
23
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,18 +0,0 @@
1
- import { CookieOptions } from "express";
2
- export interface PayloadRequest<D> {
3
- data: D;
4
- headers: {
5
- autorization: string;
6
- contentType: string;
7
- accept: string;
8
- origin: string;
9
- referer: string;
10
- userAgent: string;
11
- ip: string;
12
- cookies: {
13
- data: Record<string, string>;
14
- set: (name: string, value: string, options: CookieOptions) => void;
15
- remove: (name: string, options?: CookieOptions) => void;
16
- };
17
- };
18
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,21 +0,0 @@
1
- export interface ErrorJwt {
2
- name: string;
3
- message: string;
4
- expiredAt: number;
5
- }
6
- export interface SignJwt {
7
- id: string;
8
- exp: number;
9
- fn: string;
10
- ln: string;
11
- lg: string;
12
- rl: {
13
- sm: string;
14
- mt: string;
15
- }[];
16
- }
17
- export interface ForgetJwt {
18
- lg: string;
19
- ip: string;
20
- ag: string;
21
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,9 +0,0 @@
1
- import { Field } from "./field.js";
2
- export interface ModelDefinition {
3
- [key: string]: Field;
4
- }
5
- export interface ModelResult {
6
- validation: Record<string, any>;
7
- entity: any;
8
- definition: ModelDefinition;
9
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,13 +0,0 @@
1
- export interface HandleRequestResultSuccess<R> {
2
- success: true;
3
- data: R;
4
- }
5
- export interface HandleRequestResultError {
6
- success: false;
7
- error: {
8
- name: string;
9
- code: number;
10
- message: any;
11
- };
12
- }
13
- export type HandleRequestResult<R> = HandleRequestResultSuccess<R> | HandleRequestResultError;
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,9 +0,0 @@
1
- import { Field } from './field.js';
2
- export interface ModelDefinition {
3
- [key: string]: Field;
4
- }
5
- export interface ModelResult {
6
- validation: Record<string, any>;
7
- entity: any;
8
- definition: ModelDefinition;
9
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,32 +0,0 @@
1
- export interface PayloadAuthRegister {
2
- fn: string;
3
- ln: string;
4
- lg: string;
5
- ps: string;
6
- }
7
- export interface PayloadSocialLogin {
8
- id: string;
9
- fn: string;
10
- ln: string;
11
- lg: string;
12
- rl: {
13
- sm: string;
14
- mt: string;
15
- }[];
16
- }
17
- export interface PayloadAuthLogin {
18
- lg: string;
19
- ps: string;
20
- ip: string;
21
- ag: string;
22
- }
23
- export interface PayloadAuthForgetPassword {
24
- lg: string;
25
- ip: string;
26
- ag: string;
27
- }
28
- export interface PayloadAuthChangePassword {
29
- tk: string;
30
- ps: string;
31
- rw: string;
32
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,37 +0,0 @@
1
- import http from "http";
2
- import { ClassType } from "./system.js";
3
- export interface CreateServerProps {
4
- cors?: {
5
- origin: string | string[];
6
- };
7
- models?: string | ClassType<unknown>[];
8
- controllers?: string | ClassType<unknown>[];
9
- schedules?: string | ClassType<unknown>[];
10
- }
11
- export interface Request extends http.IncomingMessage {
12
- server: OpposerServer;
13
- ip?: string;
14
- cookies: Record<string, string>;
15
- body: any;
16
- url: string;
17
- method: string;
18
- }
19
- export interface Response extends http.ServerResponse {
20
- status: (code: number) => Response;
21
- json: (data: any) => void;
22
- send: (data: any) => void;
23
- cookie: (name: string, value: string, options?: any) => void;
24
- clearCookie: (name: string, options?: any) => void;
25
- }
26
- export type NextFunction = () => void | Promise<void>;
27
- export interface OpposerServer {
28
- use: (middleware: any) => OpposerServer;
29
- listen: (port: number, callback?: () => void) => http.Server;
30
- }
31
- export interface ServerInstance {
32
- opposer: OpposerServer;
33
- initialize: () => void;
34
- }
35
- export type Server = http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>;
36
- export type HandleCallback = (req: http.IncomingMessage, res: http.ServerResponse) => void;
37
- export type ListinerCallback = () => void;
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,41 +0,0 @@
1
- import { ConnectionOptions } from "../orm/index.js";
2
- export interface OpposerSystemConfigOptions {
3
- models: string;
4
- schedules: string;
5
- controllers: string;
6
- port: number;
7
- url?: string;
8
- text?: boolean;
9
- urlencoded?: boolean;
10
- helmet?: boolean;
11
- logger?: boolean;
12
- cors?: {
13
- origin: string | string[];
14
- };
15
- rateLimit?: {
16
- windowMs: number;
17
- max: number;
18
- };
19
- auth: boolean | {
20
- exposeChangePassword: boolean;
21
- };
22
- jwt: {
23
- access: string;
24
- refresh: string;
25
- recover: string;
26
- };
27
- database: ConnectionOptions;
28
- manager: {
29
- firstName: string;
30
- lastName: string;
31
- login: string;
32
- password: string;
33
- };
34
- }
35
- export interface ClassType<T> {
36
- new (...args: any[]): T;
37
- }
38
- export interface ModelDefinition {
39
- name: string;
40
- entity: ClassType<unknown>;
41
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });