@warlock.js/cascade 4.0.92 → 4.0.93

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 (269) hide show
  1. package/cjs/contracts/database-driver.contract.d.ts +118 -0
  2. package/cjs/contracts/database-driver.contract.d.ts.map +1 -1
  3. package/cjs/contracts/migration-driver.contract.d.ts +14 -0
  4. package/cjs/contracts/migration-driver.contract.d.ts.map +1 -1
  5. package/cjs/contracts/query-builder.contract.d.ts +410 -1
  6. package/cjs/contracts/query-builder.contract.d.ts.map +1 -1
  7. package/cjs/data-source/data-source-registry.d.ts +4 -0
  8. package/cjs/data-source/data-source-registry.d.ts.map +1 -1
  9. package/cjs/data-source/data-source-registry.js +7 -0
  10. package/cjs/data-source/data-source-registry.js.map +1 -1
  11. package/cjs/drivers/mongodb/mongodb-blueprint.d.ts.map +1 -0
  12. package/cjs/drivers/mongodb/mongodb-blueprint.js.map +1 -0
  13. package/{esm/drivers/mongo → cjs/drivers/mongodb}/mongodb-driver.d.ts +49 -0
  14. package/cjs/drivers/mongodb/mongodb-driver.d.ts.map +1 -0
  15. package/cjs/drivers/{mongo → mongodb}/mongodb-driver.js +125 -8
  16. package/cjs/drivers/mongodb/mongodb-driver.js.map +1 -0
  17. package/cjs/drivers/{mongo/mongo-id-generator.d.ts → mongodb/mongodb-id-generator.d.ts} +1 -1
  18. package/cjs/drivers/mongodb/mongodb-id-generator.d.ts.map +1 -0
  19. package/cjs/drivers/{mongo/mongo-id-generator.js → mongodb/mongodb-id-generator.js} +1 -1
  20. package/cjs/drivers/mongodb/mongodb-id-generator.js.map +1 -0
  21. package/cjs/drivers/{mongo/mongo-migration-driver.d.ts → mongodb/mongodb-migration-driver.d.ts} +10 -1
  22. package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts.map +1 -0
  23. package/cjs/drivers/{mongo/mongo-migration-driver.js → mongodb/mongodb-migration-driver.js} +18 -1
  24. package/cjs/drivers/mongodb/mongodb-migration-driver.js.map +1 -0
  25. package/cjs/drivers/{mongo/mongo-query-builder.d.ts → mongodb/mongodb-query-builder.d.ts} +172 -4
  26. package/cjs/drivers/mongodb/mongodb-query-builder.d.ts.map +1 -0
  27. package/cjs/drivers/{mongo/mongo-query-builder.js → mongodb/mongodb-query-builder.js} +220 -14
  28. package/cjs/drivers/mongodb/mongodb-query-builder.js.map +1 -0
  29. package/{esm/drivers/mongo/mongo-query-operations.d.ts → cjs/drivers/mongodb/mongodb-query-operations.d.ts} +16 -16
  30. package/cjs/drivers/mongodb/mongodb-query-operations.d.ts.map +1 -0
  31. package/cjs/drivers/{mongo/mongo-query-operations.js → mongodb/mongodb-query-operations.js} +22 -22
  32. package/cjs/drivers/mongodb/mongodb-query-operations.js.map +1 -0
  33. package/cjs/drivers/{mongo/mongo-query-parser.d.ts → mongodb/mongodb-query-parser.d.ts} +2 -2
  34. package/cjs/drivers/mongodb/mongodb-query-parser.d.ts.map +1 -0
  35. package/cjs/drivers/{mongo/mongo-query-parser.js → mongodb/mongodb-query-parser.js} +87 -87
  36. package/cjs/drivers/mongodb/mongodb-query-parser.js.map +1 -0
  37. package/cjs/drivers/{mongo/mongo-sync-adapter.d.ts → mongodb/mongodb-sync-adapter.d.ts} +2 -2
  38. package/cjs/drivers/mongodb/mongodb-sync-adapter.d.ts.map +1 -0
  39. package/cjs/drivers/{mongo/mongo-sync-adapter.js → mongodb/mongodb-sync-adapter.js} +2 -2
  40. package/cjs/drivers/mongodb/mongodb-sync-adapter.js.map +1 -0
  41. package/{esm/drivers/mongo → cjs/drivers/mongodb}/types.d.ts +2 -2
  42. package/cjs/drivers/mongodb/types.d.ts.map +1 -0
  43. package/cjs/drivers/postgres/index.d.ts +16 -0
  44. package/cjs/drivers/postgres/index.d.ts.map +1 -0
  45. package/cjs/drivers/postgres/postgres-blueprint.d.ts +64 -0
  46. package/cjs/drivers/postgres/postgres-blueprint.d.ts.map +1 -0
  47. package/cjs/drivers/postgres/postgres-blueprint.js +121 -0
  48. package/cjs/drivers/postgres/postgres-blueprint.js.map +1 -0
  49. package/cjs/drivers/postgres/postgres-dialect.d.ts +135 -0
  50. package/cjs/drivers/postgres/postgres-dialect.d.ts.map +1 -0
  51. package/cjs/drivers/postgres/postgres-dialect.js +245 -0
  52. package/cjs/drivers/postgres/postgres-dialect.js.map +1 -0
  53. package/cjs/drivers/postgres/postgres-driver.d.ts +360 -0
  54. package/cjs/drivers/postgres/postgres-driver.d.ts.map +1 -0
  55. package/cjs/drivers/postgres/postgres-driver.js +763 -0
  56. package/cjs/drivers/postgres/postgres-driver.js.map +1 -0
  57. package/cjs/drivers/postgres/postgres-migration-driver.d.ts +297 -0
  58. package/cjs/drivers/postgres/postgres-migration-driver.d.ts.map +1 -0
  59. package/cjs/drivers/postgres/postgres-migration-driver.js +578 -0
  60. package/cjs/drivers/postgres/postgres-migration-driver.js.map +1 -0
  61. package/cjs/drivers/postgres/postgres-query-builder.d.ts +824 -0
  62. package/cjs/drivers/postgres/postgres-query-builder.d.ts.map +1 -0
  63. package/cjs/drivers/postgres/postgres-query-builder.js +1800 -0
  64. package/cjs/drivers/postgres/postgres-query-builder.js.map +1 -0
  65. package/cjs/drivers/postgres/postgres-query-parser.d.ts +308 -0
  66. package/cjs/drivers/postgres/postgres-query-parser.d.ts.map +1 -0
  67. package/cjs/drivers/postgres/postgres-query-parser.js +706 -0
  68. package/cjs/drivers/postgres/postgres-query-parser.js.map +1 -0
  69. package/cjs/drivers/postgres/postgres-sync-adapter.d.ts +83 -0
  70. package/cjs/drivers/postgres/postgres-sync-adapter.d.ts.map +1 -0
  71. package/cjs/drivers/postgres/postgres-sync-adapter.js +197 -0
  72. package/cjs/drivers/postgres/postgres-sync-adapter.js.map +1 -0
  73. package/cjs/drivers/postgres/types.d.ts +142 -0
  74. package/cjs/drivers/postgres/types.d.ts.map +1 -0
  75. package/cjs/drivers/sql/index.d.ts +10 -0
  76. package/cjs/drivers/sql/index.d.ts.map +1 -0
  77. package/cjs/drivers/sql/sql-dialect.contract.d.ts +203 -0
  78. package/cjs/drivers/sql/sql-dialect.contract.d.ts.map +1 -0
  79. package/cjs/drivers/sql/sql-types.d.ts +202 -0
  80. package/cjs/drivers/sql/sql-types.d.ts.map +1 -0
  81. package/cjs/index.d.ts +9 -6
  82. package/cjs/index.d.ts.map +1 -1
  83. package/cjs/index.js +1 -1
  84. package/cjs/migration/migration-runner.d.ts.map +1 -1
  85. package/cjs/migration/migration-runner.js +3 -0
  86. package/cjs/migration/migration-runner.js.map +1 -1
  87. package/cjs/model/model.d.ts +236 -1
  88. package/cjs/model/model.d.ts.map +1 -1
  89. package/cjs/model/model.js +203 -4
  90. package/cjs/model/model.js.map +1 -1
  91. package/cjs/relations/helpers.d.ts +156 -0
  92. package/cjs/relations/helpers.d.ts.map +1 -0
  93. package/cjs/relations/helpers.js +197 -0
  94. package/cjs/relations/helpers.js.map +1 -0
  95. package/cjs/relations/index.d.ts +33 -0
  96. package/cjs/relations/index.d.ts.map +1 -0
  97. package/cjs/relations/pivot-operations.d.ts +160 -0
  98. package/cjs/relations/pivot-operations.d.ts.map +1 -0
  99. package/cjs/relations/pivot-operations.js +293 -0
  100. package/cjs/relations/pivot-operations.js.map +1 -0
  101. package/cjs/relations/relation-loader.d.ts +194 -0
  102. package/cjs/relations/relation-loader.d.ts.map +1 -0
  103. package/cjs/relations/relation-loader.js +466 -0
  104. package/cjs/relations/relation-loader.js.map +1 -0
  105. package/cjs/relations/types.d.ts +280 -0
  106. package/cjs/relations/types.d.ts.map +1 -0
  107. package/cjs/sync/model-sync-operation.js +1 -1
  108. package/cjs/sync/model-sync-operation.js.map +1 -1
  109. package/cjs/utils/connect-to-database.d.ts.map +1 -1
  110. package/cjs/utils/connect-to-database.js +15 -3
  111. package/cjs/utils/connect-to-database.js.map +1 -1
  112. package/cjs/utils/define-model.d.ts +51 -29
  113. package/cjs/utils/define-model.d.ts.map +1 -1
  114. package/cjs/validation/rules/database-model-rule.js +1 -1
  115. package/cjs/validation/rules/database-model-rule.js.map +1 -1
  116. package/esm/contracts/database-driver.contract.d.ts +118 -0
  117. package/esm/contracts/database-driver.contract.d.ts.map +1 -1
  118. package/esm/contracts/migration-driver.contract.d.ts +14 -0
  119. package/esm/contracts/migration-driver.contract.d.ts.map +1 -1
  120. package/esm/contracts/query-builder.contract.d.ts +410 -1
  121. package/esm/contracts/query-builder.contract.d.ts.map +1 -1
  122. package/esm/data-source/data-source-registry.d.ts +4 -0
  123. package/esm/data-source/data-source-registry.d.ts.map +1 -1
  124. package/esm/data-source/data-source-registry.js +7 -0
  125. package/esm/data-source/data-source-registry.js.map +1 -1
  126. package/esm/drivers/mongodb/mongodb-blueprint.d.ts.map +1 -0
  127. package/esm/drivers/mongodb/mongodb-blueprint.js.map +1 -0
  128. package/{cjs/drivers/mongo → esm/drivers/mongodb}/mongodb-driver.d.ts +49 -0
  129. package/esm/drivers/mongodb/mongodb-driver.d.ts.map +1 -0
  130. package/esm/drivers/{mongo → mongodb}/mongodb-driver.js +121 -4
  131. package/esm/drivers/mongodb/mongodb-driver.js.map +1 -0
  132. package/esm/drivers/{mongo/mongo-id-generator.d.ts → mongodb/mongodb-id-generator.d.ts} +1 -1
  133. package/esm/drivers/mongodb/mongodb-id-generator.d.ts.map +1 -0
  134. package/esm/drivers/{mongo/mongo-id-generator.js → mongodb/mongodb-id-generator.js} +1 -1
  135. package/esm/drivers/mongodb/mongodb-id-generator.js.map +1 -0
  136. package/esm/drivers/{mongo/mongo-migration-driver.d.ts → mongodb/mongodb-migration-driver.d.ts} +10 -1
  137. package/esm/drivers/mongodb/mongodb-migration-driver.d.ts.map +1 -0
  138. package/esm/drivers/{mongo/mongo-migration-driver.js → mongodb/mongodb-migration-driver.js} +18 -1
  139. package/esm/drivers/mongodb/mongodb-migration-driver.js.map +1 -0
  140. package/esm/drivers/{mongo/mongo-query-builder.d.ts → mongodb/mongodb-query-builder.d.ts} +172 -4
  141. package/esm/drivers/mongodb/mongodb-query-builder.d.ts.map +1 -0
  142. package/esm/drivers/{mongo/mongo-query-builder.js → mongodb/mongodb-query-builder.js} +218 -12
  143. package/esm/drivers/mongodb/mongodb-query-builder.js.map +1 -0
  144. package/{cjs/drivers/mongo/mongo-query-operations.d.ts → esm/drivers/mongodb/mongodb-query-operations.d.ts} +16 -16
  145. package/esm/drivers/mongodb/mongodb-query-operations.d.ts.map +1 -0
  146. package/esm/drivers/{mongo/mongo-query-operations.js → mongodb/mongodb-query-operations.js} +22 -22
  147. package/esm/drivers/mongodb/mongodb-query-operations.js.map +1 -0
  148. package/esm/drivers/{mongo/mongo-query-parser.d.ts → mongodb/mongodb-query-parser.d.ts} +2 -2
  149. package/esm/drivers/mongodb/mongodb-query-parser.d.ts.map +1 -0
  150. package/esm/drivers/{mongo/mongo-query-parser.js → mongodb/mongodb-query-parser.js} +87 -87
  151. package/esm/drivers/mongodb/mongodb-query-parser.js.map +1 -0
  152. package/esm/drivers/{mongo/mongo-sync-adapter.d.ts → mongodb/mongodb-sync-adapter.d.ts} +2 -2
  153. package/esm/drivers/mongodb/mongodb-sync-adapter.d.ts.map +1 -0
  154. package/esm/drivers/{mongo/mongo-sync-adapter.js → mongodb/mongodb-sync-adapter.js} +2 -2
  155. package/esm/drivers/mongodb/mongodb-sync-adapter.js.map +1 -0
  156. package/{cjs/drivers/mongo → esm/drivers/mongodb}/types.d.ts +2 -2
  157. package/esm/drivers/mongodb/types.d.ts.map +1 -0
  158. package/esm/drivers/postgres/index.d.ts +16 -0
  159. package/esm/drivers/postgres/index.d.ts.map +1 -0
  160. package/esm/drivers/postgres/postgres-blueprint.d.ts +64 -0
  161. package/esm/drivers/postgres/postgres-blueprint.d.ts.map +1 -0
  162. package/esm/drivers/postgres/postgres-blueprint.js +121 -0
  163. package/esm/drivers/postgres/postgres-blueprint.js.map +1 -0
  164. package/esm/drivers/postgres/postgres-dialect.d.ts +135 -0
  165. package/esm/drivers/postgres/postgres-dialect.d.ts.map +1 -0
  166. package/esm/drivers/postgres/postgres-dialect.js +245 -0
  167. package/esm/drivers/postgres/postgres-dialect.js.map +1 -0
  168. package/esm/drivers/postgres/postgres-driver.d.ts +360 -0
  169. package/esm/drivers/postgres/postgres-driver.d.ts.map +1 -0
  170. package/esm/drivers/postgres/postgres-driver.js +763 -0
  171. package/esm/drivers/postgres/postgres-driver.js.map +1 -0
  172. package/esm/drivers/postgres/postgres-migration-driver.d.ts +297 -0
  173. package/esm/drivers/postgres/postgres-migration-driver.d.ts.map +1 -0
  174. package/esm/drivers/postgres/postgres-migration-driver.js +578 -0
  175. package/esm/drivers/postgres/postgres-migration-driver.js.map +1 -0
  176. package/esm/drivers/postgres/postgres-query-builder.d.ts +824 -0
  177. package/esm/drivers/postgres/postgres-query-builder.d.ts.map +1 -0
  178. package/esm/drivers/postgres/postgres-query-builder.js +1800 -0
  179. package/esm/drivers/postgres/postgres-query-builder.js.map +1 -0
  180. package/esm/drivers/postgres/postgres-query-parser.d.ts +308 -0
  181. package/esm/drivers/postgres/postgres-query-parser.d.ts.map +1 -0
  182. package/esm/drivers/postgres/postgres-query-parser.js +706 -0
  183. package/esm/drivers/postgres/postgres-query-parser.js.map +1 -0
  184. package/esm/drivers/postgres/postgres-sync-adapter.d.ts +83 -0
  185. package/esm/drivers/postgres/postgres-sync-adapter.d.ts.map +1 -0
  186. package/esm/drivers/postgres/postgres-sync-adapter.js +197 -0
  187. package/esm/drivers/postgres/postgres-sync-adapter.js.map +1 -0
  188. package/esm/drivers/postgres/types.d.ts +142 -0
  189. package/esm/drivers/postgres/types.d.ts.map +1 -0
  190. package/esm/drivers/sql/index.d.ts +10 -0
  191. package/esm/drivers/sql/index.d.ts.map +1 -0
  192. package/esm/drivers/sql/sql-dialect.contract.d.ts +203 -0
  193. package/esm/drivers/sql/sql-dialect.contract.d.ts.map +1 -0
  194. package/esm/drivers/sql/sql-types.d.ts +202 -0
  195. package/esm/drivers/sql/sql-types.d.ts.map +1 -0
  196. package/esm/index.d.ts +9 -6
  197. package/esm/index.d.ts.map +1 -1
  198. package/esm/index.js +1 -1
  199. package/esm/migration/migration-runner.d.ts.map +1 -1
  200. package/esm/migration/migration-runner.js +3 -0
  201. package/esm/migration/migration-runner.js.map +1 -1
  202. package/esm/model/model.d.ts +236 -1
  203. package/esm/model/model.d.ts.map +1 -1
  204. package/esm/model/model.js +203 -4
  205. package/esm/model/model.js.map +1 -1
  206. package/esm/relations/helpers.d.ts +156 -0
  207. package/esm/relations/helpers.d.ts.map +1 -0
  208. package/esm/relations/helpers.js +197 -0
  209. package/esm/relations/helpers.js.map +1 -0
  210. package/esm/relations/index.d.ts +33 -0
  211. package/esm/relations/index.d.ts.map +1 -0
  212. package/esm/relations/pivot-operations.d.ts +160 -0
  213. package/esm/relations/pivot-operations.d.ts.map +1 -0
  214. package/esm/relations/pivot-operations.js +293 -0
  215. package/esm/relations/pivot-operations.js.map +1 -0
  216. package/esm/relations/relation-loader.d.ts +194 -0
  217. package/esm/relations/relation-loader.d.ts.map +1 -0
  218. package/esm/relations/relation-loader.js +466 -0
  219. package/esm/relations/relation-loader.js.map +1 -0
  220. package/esm/relations/types.d.ts +280 -0
  221. package/esm/relations/types.d.ts.map +1 -0
  222. package/esm/sync/model-sync-operation.js +1 -1
  223. package/esm/sync/model-sync-operation.js.map +1 -1
  224. package/esm/utils/connect-to-database.d.ts.map +1 -1
  225. package/esm/utils/connect-to-database.js +15 -3
  226. package/esm/utils/connect-to-database.js.map +1 -1
  227. package/esm/utils/define-model.d.ts +51 -29
  228. package/esm/utils/define-model.d.ts.map +1 -1
  229. package/esm/validation/rules/database-model-rule.js +1 -1
  230. package/esm/validation/rules/database-model-rule.js.map +1 -1
  231. package/package.json +4 -4
  232. package/cjs/drivers/mongo/mongo-id-generator.d.ts.map +0 -1
  233. package/cjs/drivers/mongo/mongo-id-generator.js.map +0 -1
  234. package/cjs/drivers/mongo/mongo-migration-driver.d.ts.map +0 -1
  235. package/cjs/drivers/mongo/mongo-migration-driver.js.map +0 -1
  236. package/cjs/drivers/mongo/mongo-query-builder.d.ts.map +0 -1
  237. package/cjs/drivers/mongo/mongo-query-builder.js.map +0 -1
  238. package/cjs/drivers/mongo/mongo-query-operations.d.ts.map +0 -1
  239. package/cjs/drivers/mongo/mongo-query-operations.js.map +0 -1
  240. package/cjs/drivers/mongo/mongo-query-parser.d.ts.map +0 -1
  241. package/cjs/drivers/mongo/mongo-query-parser.js.map +0 -1
  242. package/cjs/drivers/mongo/mongo-sync-adapter.d.ts.map +0 -1
  243. package/cjs/drivers/mongo/mongo-sync-adapter.js.map +0 -1
  244. package/cjs/drivers/mongo/mongodb-blueprint.d.ts.map +0 -1
  245. package/cjs/drivers/mongo/mongodb-blueprint.js.map +0 -1
  246. package/cjs/drivers/mongo/mongodb-driver.d.ts.map +0 -1
  247. package/cjs/drivers/mongo/mongodb-driver.js.map +0 -1
  248. package/cjs/drivers/mongo/types.d.ts.map +0 -1
  249. package/esm/drivers/mongo/mongo-id-generator.d.ts.map +0 -1
  250. package/esm/drivers/mongo/mongo-id-generator.js.map +0 -1
  251. package/esm/drivers/mongo/mongo-migration-driver.d.ts.map +0 -1
  252. package/esm/drivers/mongo/mongo-migration-driver.js.map +0 -1
  253. package/esm/drivers/mongo/mongo-query-builder.d.ts.map +0 -1
  254. package/esm/drivers/mongo/mongo-query-builder.js.map +0 -1
  255. package/esm/drivers/mongo/mongo-query-operations.d.ts.map +0 -1
  256. package/esm/drivers/mongo/mongo-query-operations.js.map +0 -1
  257. package/esm/drivers/mongo/mongo-query-parser.d.ts.map +0 -1
  258. package/esm/drivers/mongo/mongo-query-parser.js.map +0 -1
  259. package/esm/drivers/mongo/mongo-sync-adapter.d.ts.map +0 -1
  260. package/esm/drivers/mongo/mongo-sync-adapter.js.map +0 -1
  261. package/esm/drivers/mongo/mongodb-blueprint.d.ts.map +0 -1
  262. package/esm/drivers/mongo/mongodb-blueprint.js.map +0 -1
  263. package/esm/drivers/mongo/mongodb-driver.d.ts.map +0 -1
  264. package/esm/drivers/mongo/mongodb-driver.js.map +0 -1
  265. package/esm/drivers/mongo/types.d.ts.map +0 -1
  266. /package/cjs/drivers/{mongo → mongodb}/mongodb-blueprint.d.ts +0 -0
  267. /package/cjs/drivers/{mongo → mongodb}/mongodb-blueprint.js +0 -0
  268. /package/esm/drivers/{mongo → mongodb}/mongodb-blueprint.d.ts +0 -0
  269. /package/esm/drivers/{mongo → mongodb}/mongodb-blueprint.js +0 -0
@@ -0,0 +1,280 @@
1
+ /**
2
+ * @fileoverview Relation type definitions for the Cascade ORM relations system.
3
+ *
4
+ * This module defines all the types and interfaces needed for configuring
5
+ * model relationships including hasMany, belongsTo, belongsToMany, and hasOne.
6
+ *
7
+ * @module @warlock.js/cascade/relations/types
8
+ */
9
+ import type { QueryBuilderContract } from "../contracts";
10
+ import type { Model } from "../model/model";
11
+ /**
12
+ * The type of relationship between models.
13
+ *
14
+ * - `hasOne`: One-to-one relationship where the foreign key is on the related model
15
+ * - `hasMany`: One-to-many relationship where the foreign key is on the related model
16
+ * - `belongsTo`: Inverse of hasOne/hasMany where the foreign key is on this model
17
+ * - `belongsToMany`: Many-to-many relationship through a pivot table
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * // User hasOne Profile (profile.userId references user.id)
22
+ * // User hasMany Posts (post.userId references user.id)
23
+ * // Post belongsTo User (post.userId references user.id)
24
+ * // Post belongsToMany Tags (through post_tags pivot table)
25
+ * ```
26
+ */
27
+ export type RelationType = "hasOne" | "hasMany" | "belongsTo" | "belongsToMany";
28
+ /**
29
+ * Complete definition of a model relationship.
30
+ *
31
+ * This interface describes how two models are connected, including
32
+ * the type of relationship and the keys used for joining.
33
+ *
34
+ * @example
35
+ * ```typescript
36
+ * const postsRelation: RelationDefinition = {
37
+ * type: "hasMany",
38
+ * model: "Post",
39
+ * foreignKey: "userId",
40
+ * localKey: "id",
41
+ * };
42
+ * ```
43
+ */
44
+ export type RelationDefinition = {
45
+ /**
46
+ * The type of relationship.
47
+ */
48
+ readonly type: RelationType;
49
+ /**
50
+ * The name of the related model in the registry.
51
+ * Models must be decorated with `@RegisterModel()` to be resolvable.
52
+ */
53
+ readonly model: string;
54
+ /**
55
+ * The foreign key field on the related model (for hasOne/hasMany)
56
+ * or on this model (for belongsTo).
57
+ *
58
+ * For belongsToMany, this is the key on the related model.
59
+ */
60
+ readonly foreignKey?: string;
61
+ /**
62
+ * The local key field on this model that the foreign key references.
63
+ *
64
+ * @default "id"
65
+ */
66
+ readonly localKey?: string;
67
+ /**
68
+ * The pivot table name (only for belongsToMany relationships).
69
+ */
70
+ readonly pivot?: string;
71
+ /**
72
+ * The column in the pivot table that references this model's primary key.
73
+ * Only applicable for belongsToMany relationships.
74
+ */
75
+ readonly pivotLocalKey?: string;
76
+ /**
77
+ * The column in the pivot table that references the related model's primary key.
78
+ * Only applicable for belongsToMany relationships.
79
+ */
80
+ readonly pivotForeignKey?: string;
81
+ };
82
+ /**
83
+ * Configuration options for a hasMany relationship.
84
+ *
85
+ * @example
86
+ * ```typescript
87
+ * // User has many Posts via post.userId
88
+ * static relations = {
89
+ * posts: hasMany("Post", { foreignKey: "userId" }),
90
+ * };
91
+ * ```
92
+ */
93
+ export type HasManyOptions = {
94
+ /**
95
+ * The foreign key field on the related model.
96
+ *
97
+ * If not provided, defaults to `{thisModelName}Id` (e.g., `userId` for User model).
98
+ */
99
+ readonly foreignKey?: string;
100
+ /**
101
+ * The local key field on this model that the foreign key references.
102
+ *
103
+ * @default "id"
104
+ */
105
+ readonly localKey?: string;
106
+ };
107
+ /**
108
+ * Configuration options for a hasOne relationship.
109
+ *
110
+ * @example
111
+ * ```typescript
112
+ * // User has one Profile via profile.userId
113
+ * static relations = {
114
+ * profile: hasOne("Profile", { foreignKey: "userId" }),
115
+ * };
116
+ * ```
117
+ */
118
+ export type HasOneOptions = {
119
+ /**
120
+ * The foreign key field on the related model.
121
+ *
122
+ * If not provided, defaults to `{thisModelName}Id` (e.g., `userId` for User model).
123
+ */
124
+ readonly foreignKey?: string;
125
+ /**
126
+ * The local key field on this model that the foreign key references.
127
+ *
128
+ * @default "id"
129
+ */
130
+ readonly localKey?: string;
131
+ };
132
+ /**
133
+ * Configuration options for a belongsTo relationship.
134
+ *
135
+ * @example
136
+ * ```typescript
137
+ * // Post belongs to User via post.userId
138
+ * static relations = {
139
+ * author: belongsTo("User", { foreignKey: "userId" }),
140
+ * };
141
+ * ```
142
+ */
143
+ export type BelongsToOptions = {
144
+ /**
145
+ * The foreign key field on this model that references the related model.
146
+ *
147
+ * If not provided, defaults to `{relationName}Id` (e.g., `authorId` for author relation).
148
+ */
149
+ readonly foreignKey?: string;
150
+ /**
151
+ * The primary key field on the related model.
152
+ *
153
+ * @default "id"
154
+ */
155
+ readonly ownerKey?: string;
156
+ };
157
+ /**
158
+ * Configuration options for a belongsToMany relationship.
159
+ *
160
+ * @example
161
+ * ```typescript
162
+ * // Post belongs to many Tags via post_tags pivot table
163
+ * static relations = {
164
+ * tags: belongsToMany("Tag", {
165
+ * pivot: "post_tags",
166
+ * localKey: "postId",
167
+ * foreignKey: "tagId",
168
+ * }),
169
+ * };
170
+ * ```
171
+ */
172
+ export type BelongsToManyOptions = {
173
+ /**
174
+ * The pivot table name that connects the two models.
175
+ * This is required for many-to-many relationships.
176
+ */
177
+ readonly pivot: string;
178
+ /**
179
+ * The column in the pivot table that references this model's primary key.
180
+ *
181
+ * If not provided, defaults to `{thisModelName}Id`.
182
+ */
183
+ readonly localKey?: string;
184
+ /**
185
+ * The column in the pivot table that references the related model's primary key.
186
+ *
187
+ * If not provided, defaults to `{relatedModelName}Id`.
188
+ */
189
+ readonly foreignKey?: string;
190
+ /**
191
+ * The primary key of this model that the pivot table references.
192
+ *
193
+ * @default "id"
194
+ */
195
+ readonly pivotLocalKey?: string;
196
+ /**
197
+ * The primary key of the related model that the pivot table references.
198
+ *
199
+ * @default "id"
200
+ */
201
+ readonly pivotForeignKey?: string;
202
+ };
203
+ /**
204
+ * Callback function to apply constraints when loading a relation.
205
+ *
206
+ * @example
207
+ * ```typescript
208
+ * User.query().with("posts", (query) => {
209
+ * query.where("isPublished", true).orderBy("createdAt", "desc");
210
+ * });
211
+ * ```
212
+ */
213
+ export type RelationConstraintCallback = (query: QueryBuilderContract) => void;
214
+ /**
215
+ * Constraints to apply when loading relations.
216
+ *
217
+ * Can be:
218
+ * - A single constraint callback for a relation
219
+ * - An object mapping relation names to constraint callbacks or boolean values
220
+ *
221
+ * @example
222
+ * ```typescript
223
+ * // Object form
224
+ * await User.loadRelations(users, {
225
+ * posts: (query) => query.where("isPublished", true),
226
+ * organization: true,
227
+ * });
228
+ * ```
229
+ */
230
+ export type RelationConstraints = Record<string, boolean | RelationConstraintCallback>;
231
+ /**
232
+ * Type for the result of loading a relation.
233
+ *
234
+ * - For hasOne/belongsTo: A single model instance or null
235
+ * - For hasMany/belongsToMany: An array of model instances
236
+ */
237
+ export type LoadedRelationResult = Model | Model[] | null;
238
+ /**
239
+ * Map that stores loaded relation data on a model instance.
240
+ *
241
+ * @example
242
+ * ```typescript
243
+ * // After user.load("posts", "profile")
244
+ * user.loadedRelations.get("posts"); // Post[]
245
+ * user.loadedRelations.get("profile"); // Profile | null
246
+ * ```
247
+ */
248
+ export type LoadedRelationsMap = Map<string, LoadedRelationResult>;
249
+ /**
250
+ * A map of relation names to their definitions.
251
+ *
252
+ * This is the type for the static `relations` property on models.
253
+ *
254
+ * @example
255
+ * ```typescript
256
+ * class User extends Model {
257
+ * static relations: RelationDefinitions = {
258
+ * posts: hasMany("Post"),
259
+ * profile: hasOne("Profile"),
260
+ * organization: belongsTo("Organization"),
261
+ * };
262
+ * }
263
+ * ```
264
+ */
265
+ export type RelationDefinitions = Record<string, RelationDefinition>;
266
+ /**
267
+ * Additional data to store in the pivot table for many-to-many relationships.
268
+ *
269
+ * @example
270
+ * ```typescript
271
+ * await post.attach("tags", [1, 2, 3], { addedBy: userId, addedAt: new Date() });
272
+ * ```
273
+ */
274
+ export type PivotData = Record<string, unknown>;
275
+ /**
276
+ * IDs that can be used for pivot operations.
277
+ * Supports both numeric and string IDs.
278
+ */
279
+ export type PivotIds = (number | string)[];
280
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/relations/types.ts"],"names":[],"mappings":"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"}
@@ -176,7 +176,7 @@ class ModelSyncOperation {
176
176
  */
177
177
  unsubscribe() {
178
178
  for (const subscription of this.subscriptions) {
179
- subscription.unsubscribe();
179
+ subscription.unsubscribe?.();
180
180
  }
181
181
  this.subscriptions.length = 0;
182
182
  this.isSubscribed = false;
@@ -1 +1 @@
1
- {"version":3,"file":"model-sync-operation.js","sources":["../../src/sync/model-sync-operation.ts"],"sourcesContent":[null],"names":["DEFAULT_MAX_SYNC_DEPTH","events","getModelUpdatedEvent","getModelDeletedEvent","syncManager","SyncManager"],"mappings":"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"}
1
+ {"version":3,"file":"model-sync-operation.js","sources":["../../src/sync/model-sync-operation.ts"],"sourcesContent":[null],"names":["DEFAULT_MAX_SYNC_DEPTH","events","getModelUpdatedEvent","getModelDeletedEvent","syncManager","SyncManager"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"connect-to-database.d.ts","sourceRoot":"","sources":["../../src/utils/connect-to-database.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGxD,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IAEpC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IAE3C;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IAE3C;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,MAAM,iBAAiB,CAAC,cAAc,GAAG,GAAG,EAAE,cAAc,GAAG,GAAG,IAAI;IAK1E;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAMjB;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAMpB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;IAM/B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;IAM/B;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAMlC;;;;;;;;;OASG;IACH,qBAAqB,CAAC,EAAE,cAAc,CAAC;IAEvC;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAsB,iBAAiB,CAAC,cAAc,GAAG,GAAG,EAAE,cAAc,GAAG,GAAG,EAChF,OAAO,EAAE,iBAAiB,CAAC,cAAc,EAAE,cAAc,CAAC,GACzD,OAAO,CAAC,UAAU,CAAC,CA8DrB"}
1
+ {"version":3,"file":"connect-to-database.d.ts","sourceRoot":"","sources":["../../src/utils/connect-to-database.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAIxD,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IAEpC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IAE3C;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IAE3C;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,MAAM,iBAAiB,CAAC,cAAc,GAAG,GAAG,EAAE,cAAc,GAAG,GAAG,IAAI;IAK1E;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAMjB;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAMpB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;IAM/B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;IAM/B;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAMlC;;;;;;;;;OASG;IACH,qBAAqB,CAAC,EAAE,cAAc,CAAC;IAEvC;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAsB,iBAAiB,CAAC,cAAc,GAAG,GAAG,EAAE,cAAc,GAAG,GAAG,EAChF,OAAO,EAAE,iBAAiB,CAAC,cAAc,EAAE,cAAc,CAAC,GACzD,OAAO,CAAC,UAAU,CAAC,CA2ErB"}
@@ -1,4 +1,4 @@
1
- 'use strict';var dataSource=require('../data-source/data-source.js'),dataSourceRegistry=require('../data-source/data-source-registry.js'),mongodbDriver=require('../drivers/mongo/mongodb-driver.js');/**
1
+ 'use strict';var dataSource=require('../data-source/data-source.js'),dataSourceRegistry=require('../data-source/data-source-registry.js'),mongodbDriver=require('../drivers/mongodb/mongodb-driver.js'),postgresDriver=require('../drivers/postgres/postgres-driver.js');require('../context/database-transaction-context.js');/**
2
2
  * Connect to a database and register the data source.
3
3
  *
4
4
  * This is a high-level utility function that simplifies database connection
@@ -63,8 +63,19 @@ async function connectToDatabase(options) {
63
63
  }, options.driverOptions);
64
64
  break;
65
65
  }
66
- case "postgres":
67
- throw new Error("PostgreSQL driver is not yet implemented. Coming soon!");
66
+ case "postgres": {
67
+ driver = new postgresDriver.PostgresDriver({
68
+ database: options.database,
69
+ connectionString: options.uri,
70
+ host: options.host,
71
+ port: options.port ?? 5432,
72
+ user: options.username,
73
+ password: options.password,
74
+ // Spread any additional client options (pool settings, SSL, etc.)
75
+ ...options.clientOptions,
76
+ });
77
+ break;
78
+ }
68
79
  case "mysql":
69
80
  throw new Error("MySQL driver is not yet implemented. Coming soon!");
70
81
  default:
@@ -86,6 +97,7 @@ async function connectToDatabase(options) {
86
97
  await driver.connect();
87
98
  }
88
99
  catch (error) {
100
+ console.log(error);
89
101
  throw new Error(`Failed to connect to ${driverType} database: ${error instanceof Error ? error.message : String(error)}`);
90
102
  }
91
103
  return dataSource$1;
@@ -1 +1 @@
1
- {"version":3,"file":"connect-to-database.js","sources":["../../src/utils/connect-to-database.ts"],"sourcesContent":[null],"names":["MongoDbDriver","dataSource","DataSource","dataSourceRegistry"],"mappings":"sMA0PA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CG;AACI,eAAe,iBAAiB,CACrC,OAA0D,EAAA;;AAG1D,IAAA,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;AAC/C,IAAA,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC;AACjD,IAAA,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;;AAG5C,IAAA,IAAI,MAAsB,CAAC;AAE3B,IAAA,QAAQ,UAAU;QAChB,KAAK,SAAS,EAAE;YACd,MAAM,GAAG,IAAIA,2BAAa,CACxB;gBACE,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,aAAa,EAAE,OAAO,CAAC,aAAoB;AAC5C,aAAA,EACD,OAAO,CAAC,aAAoB,CAC7B,CAAC;YACF,MAAM;AACP,SAAA;AAED,QAAA,KAAK,UAAU;AACb,YAAA,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;AAE5E,QAAA,KAAK,OAAO;AACV,YAAA,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;AAEvE,QAAA;AACE,YAAA,MAAM,IAAI,KAAK,CACb,oBAAoB,UAAU,CAAA,8CAAA,CAAgD,CAC/E,CAAC;AACL,KAAA;;AAGD,IAAA,MAAMC,YAAU,GAAG,IAAIC,qBAAU,CAAC;AAChC,QAAA,IAAI,EAAE,cAAc;QACpB,MAAM;QACN,SAAS;QACT,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;QACpD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,aAAa,EAAE,OAAO,CAAC,YAAY;AACpC,KAAA,CAAC,CAAC;;AAGH,IAAAC,qCAAkB,CAAC,QAAQ,CAACF,YAAU,CAAC,CAAC;;IAGxC,IAAI;AACF,QAAA,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;AACxB,KAAA;AAAC,IAAA,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CACb,CAAwB,qBAAA,EAAA,UAAU,cAAc,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAE,CAAA,CACzG,CAAC;AACH,KAAA;AAED,IAAA,OAAOA,YAAU,CAAC;AACpB"}
1
+ {"version":3,"file":"connect-to-database.js","sources":["../../src/utils/connect-to-database.ts"],"sourcesContent":[null],"names":["MongoDbDriver","PostgresDriver","dataSource","DataSource","dataSourceRegistry"],"mappings":"+TA2PA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CG;AACI,eAAe,iBAAiB,CACrC,OAA0D,EAAA;;AAG1D,IAAA,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;AAC/C,IAAA,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC;AACjD,IAAA,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;;AAG5C,IAAA,IAAI,MAAsB,CAAC;AAE3B,IAAA,QAAQ,UAAU;QAChB,KAAK,SAAS,EAAE;YACd,MAAM,GAAG,IAAIA,2BAAa,CACxB;gBACE,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,aAAa,EAAE,OAAO,CAAC,aAAoB;AAC5C,aAAA,EACD,OAAO,CAAC,aAAoB,CAC7B,CAAC;YACF,MAAM;AACP,SAAA;QAED,KAAK,UAAU,EAAE;YACf,MAAM,GAAG,IAAIC,6BAAc,CAAC;gBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,gBAAgB,EAAE,OAAO,CAAC,GAAG;gBAC7B,IAAI,EAAE,OAAO,CAAC,IAAI;AAClB,gBAAA,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;gBAC1B,IAAI,EAAE,OAAO,CAAC,QAAQ;gBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;;gBAE1B,GAAI,OAAO,CAAC,aAAwB;AACrC,aAAA,CAAC,CAAC;YACH,MAAM;AACP,SAAA;AAED,QAAA,KAAK,OAAO;AACV,YAAA,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;AAEvE,QAAA;AACE,YAAA,MAAM,IAAI,KAAK,CACb,oBAAoB,UAAU,CAAA,8CAAA,CAAgD,CAC/E,CAAC;AACL,KAAA;;AAGD,IAAA,MAAMC,YAAU,GAAG,IAAIC,qBAAU,CAAC;AAChC,QAAA,IAAI,EAAE,cAAc;QACpB,MAAM;QACN,SAAS;QACT,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;QACpD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,aAAa,EAAE,OAAO,CAAC,YAAY;AACpC,KAAA,CAAC,CAAC;;AAGH,IAAAC,qCAAkB,CAAC,QAAQ,CAACF,YAAU,CAAC,CAAC;;IAGxC,IAAI;AACF,QAAA,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;AACxB,KAAA;AAAC,IAAA,OAAO,KAAK,EAAE;AACd,QAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEnB,MAAM,IAAI,KAAK,CACb,CAAwB,qBAAA,EAAA,UAAU,cAAc,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAE,CAAA,CACzG,CAAC;AACH,KAAA;AAED,IAAA,OAAOA,YAAU,CAAC;AACpB"}
@@ -153,6 +153,11 @@ export declare function defineModel<TSchema extends ModelSchema, TSchemaValidato
153
153
  isNew: boolean;
154
154
  data: Infer<TSchemaValidator>;
155
155
  readonly dirtyTracker: import("..").DatabaseDirtyTracker;
156
+ events: import("..").ModelEvents<any>;
157
+ loadedRelations: Map<string, any>;
158
+ load(...relations: string[]): Promise<any>;
159
+ isLoaded(relationName: string): boolean;
160
+ getRelation<TRelation = any>(relationName: string): TRelation;
156
161
  readonly id: number;
157
162
  get<TKey extends string>(field: TKey): Infer<TSchemaValidator>;
158
163
  get<TKey_1 extends string>(field: TKey_1, defaultValue: Infer<TSchemaValidator>): Infer<TSchemaValidator>;
@@ -184,6 +189,9 @@ export declare function defineModel<TSchema extends ModelSchema, TSchemaValidato
184
189
  getRemovedColumns(): string[];
185
190
  getDirtyColumns(): string[];
186
191
  emitEvent<TContext = unknown>(event: import("..").ModelEventName, context?: TContext): Promise<void>;
192
+ on<TContext_1 = unknown>(event: import("..").ModelEventName, listener: import("..").ModelEventListener<any, TContext_1>): () => void;
193
+ once<TContext_2 = unknown>(event: import("..").ModelEventName, listener: import("..").ModelEventListener<any, TContext_2>): () => void;
194
+ off<TContext_3 = unknown>(event: import("..").ModelEventName, listener: import("..").ModelEventListener<any, TContext_3>): void;
187
195
  destroy(options?: {
188
196
  strategy?: DeleteStrategy;
189
197
  skipEvents?: boolean;
@@ -209,6 +217,11 @@ export declare function defineModel<TSchema extends ModelSchema, TSchemaValidato
209
217
  isNew: boolean;
210
218
  data: Infer<TSchemaValidator>;
211
219
  readonly dirtyTracker: import("..").DatabaseDirtyTracker;
220
+ events: import("..").ModelEvents<any>;
221
+ loadedRelations: Map<string, any>;
222
+ load(...relations: string[]): Promise<any>;
223
+ isLoaded(relationName: string): boolean;
224
+ getRelation<TRelation = any>(relationName: string): TRelation;
212
225
  readonly id: number;
213
226
  get<TKey extends string>(field: TKey): Infer<TSchemaValidator>;
214
227
  get<TKey_1 extends string>(field: TKey_1, defaultValue: Infer<TSchemaValidator>): Infer<TSchemaValidator>;
@@ -240,6 +253,9 @@ export declare function defineModel<TSchema extends ModelSchema, TSchemaValidato
240
253
  getRemovedColumns(): string[];
241
254
  getDirtyColumns(): string[];
242
255
  emitEvent<TContext = unknown>(event: import("..").ModelEventName, context?: TContext): Promise<void>;
256
+ on<TContext_1 = unknown>(event: import("..").ModelEventName, listener: import("..").ModelEventListener<any, TContext_1>): () => void;
257
+ once<TContext_2 = unknown>(event: import("..").ModelEventName, listener: import("..").ModelEventListener<any, TContext_2>): () => void;
258
+ off<TContext_3 = unknown>(event: import("..").ModelEventName, listener: import("..").ModelEventListener<any, TContext_3>): void;
243
259
  destroy(options?: {
244
260
  strategy?: DeleteStrategy;
245
261
  skipEvents?: boolean;
@@ -304,6 +320,7 @@ export declare function defineModel<TSchema extends ModelSchema, TSchemaValidato
304
320
  trashTable?: string;
305
321
  globalScopes: Map<string, import("../model/model").GlobalScopeDefinition>;
306
322
  localScopes: Map<string, import("../model/model").LocalScopeCallback>;
323
+ relations: Record<string, any>;
307
324
  getModel(name: string): import("../model/model").ChildModel<Model<ModelSchema>>;
308
325
  getAllModels(): Map<string, import("../model/model").ChildModel<Model<ModelSchema>>>;
309
326
  sync<TModel_1 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_1>, TargetModel: import("../model/model").ChildModel<Model<ModelSchema>>, targetField: string): import("..").ModelSyncOperationContract;
@@ -315,41 +332,46 @@ export declare function defineModel<TSchema extends ModelSchema, TSchemaValidato
315
332
  addScope(name: string, callback: import("../model/model").LocalScopeCallback): void;
316
333
  removeScope(name: string): void;
317
334
  query<TModel_3 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_3>): import("..").QueryBuilderContract<TModel_3>;
318
- newQueryBuilder<TModel_4 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_4>): import("..").QueryBuilderContract<TModel_4>;
319
- first<TModel_5 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_5>, filter?: Record<string, unknown>): Promise<TModel_5>;
320
- last<TModel_6 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_6>, filter?: Record<string, unknown>): Promise<TModel_6>;
321
- where<TModel_7 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_7>, field: string, value: unknown): import("..").QueryBuilderContract<TModel_7>;
322
- where<TModel_8 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_8>, field: string, operator: string, value: unknown): import("..").QueryBuilderContract<TModel_8>;
323
- where<TModel_9 extends Model<ModelSchema> = Model<ModelSchema>>(this: (new (...args: any[]) => TModel_9) & Pick<typeof Model, "table" | "getDataSource" | "query">, conditions: import("..").WhereObject): import("..").QueryBuilderContract<TModel_9>;
324
- where<TModel_10 extends Model<ModelSchema> = Model<ModelSchema>>(this: (new (...args: any[]) => TModel_10) & Pick<typeof Model, "table" | "getDataSource" | "query">, callback: import("..").WhereCallback<TModel_10>): import("..").QueryBuilderContract<TModel_10>;
325
- count<TModel_11 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_11>, filter?: Record<string, unknown>): Promise<number>;
326
- find<TModel_12 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_12>, id: string | number): Promise<TModel_12>;
327
- all<TModel_13 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_13>, filter?: Record<string, unknown>): Promise<TModel_13[]>;
328
- latest<TModel_14 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_14>, filter?: Record<string, unknown>): Promise<TModel_14[]>;
329
- increase<TModel_15 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_15>, filter: Record<string, unknown>, field: string, amount: number): Promise<number>;
330
- decrease<TModel_16 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_16>, filter: Record<string, unknown>, field: string, amount: number): Promise<number>;
331
- atomic<TModel_17 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_17>, filter: Record<string, unknown>, operations: Record<string, unknown>): Promise<number>;
332
- delete<TModel_18 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_18>, filter?: Record<string, unknown>): Promise<number>;
333
- deleteOne<TModel_19 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_19>, filter?: Record<string, unknown>): Promise<number>;
334
- restore<TModel_20 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_20>, id: string | number, options?: {
335
+ with<TModel_4 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_4>, relation: string): import("..").QueryBuilderContract<TModel_4>;
336
+ with<TModel_5 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_5>, ...relations: string[]): import("..").QueryBuilderContract<TModel_5>;
337
+ with<TModel_6 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_6>, relation: string, constraint: (query: import("..").QueryBuilderContract<unknown>) => void): import("..").QueryBuilderContract<TModel_6>;
338
+ with<TModel_7 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_7>, relations: Record<string, boolean | ((query: import("..").QueryBuilderContract<unknown>) => void)>): import("..").QueryBuilderContract<TModel_7>;
339
+ joinWith<TModel_8 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_8>, ...relations: string[]): import("..").QueryBuilderContract<TModel_8>;
340
+ newQueryBuilder<TModel_9 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_9>): import("..").QueryBuilderContract<TModel_9>;
341
+ first<TModel_10 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_10>, filter?: Record<string, unknown>): Promise<TModel_10>;
342
+ last<TModel_11 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_11>, filter?: Record<string, unknown>): Promise<TModel_11>;
343
+ where<TModel_12 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_12>, field: string, value: unknown): import("..").QueryBuilderContract<TModel_12>;
344
+ where<TModel_13 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_13>, field: string, operator: string, value: unknown): import("..").QueryBuilderContract<TModel_13>;
345
+ where<TModel_14 extends Model<ModelSchema> = Model<ModelSchema>>(this: (new (...args: any[]) => TModel_14) & Pick<typeof Model, "table" | "getDataSource" | "query">, conditions: import("..").WhereObject): import("..").QueryBuilderContract<TModel_14>;
346
+ where<TModel_15 extends Model<ModelSchema> = Model<ModelSchema>>(this: (new (...args: any[]) => TModel_15) & Pick<typeof Model, "table" | "getDataSource" | "query">, callback: import("..").WhereCallback<TModel_15>): import("..").QueryBuilderContract<TModel_15>;
347
+ count<TModel_16 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_16>, filter?: Record<string, unknown>): Promise<number>;
348
+ find<TModel_17 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_17>, id: string | number): Promise<TModel_17>;
349
+ all<TModel_18 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_18>, filter?: Record<string, unknown>): Promise<TModel_18[]>;
350
+ latest<TModel_19 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_19>, filter?: Record<string, unknown>): Promise<TModel_19[]>;
351
+ increase<TModel_20 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_20>, filter: Record<string, unknown>, field: string, amount: number): Promise<number>;
352
+ decrease<TModel_21 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_21>, filter: Record<string, unknown>, field: string, amount: number): Promise<number>;
353
+ atomic<TModel_22 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_22>, filter: Record<string, unknown>, operations: Record<string, unknown>): Promise<number>;
354
+ delete<TModel_23 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_23>, filter?: Record<string, unknown>): Promise<number>;
355
+ deleteOne<TModel_24 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_24>, filter?: Record<string, unknown>): Promise<number>;
356
+ restore<TModel_25 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_25>, id: string | number, options?: {
335
357
  onIdConflict?: "fail" | "assignNew";
336
358
  skipEvents?: boolean;
337
- }): Promise<TModel_20>;
338
- restoreAll<TModel_21 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_21>, options?: {
359
+ }): Promise<TModel_25>;
360
+ restoreAll<TModel_26 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_26>, options?: {
339
361
  onIdConflict?: "fail" | "assignNew";
340
362
  skipEvents?: boolean;
341
- }): Promise<TModel_21[]>;
342
- create<TModel_22 extends Model<ModelSchema> = Model<ModelSchema>, TSchema_1 extends ModelSchema = TModel_22 extends Model<infer S extends ModelSchema> ? S : ModelSchema>(this: import("../model/model").ChildModel<TModel_22>, data: Partial<TSchema_1>): Promise<TModel_22>;
343
- createMany<TModel_23 extends Model<ModelSchema> = Model<ModelSchema>, TSchema_2 extends ModelSchema = TModel_23 extends Model<infer S_1 extends ModelSchema> ? S_1 : ModelSchema>(this: import("../model/model").ChildModel<TModel_23>, data: Partial<TSchema_2>[]): Promise<TModel_23[]>;
344
- findOrCreate<TModel_24 extends Model<ModelSchema> = Model<ModelSchema>, TSchema_3 extends ModelSchema = TModel_24 extends Model<infer S_2 extends ModelSchema> ? S_2 : ModelSchema>(this: import("../model/model").ChildModel<TModel_24>, filter: Partial<TSchema_3>, data: Partial<TSchema_3>): Promise<TModel_24>;
345
- updateOrCreate<TModel_25 extends Model<ModelSchema> = Model<ModelSchema>, TSchema_4 extends ModelSchema = TModel_25 extends Model<infer S_3 extends ModelSchema> ? S_3 : ModelSchema>(this: import("../model/model").ChildModel<TModel_25>, filter: Partial<TSchema_4>, data: Partial<TSchema_4>): Promise<TModel_25>;
346
- events<TModel_26 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_26>): import("..").ModelEvents<TModel_26>;
363
+ }): Promise<TModel_26[]>;
364
+ create<TModel_27 extends Model<ModelSchema> = Model<ModelSchema>, TSchema_1 extends ModelSchema = TModel_27 extends Model<infer S extends ModelSchema> ? S : ModelSchema>(this: import("../model/model").ChildModel<TModel_27>, data: Partial<TSchema_1>): Promise<TModel_27>;
365
+ createMany<TModel_28 extends Model<ModelSchema> = Model<ModelSchema>, TSchema_2 extends ModelSchema = TModel_28 extends Model<infer S_1 extends ModelSchema> ? S_1 : ModelSchema>(this: import("../model/model").ChildModel<TModel_28>, data: Partial<TSchema_2>[]): Promise<TModel_28[]>;
366
+ findOrCreate<TModel_29 extends Model<ModelSchema> = Model<ModelSchema>, TSchema_3 extends ModelSchema = TModel_29 extends Model<infer S_2 extends ModelSchema> ? S_2 : ModelSchema>(this: import("../model/model").ChildModel<TModel_29>, filter: Partial<TSchema_3>, data: Partial<TSchema_3>): Promise<TModel_29>;
367
+ updateOrCreate<TModel_30 extends Model<ModelSchema> = Model<ModelSchema>, TSchema_4 extends ModelSchema = TModel_30 extends Model<infer S_3 extends ModelSchema> ? S_3 : ModelSchema>(this: import("../model/model").ChildModel<TModel_30>, filter: Partial<TSchema_4>, data: Partial<TSchema_4>): Promise<TModel_30>;
368
+ events<TModel_31 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_31>): import("..").ModelEvents<TModel_31>;
347
369
  $cleanup(): void;
348
- on<TModel_27 extends Model<ModelSchema> = Model<ModelSchema>, TContext_1 = unknown>(this: import("../model/model").ChildModel<TModel_27>, event: import("..").ModelEventName, listener: import("..").ModelEventListener<TModel_27, TContext_1>): () => void;
349
- once<TModel_28 extends Model<ModelSchema> = Model<ModelSchema>, TContext_2 = unknown>(this: import("../model/model").ChildModel<TModel_28>, event: import("..").ModelEventName, listener: import("..").ModelEventListener<TModel_28, TContext_2>): () => void;
350
- off<TModel_29 extends Model<ModelSchema> = Model<ModelSchema>, TContext_3 = unknown>(this: import("../model/model").ChildModel<TModel_29>, event: import("..").ModelEventName, listener: import("..").ModelEventListener<TModel_29, TContext_3>): void;
370
+ on<TModel_32 extends Model<ModelSchema> = Model<ModelSchema>, TContext_4 = unknown>(this: import("../model/model").ChildModel<TModel_32>, event: import("..").ModelEventName, listener: import("..").ModelEventListener<TModel_32, TContext_4>): () => void;
371
+ once<TModel_33 extends Model<ModelSchema> = Model<ModelSchema>, TContext_5 = unknown>(this: import("../model/model").ChildModel<TModel_33>, event: import("..").ModelEventName, listener: import("..").ModelEventListener<TModel_33, TContext_5>): () => void;
372
+ off<TModel_34 extends Model<ModelSchema> = Model<ModelSchema>, TContext_6 = unknown>(this: import("../model/model").ChildModel<TModel_34>, event: import("..").ModelEventName, listener: import("..").ModelEventListener<TModel_34, TContext_6>): void;
351
373
  globalEvents(): import("..").ModelEvents<Model<ModelSchema>>;
352
- deserialize<TModel_30 extends Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_30>, data: any): TModel_30;
374
+ deserialize<TModel_35 extends Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_35>, data: any): TModel_35;
353
375
  }, "new"> & TStatics;
354
376
  /**
355
377
  * Type helper to infer the schema type from a defined model.
@@ -1 +1 @@
1
- {"version":3,"file":"define-model.d.ts","sourceRoot":"","sources":["../../src/utils/define-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,OAAO,SAAS,WAAW,IAAI;IAC5D;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,MAAM,EAAE,eAAe,CAAC;IAExB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,UAAU,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE5D;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,wBAAgB,WAAW,CACzB,OAAO,SAAS,WAAW,EAC3B,gBAAgB,SAAS,eAAe,GAAG,eAAe,EAC1D,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAC5C,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAEzC,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG;IACrC,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;IACpE,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;CACtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKC;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;oBAC2B,cAAc;IAE5C;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA4BN;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,KAC1E,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,MAAM,CAAC,GACR,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACtB,CAAC,GACD,KAAK,GACP,KAAK,CAAC"}
1
+ {"version":3,"file":"define-model.d.ts","sourceRoot":"","sources":["../../src/utils/define-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,OAAO,SAAS,WAAW,IAAI;IAC5D;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,MAAM,EAAE,eAAe,CAAC;IAExB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,UAAU,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE5D;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,wBAAgB,WAAW,CACzB,OAAO,SAAS,WAAW,EAC3B,gBAAgB,SAAS,eAAe,GAAG,eAAe,EAC1D,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAC5C,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAEzC,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG;IACrC,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;IACpE,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;CACtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKC;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;oBAC2B,cAAc;IAE5C;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA4BN;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,KAC1E,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,MAAM,CAAC,GACR,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACtB,CAAC,GACD,KAAK,GACP,KAAK,CAAC"}
@@ -3,7 +3,7 @@
3
3
  defaultErrorMessage: "The :input must be a valid :model model",
4
4
  async validate(value, context) {
5
5
  if (value instanceof model.Model === false) {
6
- this.context.attributesList.model = this.context.options.model.name;
6
+ this.context.attributesList.model = this.context.options.model?.name;
7
7
  return seal.invalidRule(this, context);
8
8
  }
9
9
  return seal.VALID_RULE;
@@ -1 +1 @@
1
- {"version":3,"file":"database-model-rule.js","sources":["../../../src/validation/rules/database-model-rule.ts"],"sourcesContent":[null],"names":["Model","invalidRule","VALID_RULE","model","getModelFromRegistry"],"mappings":"+IAIa,MAAA,iBAAiB,GAAe;AAC3C,IAAA,IAAI,EAAE,gBAAgB;AACtB,IAAA,mBAAmB,EAAE,yCAAyC;AAC9D,IAAA,MAAM,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAA;AAC3B,QAAA,IAAI,KAAK,YAAYA,WAAK,KAAK,KAAK,EAAE;AACpC,YAAA,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;AACpE,YAAA,OAAOC,gBAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACnC,SAAA;AAED,QAAA,OAAOC,eAAU,CAAC;KACnB;EACD;AAEW,MAAA,kBAAkB,GAAoD;AACjF,IAAA,IAAI,EAAE,gBAAgB;AACtB,IAAA,mBAAmB,EAAE,2CAA2C;AAChE,IAAA,MAAM,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAA;QAC3B,IAAI,SAAEC,OAAK,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AACrC,QAAA,IAAI,OAAOA,OAAK,KAAK,QAAQ,EAAE;AAC7B,YAAAA,OAAK,GAAGC,kCAAoB,CAACD,OAAK,CAAE,CAAC;AACtC,SAAA;QAED,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,GAAGA,OAAK,CAAC,IAAI,CAAC;AAE/C,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;AAAE,YAAA,OAAOF,gBAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE7D,QAAA,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,YAAYD,WAAK,CAAC;AAAE,YAAA,OAAOE,eAAU,CAAC;AAEpE,QAAA,OAAOD,gBAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KACnC;"}
1
+ {"version":3,"file":"database-model-rule.js","sources":["../../../src/validation/rules/database-model-rule.ts"],"sourcesContent":[null],"names":["Model","invalidRule","VALID_RULE","model","getModelFromRegistry"],"mappings":"+IAIa,MAAA,iBAAiB,GAAe;AAC3C,IAAA,IAAI,EAAE,gBAAgB;AACtB,IAAA,mBAAmB,EAAE,yCAAyC;AAC9D,IAAA,MAAM,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAA;AAC3B,QAAA,IAAI,KAAK,YAAYA,WAAK,KAAK,KAAK,EAAE;AACpC,YAAA,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;AACrE,YAAA,OAAOC,gBAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACnC,SAAA;AAED,QAAA,OAAOC,eAAU,CAAC;KACnB;EACD;AAEW,MAAA,kBAAkB,GAAoD;AACjF,IAAA,IAAI,EAAE,gBAAgB;AACtB,IAAA,mBAAmB,EAAE,2CAA2C;AAChE,IAAA,MAAM,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAA;QAC3B,IAAI,SAAEC,OAAK,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AACrC,QAAA,IAAI,OAAOA,OAAK,KAAK,QAAQ,EAAE;AAC7B,YAAAA,OAAK,GAAGC,kCAAoB,CAACD,OAAK,CAAE,CAAC;AACtC,SAAA;QAED,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,GAAGA,OAAK,CAAC,IAAI,CAAC;AAE/C,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;AAAE,YAAA,OAAOF,gBAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE7D,QAAA,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,YAAYD,WAAK,CAAC;AAAE,YAAA,OAAOE,eAAU,CAAC;AAEpE,QAAA,OAAOD,gBAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KACnC;"}