@warlock.js/cascade 1.0.5 → 1.0.7

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 (280) hide show
  1. package/cjs/aggregate/DeselectPipeline.d.ts +10 -0
  2. package/cjs/aggregate/DeselectPipeline.d.ts.map +1 -0
  3. package/cjs/aggregate/DeselectPipeline.js +17 -0
  4. package/cjs/aggregate/DeselectPipeline.js.map +1 -0
  5. package/cjs/aggregate/GeoNearPipeline.d.ts +34 -0
  6. package/cjs/aggregate/GeoNearPipeline.d.ts.map +1 -0
  7. package/cjs/aggregate/GeoNearPipeline.js +44 -0
  8. package/cjs/aggregate/GeoNearPipeline.js.map +1 -0
  9. package/cjs/aggregate/GroupByPipeline.d.ts +12 -0
  10. package/cjs/aggregate/GroupByPipeline.d.ts.map +1 -0
  11. package/cjs/aggregate/GroupByPipeline.js +28 -0
  12. package/cjs/aggregate/GroupByPipeline.js.map +1 -0
  13. package/cjs/aggregate/LimitPipeline.d.ts +10 -0
  14. package/cjs/aggregate/LimitPipeline.d.ts.map +1 -0
  15. package/cjs/aggregate/LimitPipeline.js +14 -0
  16. package/cjs/aggregate/LimitPipeline.js.map +1 -0
  17. package/cjs/aggregate/LookupPipeline.d.ts +19 -0
  18. package/cjs/aggregate/LookupPipeline.d.ts.map +1 -0
  19. package/cjs/aggregate/LookupPipeline.js +19 -0
  20. package/cjs/aggregate/LookupPipeline.js.map +1 -0
  21. package/cjs/aggregate/OrWherePipeline.d.ts +23 -0
  22. package/cjs/aggregate/OrWherePipeline.d.ts.map +1 -0
  23. package/cjs/aggregate/OrWherePipeline.js +42 -0
  24. package/cjs/aggregate/OrWherePipeline.js.map +1 -0
  25. package/cjs/aggregate/SelectPipeline.d.ts +10 -0
  26. package/cjs/aggregate/SelectPipeline.d.ts.map +1 -0
  27. package/cjs/aggregate/SelectPipeline.js +26 -0
  28. package/cjs/aggregate/SelectPipeline.js.map +1 -0
  29. package/cjs/aggregate/SkipPipeline.d.ts +10 -0
  30. package/cjs/aggregate/SkipPipeline.d.ts.map +1 -0
  31. package/cjs/aggregate/SkipPipeline.js +14 -0
  32. package/cjs/aggregate/SkipPipeline.js.map +1 -0
  33. package/cjs/aggregate/SortByPipeline.d.ts +10 -0
  34. package/cjs/aggregate/SortByPipeline.d.ts.map +1 -0
  35. package/cjs/aggregate/SortByPipeline.js +18 -0
  36. package/cjs/aggregate/SortByPipeline.js.map +1 -0
  37. package/cjs/aggregate/SortPipeline.d.ts +11 -0
  38. package/cjs/aggregate/SortPipeline.d.ts.map +1 -0
  39. package/cjs/aggregate/SortPipeline.js +18 -0
  40. package/cjs/aggregate/SortPipeline.js.map +1 -0
  41. package/cjs/aggregate/SortRandomPipeline.d.ts +10 -0
  42. package/cjs/aggregate/SortRandomPipeline.d.ts.map +1 -0
  43. package/cjs/aggregate/SortRandomPipeline.js +16 -0
  44. package/cjs/aggregate/SortRandomPipeline.js.map +1 -0
  45. package/cjs/aggregate/UnwindPipeline.d.ts +14 -0
  46. package/cjs/aggregate/UnwindPipeline.d.ts.map +1 -0
  47. package/cjs/aggregate/UnwindPipeline.js +19 -0
  48. package/cjs/aggregate/UnwindPipeline.js.map +1 -0
  49. package/cjs/aggregate/WhereExpression.d.ts +17 -0
  50. package/cjs/aggregate/WhereExpression.d.ts.map +1 -0
  51. package/cjs/aggregate/WhereExpression.js +149 -0
  52. package/cjs/aggregate/WhereExpression.js.map +1 -0
  53. package/cjs/aggregate/WhereExpressionPipeline.d.ts +10 -0
  54. package/cjs/aggregate/WhereExpressionPipeline.d.ts.map +1 -0
  55. package/cjs/aggregate/WhereExpressionPipeline.js +15 -0
  56. package/cjs/aggregate/WhereExpressionPipeline.js.map +1 -0
  57. package/cjs/aggregate/WherePipeline.d.ts +13 -0
  58. package/cjs/aggregate/WherePipeline.d.ts.map +1 -0
  59. package/cjs/aggregate/WherePipeline.js +12 -0
  60. package/cjs/aggregate/WherePipeline.js.map +1 -0
  61. package/cjs/aggregate/aggregate.d.ts +358 -0
  62. package/cjs/aggregate/aggregate.d.ts.map +1 -0
  63. package/cjs/aggregate/aggregate.js +680 -0
  64. package/cjs/aggregate/aggregate.js.map +1 -0
  65. package/cjs/aggregate/expressions.d.ts +361 -0
  66. package/cjs/aggregate/expressions.d.ts.map +1 -0
  67. package/cjs/aggregate/expressions.js +536 -0
  68. package/cjs/aggregate/expressions.js.map +1 -0
  69. package/cjs/aggregate/index.d.ts +21 -0
  70. package/cjs/aggregate/index.d.ts.map +1 -0
  71. package/cjs/aggregate/parsePipelines.d.ts +5 -0
  72. package/cjs/aggregate/parsePipelines.d.ts.map +1 -0
  73. package/cjs/aggregate/parsePipelines.js +6 -0
  74. package/cjs/aggregate/parsePipelines.js.map +1 -0
  75. package/cjs/aggregate/pipeline.d.ts +31 -0
  76. package/cjs/aggregate/pipeline.d.ts.map +1 -0
  77. package/cjs/aggregate/pipeline.js +42 -0
  78. package/cjs/aggregate/pipeline.js.map +1 -0
  79. package/cjs/aggregate/types.d.ts +8 -0
  80. package/cjs/aggregate/types.d.ts.map +1 -0
  81. package/cjs/aggregate/types.js +31 -0
  82. package/cjs/aggregate/types.js.map +1 -0
  83. package/cjs/blueprint/blueprint-column.d.ts +82 -0
  84. package/cjs/blueprint/blueprint-column.d.ts.map +1 -0
  85. package/cjs/blueprint/blueprint.d.ts +162 -0
  86. package/cjs/blueprint/blueprint.d.ts.map +1 -0
  87. package/cjs/blueprint/blueprint.js +340 -0
  88. package/cjs/blueprint/blueprint.js.map +1 -0
  89. package/cjs/blueprint/index.d.ts +3 -0
  90. package/cjs/blueprint/index.d.ts.map +1 -0
  91. package/cjs/blueprint/model-blueprint.d.ts +15 -0
  92. package/cjs/blueprint/model-blueprint.d.ts.map +1 -0
  93. package/cjs/blueprint/model-blueprint.js +16 -0
  94. package/cjs/blueprint/model-blueprint.js.map +1 -0
  95. package/cjs/casts/arrayOf.d.ts +5 -0
  96. package/cjs/casts/arrayOf.d.ts.map +1 -0
  97. package/cjs/casts/arrayOf.js +18 -0
  98. package/cjs/casts/arrayOf.js.map +1 -0
  99. package/cjs/casts/cast-email.d.ts +2 -0
  100. package/cjs/casts/cast-email.d.ts.map +1 -0
  101. package/cjs/casts/cast-email.js +5 -0
  102. package/cjs/casts/cast-email.js.map +1 -0
  103. package/cjs/casts/castModel.d.ts +3 -0
  104. package/cjs/casts/castModel.d.ts.map +1 -0
  105. package/cjs/casts/castModel.js +49 -0
  106. package/cjs/casts/castModel.js.map +1 -0
  107. package/cjs/casts/expiresAfter.d.ts +3 -0
  108. package/cjs/casts/expiresAfter.d.ts.map +1 -0
  109. package/cjs/casts/expiresAfter.js +5 -0
  110. package/cjs/casts/expiresAfter.js.map +1 -0
  111. package/cjs/casts/index.d.ts +9 -0
  112. package/cjs/casts/index.d.ts.map +1 -0
  113. package/cjs/casts/oneOf.d.ts +3 -0
  114. package/cjs/casts/oneOf.d.ts.map +1 -0
  115. package/cjs/casts/oneOf.js +22 -0
  116. package/cjs/casts/oneOf.js.map +1 -0
  117. package/cjs/casts/random-string.d.ts +2 -0
  118. package/cjs/casts/random-string.d.ts.map +1 -0
  119. package/cjs/casts/random-string.js +5 -0
  120. package/cjs/casts/random-string.js.map +1 -0
  121. package/cjs/casts/randomInteger.d.ts +2 -0
  122. package/cjs/casts/randomInteger.d.ts.map +1 -0
  123. package/cjs/casts/randomInteger.js +7 -0
  124. package/cjs/casts/randomInteger.js.map +1 -0
  125. package/cjs/casts/shapedArray.d.ts +26 -0
  126. package/cjs/casts/shapedArray.d.ts.map +1 -0
  127. package/cjs/casts/shapedArray.js +100 -0
  128. package/cjs/casts/shapedArray.js.map +1 -0
  129. package/cjs/config.d.ts +4 -0
  130. package/cjs/config.d.ts.map +1 -0
  131. package/cjs/config.js +10 -0
  132. package/cjs/config.js.map +1 -0
  133. package/cjs/connection.d.ts +45 -0
  134. package/cjs/connection.d.ts.map +1 -0
  135. package/cjs/connection.js +98 -0
  136. package/cjs/connection.js.map +1 -0
  137. package/cjs/database.d.ts +49 -0
  138. package/cjs/database.d.ts.map +1 -0
  139. package/cjs/database.js +85 -0
  140. package/cjs/database.js.map +1 -0
  141. package/cjs/index.d.ts +11 -1
  142. package/cjs/index.d.ts.map +1 -1
  143. package/cjs/index.js +1 -5
  144. package/cjs/index.js.map +1 -1
  145. package/cjs/migration/index.d.ts +4 -0
  146. package/cjs/migration/index.d.ts.map +1 -0
  147. package/cjs/migration/migrate.d.ts +13 -0
  148. package/cjs/migration/migrate.d.ts.map +1 -0
  149. package/cjs/migration/migrate.js +72 -0
  150. package/cjs/migration/migrate.js.map +1 -0
  151. package/cjs/migration/migration-office.d.ts +21 -0
  152. package/cjs/migration/migration-office.d.ts.map +1 -0
  153. package/cjs/migration/migration-office.js +40 -0
  154. package/cjs/migration/migration-office.js.map +1 -0
  155. package/cjs/migration/migration-officer.d.ts +33 -0
  156. package/cjs/migration/migration-officer.d.ts.map +1 -0
  157. package/cjs/migration/migration-officer.js +55 -0
  158. package/cjs/migration/migration-officer.js.map +1 -0
  159. package/cjs/migration/types.d.ts +34 -0
  160. package/cjs/migration/types.d.ts.map +1 -0
  161. package/cjs/model/ModelAggregate.d.ts +84 -0
  162. package/cjs/model/ModelAggregate.d.ts.map +1 -0
  163. package/cjs/model/ModelAggregate.js +164 -0
  164. package/cjs/model/ModelAggregate.js.map +1 -0
  165. package/cjs/model/ModelSync.d.ts +74 -0
  166. package/cjs/model/ModelSync.d.ts.map +1 -0
  167. package/cjs/model/ModelSync.js +215 -0
  168. package/cjs/model/ModelSync.js.map +1 -0
  169. package/cjs/model/RelationshipWithMany.d.ts +24 -0
  170. package/cjs/model/RelationshipWithMany.d.ts.map +1 -0
  171. package/cjs/model/RelationshipWithMany.js +42 -0
  172. package/cjs/model/RelationshipWithMany.js.map +1 -0
  173. package/cjs/model/base-model.d.ts +155 -0
  174. package/cjs/model/base-model.d.ts.map +1 -0
  175. package/cjs/model/base-model.js +230 -0
  176. package/cjs/model/base-model.js.map +1 -0
  177. package/cjs/model/crud-model.d.ts +117 -0
  178. package/cjs/model/crud-model.d.ts.map +1 -0
  179. package/cjs/model/crud-model.js +352 -0
  180. package/cjs/model/crud-model.js.map +1 -0
  181. package/cjs/model/index.d.ts +10 -0
  182. package/cjs/model/index.d.ts.map +1 -0
  183. package/cjs/model/joinable.d.ts +87 -0
  184. package/cjs/model/joinable.d.ts.map +1 -0
  185. package/cjs/model/joinable.js +155 -0
  186. package/cjs/model/joinable.js.map +1 -0
  187. package/cjs/model/master-mind.d.ts +44 -0
  188. package/cjs/model/master-mind.d.ts.map +1 -0
  189. package/cjs/model/master-mind.js +129 -0
  190. package/cjs/model/master-mind.js.map +1 -0
  191. package/cjs/model/model-events.d.ts +57 -0
  192. package/cjs/model/model-events.d.ts.map +1 -0
  193. package/cjs/model/model-events.js +102 -0
  194. package/cjs/model/model-events.js.map +1 -0
  195. package/cjs/model/model.d.ts +401 -0
  196. package/cjs/model/model.d.ts.map +1 -0
  197. package/cjs/model/model.js +1028 -0
  198. package/cjs/model/model.js.map +1 -0
  199. package/cjs/model/types.d.ts +113 -0
  200. package/cjs/model/types.d.ts.map +1 -0
  201. package/cjs/model/types.js +11 -0
  202. package/cjs/model/types.js.map +1 -0
  203. package/cjs/query/index.d.ts +2 -0
  204. package/cjs/query/index.d.ts.map +1 -0
  205. package/cjs/query/query.d.ts +228 -0
  206. package/cjs/query/query.d.ts.map +1 -0
  207. package/cjs/query/query.js +675 -0
  208. package/cjs/query/query.js.map +1 -0
  209. package/cjs/query/types.d.ts +56 -0
  210. package/cjs/query/types.d.ts.map +1 -0
  211. package/cjs/types.d.ts +62 -0
  212. package/cjs/types.d.ts.map +1 -0
  213. package/cjs/utils/connectToDatabase.d.ts +3 -0
  214. package/cjs/utils/connectToDatabase.d.ts.map +1 -0
  215. package/cjs/utils/connectToDatabase.js +3 -0
  216. package/cjs/utils/connectToDatabase.js.map +1 -0
  217. package/cjs/utils/deep-diff.d.ts +9 -0
  218. package/cjs/utils/deep-diff.d.ts.map +1 -0
  219. package/cjs/utils/deep-diff.js +44 -0
  220. package/cjs/utils/deep-diff.js.map +1 -0
  221. package/cjs/utils/dropAllDatabaseIndexes.d.ts +2 -0
  222. package/cjs/utils/dropAllDatabaseIndexes.d.ts.map +1 -0
  223. package/cjs/utils/dropAllDatabaseIndexes.js +10 -0
  224. package/cjs/utils/dropAllDatabaseIndexes.js.map +1 -0
  225. package/cjs/utils/index.d.ts +5 -0
  226. package/cjs/utils/index.d.ts.map +1 -0
  227. package/cjs/utils/joinable-proxy.d.ts +3 -0
  228. package/cjs/utils/joinable-proxy.d.ts.map +1 -0
  229. package/cjs/utils/joinable-proxy.js +14 -0
  230. package/cjs/utils/joinable-proxy.js.map +1 -0
  231. package/cjs/utils/listDatabaseIndexes.d.ts +4 -0
  232. package/cjs/utils/listDatabaseIndexes.d.ts.map +1 -0
  233. package/cjs/utils/listDatabaseIndexes.js +101 -0
  234. package/cjs/utils/listDatabaseIndexes.js.map +1 -0
  235. package/cjs/utils/onceConnected.d.ts +2 -0
  236. package/cjs/utils/onceConnected.d.ts.map +1 -0
  237. package/cjs/utils/onceConnected.js +8 -0
  238. package/cjs/utils/onceConnected.js.map +1 -0
  239. package/esm/connection.js +1 -1
  240. package/esm/connection.js.map +1 -1
  241. package/esm/utils/deep-diff.d.ts.map +1 -1
  242. package/esm/utils/deep-diff.js +5 -3
  243. package/esm/utils/deep-diff.js.map +1 -1
  244. package/package.json +1 -1
  245. package/cjs/commands/create-new-app/get-app-path.d.ts +0 -2
  246. package/cjs/commands/create-new-app/get-app-path.d.ts.map +0 -1
  247. package/cjs/commands/create-new-app/get-app-path.js +0 -8
  248. package/cjs/commands/create-new-app/get-app-path.js.map +0 -1
  249. package/cjs/commands/create-new-app/index.d.ts +0 -2
  250. package/cjs/commands/create-new-app/index.d.ts.map +0 -1
  251. package/cjs/commands/create-new-app/index.js +0 -44
  252. package/cjs/commands/create-new-app/index.js.map +0 -1
  253. package/cjs/commands/create-new-app/select-app-type.d.ts +0 -2
  254. package/cjs/commands/create-new-app/select-app-type.d.ts.map +0 -1
  255. package/cjs/commands/create-new-app/types.d.ts +0 -9
  256. package/cjs/commands/create-new-app/types.d.ts.map +0 -1
  257. package/cjs/commands/create-warlock-app/index.d.ts +0 -3
  258. package/cjs/commands/create-warlock-app/index.d.ts.map +0 -1
  259. package/cjs/commands/create-warlock-app/index.js +0 -18
  260. package/cjs/commands/create-warlock-app/index.js.map +0 -1
  261. package/cjs/helpers/app.d.ts +0 -51
  262. package/cjs/helpers/app.d.ts.map +0 -1
  263. package/cjs/helpers/app.js +0 -127
  264. package/cjs/helpers/app.js.map +0 -1
  265. package/cjs/helpers/exec.d.ts +0 -10
  266. package/cjs/helpers/exec.d.ts.map +0 -1
  267. package/cjs/helpers/exec.js +0 -69
  268. package/cjs/helpers/exec.js.map +0 -1
  269. package/cjs/helpers/package-manager.d.ts +0 -6
  270. package/cjs/helpers/package-manager.d.ts.map +0 -1
  271. package/cjs/helpers/package-manager.js +0 -22
  272. package/cjs/helpers/package-manager.js.map +0 -1
  273. package/cjs/helpers/paths.d.ts +0 -4
  274. package/cjs/helpers/paths.d.ts.map +0 -1
  275. package/cjs/helpers/paths.js +0 -8
  276. package/cjs/helpers/paths.js.map +0 -1
  277. package/cjs/helpers/project-builder-helpers.d.ts +0 -7
  278. package/cjs/helpers/project-builder-helpers.d.ts.map +0 -1
  279. package/cjs/helpers/project-builder-helpers.js +0 -44
  280. package/cjs/helpers/project-builder-helpers.js.map +0 -1
@@ -0,0 +1,155 @@
1
+ import { type Database } from "../database";
2
+ import type { Model } from "./model";
3
+ import { ModelEvents } from "./model-events";
4
+ import type { FactoryCreatorCallback } from "./types";
5
+ import { ModelDeleteStrategy, type ChildModel, type Document } from "./types";
6
+ export declare abstract class BaseModel {
7
+ /**
8
+ * Collection Name
9
+ */
10
+ static collection: string;
11
+ /**
12
+ * Connection instance
13
+ */
14
+ static database: Database;
15
+ /**
16
+ * Model associated output
17
+ */
18
+ static output?: any;
19
+ /**
20
+ * Missing key symbol
21
+ */
22
+ static MISSING_KEY: symbol;
23
+ /**
24
+ * Define the initial value of the id
25
+ */
26
+ static initialId?: number;
27
+ /**
28
+ * Define the amount to eb incremented by for the next generated id
29
+ */
30
+ static incrementIdBy?: number;
31
+ /**
32
+ * Primary id column
33
+ */
34
+ static get primaryIdColumn(): string;
35
+ /**
36
+ * A flag to determine whether to auto generate id on insertion or not
37
+ *
38
+ * @default true
39
+ */
40
+ static autoGenerateId: boolean;
41
+ /**
42
+ * Query instance
43
+ */
44
+ static query: import("../query/query").Query;
45
+ /**
46
+ * Define the delete method
47
+ *
48
+ * @default true
49
+ */
50
+ static deleteStrategy: ModelDeleteStrategy;
51
+ /**
52
+ * Items per page
53
+ */
54
+ static perPage: number;
55
+ /**
56
+ * If set to true, then only the original data and the data in the casts property will be saved
57
+ * If set to false, all data will be saved
58
+ */
59
+ static isStrict: boolean;
60
+ /**
61
+ * Get increment id by
62
+ */
63
+ static getIncrementIdBy(): any;
64
+ /**
65
+ * Get initial id
66
+ */
67
+ static getInitialId(): any;
68
+ /**
69
+ * Generate next id
70
+ */
71
+ static genNextId(): Promise<number>;
72
+ /**
73
+ * Get last id of current model
74
+ */
75
+ static getLastId(): Promise<number>;
76
+ /**
77
+ * Get an instance of child class
78
+ */
79
+ protected static self(data: Document): any;
80
+ /**
81
+ * Get collection name
82
+ */
83
+ getCollection(): string;
84
+ /**
85
+ * Get collection query
86
+ */
87
+ getQuery(): any;
88
+ /**
89
+ * Get database instance
90
+ */
91
+ getDatabase(): Database;
92
+ /**
93
+ * Get static property
94
+ */
95
+ getStaticProperty(property: keyof typeof BaseModel): any;
96
+ /**
97
+ * Prepare model for response
98
+ */
99
+ toJSON(): Promise<any>;
100
+ /**
101
+ * Get current output instance
102
+ */
103
+ getOutput(data?: Document): any;
104
+ /**
105
+ * Get model events instance
106
+ */
107
+ static events<T extends Model>(this: ChildModel<T>): ModelEvents;
108
+ /**
109
+ * Get model events for current model
110
+ */
111
+ getModelEvents(): ModelEvents;
112
+ /**
113
+ * Get base model events
114
+ */
115
+ getBaseModelEvents(): ModelEvents;
116
+ /**
117
+ * Get model blueprint
118
+ */
119
+ static blueprint(): import("../blueprint/model-blueprint").ModelBlueprint;
120
+ /**
121
+ * Define what columns should be embedded when model document is embedded in another document.
122
+ */
123
+ static embedOnly(...columns: string[]): {
124
+ model: typeof BaseModel;
125
+ embeddedKey: string[];
126
+ };
127
+ /**
128
+ * Define the embedded getter key to be used when embedding the model
129
+ */
130
+ static embed(key: string | string[]): {
131
+ model: typeof BaseModel;
132
+ embeddedKey: string | string[];
133
+ };
134
+ /**
135
+ * Embed only id
136
+ */
137
+ static get embedOnlyId(): {
138
+ model: typeof BaseModel;
139
+ embeddedKey: string;
140
+ };
141
+ /**
142
+ * Document Factory
143
+ */
144
+ protected static documentFactory: FactoryCreatorCallback;
145
+ /**
146
+ * Get user factory
147
+ */
148
+ static get factory(): {
149
+ /**
150
+ * Create documents based on the given number of records
151
+ */
152
+ create: (size: number, recordCallback?: FactoryCreatorCallback) => Promise<void>;
153
+ };
154
+ }
155
+ //# sourceMappingURL=base-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-model.d.ts","sourceRoot":"","sources":["../../src/model/base-model.ts"],"names":[],"mappings":"AAGA,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAe9E,8BAAsB,SAAS;IAC7B;;OAEG;IACH,OAAc,UAAU,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,OAAc,QAAQ,EAAE,QAAQ,CAAY;IAE5C;;OAEG;IACH,OAAc,MAAM,CAAC,EAAE,GAAG,CAAC;IAE3B;;OAEG;IACH,OAAc,WAAW,SAAyB;IAElD;;OAEG;IACH,OAAc,SAAS,CAAC,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,OAAc,aAAa,CAAC,EAAE,MAAM,CAAC;IAErC;;OAEG;IACH,WAAkB,eAAe,WAEhC;IAED;;;;OAIG;IACH,OAAc,cAAc,UAAQ;IAEpC;;OAEG;IACH,OAAc,KAAK,iCAAS;IAE5B;;;;OAIG;IACH,OAAc,cAAc,EAAE,mBAAmB,CACf;IAElC;;OAEG;IACH,OAAc,OAAO,SAAM;IAE3B;;;OAGG;IACH,OAAc,QAAQ,UAAQ;IAE9B;;OAEG;WACW,gBAAgB;IAc9B;;OAEG;WACW,YAAY;IAc1B;;OAEG;WACiB,SAAS;IAQ7B;;OAEG;WACiB,SAAS;IAI7B;;OAEG;IACH,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ;IAIpC;;OAEG;IACI,aAAa,IAAI,MAAM;IAI9B;;OAEG;IACI,QAAQ;IAIf;;OAEG;IACI,WAAW,IAAI,QAAQ;IAI9B;;OAEG;IACI,iBAAiB,CAAC,QAAQ,EAAE,MAAM,OAAO,SAAS;IAIzD;;OAEG;IACU,MAAM;IAcnB;;OAEG;IACI,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ;IAOhC;;OAEG;WACW,MAAM,CAAC,CAAC,SAAS,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAIzD;;OAEG;IACI,cAAc;IAIrB;;OAEG;IACI,kBAAkB;IAIzB;;OAEG;WACW,SAAS;IAIvB;;OAEG;WACW,SAAS,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE;;;;IAO5C;;OAEG;WACW,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE;;;;IAO1C;;OAEG;IACH,WAAkB,WAAW;;;MAK5B;IAED;;OAEG;IACH,SAAS,CAAC,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAOtD;IAEF;;OAEG;IACH,WAAkB,OAAO;QAErB;;WAEG;uBAEK,MAAM,mBACI,sBAAsB;MAO3C;CACF"}
@@ -0,0 +1,230 @@
1
+ 'use strict';var faker=require('@faker-js/faker'),reinforcements=require('@mongez/reinforcements'),modelBlueprint=require('../blueprint/model-blueprint.js'),database=require('../database.js'),query=require('../query/query.js'),masterMind=require('./master-mind.js'),modelEvents$1=require('./model-events.js'),types=require('./types.js');const modelEvents = new Map();
2
+ const getModelEvent = (collection) => {
3
+ let eventsInstance = modelEvents.get(collection);
4
+ if (!eventsInstance) {
5
+ eventsInstance = new modelEvents$1.ModelEvents(collection);
6
+ modelEvents.set(collection, eventsInstance);
7
+ }
8
+ return eventsInstance;
9
+ };
10
+ class BaseModel {
11
+ /**
12
+ * Collection Name
13
+ */
14
+ static collection;
15
+ /**
16
+ * Connection instance
17
+ */
18
+ static database = database.database;
19
+ /**
20
+ * Model associated output
21
+ */
22
+ static output;
23
+ /**
24
+ * Missing key symbol
25
+ */
26
+ static MISSING_KEY = Symbol("MISSING_KEY");
27
+ /**
28
+ * Define the initial value of the id
29
+ */
30
+ static initialId;
31
+ /**
32
+ * Define the amount to eb incremented by for the next generated id
33
+ */
34
+ static incrementIdBy;
35
+ /**
36
+ * Primary id column
37
+ */
38
+ static get primaryIdColumn() {
39
+ return "id";
40
+ }
41
+ /**
42
+ * A flag to determine whether to auto generate id on insertion or not
43
+ *
44
+ * @default true
45
+ */
46
+ static autoGenerateId = true;
47
+ /**
48
+ * Query instance
49
+ */
50
+ static query = query.query;
51
+ /**
52
+ * Define the delete method
53
+ *
54
+ * @default true
55
+ */
56
+ static deleteStrategy = types.ModelDeleteStrategy.moveToTrash;
57
+ /**
58
+ * Items per page
59
+ */
60
+ static perPage = 15;
61
+ /**
62
+ * If set to true, then only the original data and the data in the casts property will be saved
63
+ * If set to false, all data will be saved
64
+ */
65
+ static isStrict = true;
66
+ /**
67
+ * Get increment id by
68
+ */
69
+ static getIncrementIdBy() {
70
+ if (this.incrementIdBy)
71
+ return this.incrementIdBy;
72
+ const modelConfigurations = database.database.connection.configurations?.model || {};
73
+ const autoIncrementBy = modelConfigurations.autoIncrementBy;
74
+ if (autoIncrementBy)
75
+ return autoIncrementBy;
76
+ if (modelConfigurations.randomIncrement)
77
+ return reinforcements.Random.int(1, 999);
78
+ return 1;
79
+ }
80
+ /**
81
+ * Get initial id
82
+ */
83
+ static getInitialId() {
84
+ if (this.initialId)
85
+ return this.initialId;
86
+ const modelConfigurations = database.database.connection.configurations?.model || {};
87
+ const initialId = modelConfigurations.initialId;
88
+ if (initialId)
89
+ return initialId;
90
+ if (modelConfigurations.randomInitialId)
91
+ return reinforcements.Random.int(10000, 499999);
92
+ return 1;
93
+ }
94
+ /**
95
+ * Generate next id
96
+ */
97
+ static async genNextId() {
98
+ return await masterMind.masterMind.generateNextId(this.collection, this.getIncrementIdBy(), this.getInitialId());
99
+ }
100
+ /**
101
+ * Get last id of current model
102
+ */
103
+ static async getLastId() {
104
+ return await masterMind.masterMind.getLastId(this.collection);
105
+ }
106
+ /**
107
+ * Get an instance of child class
108
+ */
109
+ static self(data) {
110
+ return new this(data);
111
+ }
112
+ /**
113
+ * Get collection name
114
+ */
115
+ getCollection() {
116
+ return this.getStaticProperty("collection");
117
+ }
118
+ /**
119
+ * Get collection query
120
+ */
121
+ getQuery() {
122
+ return this.getStaticProperty("query");
123
+ }
124
+ /**
125
+ * Get database instance
126
+ */
127
+ getDatabase() {
128
+ return this.getStaticProperty("database");
129
+ }
130
+ /**
131
+ * Get static property
132
+ */
133
+ getStaticProperty(property) {
134
+ return this.constructor[property];
135
+ }
136
+ /**
137
+ * Prepare model for response
138
+ */
139
+ async toJSON() {
140
+ // get static output class
141
+ const Output = this.getStaticProperty("output");
142
+ // if the model has a Output class
143
+ if (Output) {
144
+ // then return the Output instance and call `toJSON` method
145
+ return await new Output(reinforcements.clone(this.data)).toJSON();
146
+ }
147
+ // otherwise return the data object
148
+ return this.publicData;
149
+ }
150
+ /**
151
+ * Get current output instance
152
+ */
153
+ getOutput(data) {
154
+ // get static output class
155
+ const Output = this.getStaticProperty("output");
156
+ return Output ? new Output(data) : data;
157
+ }
158
+ /**
159
+ * Get model events instance
160
+ */
161
+ static events() {
162
+ return getModelEvent(this.collection ?? "__baseModel__");
163
+ }
164
+ /**
165
+ * Get model events for current model
166
+ */
167
+ getModelEvents() {
168
+ return getModelEvent(this.getCollection());
169
+ }
170
+ /**
171
+ * Get base model events
172
+ */
173
+ getBaseModelEvents() {
174
+ return getModelEvent("__baseModel__");
175
+ }
176
+ /**
177
+ * Get model blueprint
178
+ */
179
+ static blueprint() {
180
+ return modelBlueprint.modelBlueprint(this);
181
+ }
182
+ /**
183
+ * Define what columns should be embedded when model document is embedded in another document.
184
+ */
185
+ static embedOnly(...columns) {
186
+ return {
187
+ model: this,
188
+ embeddedKey: columns,
189
+ };
190
+ }
191
+ /**
192
+ * Define the embedded getter key to be used when embedding the model
193
+ */
194
+ static embed(key) {
195
+ return {
196
+ model: this,
197
+ embeddedKey: key,
198
+ };
199
+ }
200
+ /**
201
+ * Embed only id
202
+ */
203
+ static get embedOnlyId() {
204
+ return {
205
+ model: this,
206
+ embeddedKey: "onlyId",
207
+ };
208
+ }
209
+ /**
210
+ * Document Factory
211
+ */
212
+ static documentFactory = (_faker, _index) => {
213
+ throw new Error("Document factory is not defined, pass a callback to `factory.create` method or define `documentFactory` method in the model class");
214
+ };
215
+ /**
216
+ * Get user factory
217
+ */
218
+ static get factory() {
219
+ return {
220
+ /**
221
+ * Create documents based on the given number of records
222
+ */
223
+ create: async (size, recordCallback = this.documentFactory) => {
224
+ for (let i = 0; i < size; i++) {
225
+ await this.create(recordCallback(faker.faker, i));
226
+ }
227
+ },
228
+ };
229
+ }
230
+ }exports.BaseModel=BaseModel;//# sourceMappingURL=base-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-model.js","sources":["../../src/model/base-model.ts"],"sourcesContent":[null],"names":["ModelEvents","database","query","ModelDeleteStrategy","Random","masterMind","clone","modelBlueprint","faker"],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ import { BaseModel } from "./base-model";
2
+ import type { ChildModel, ChunkCallback, Document, Filter, FindOrCreateOptions, PaginationListing, PrimaryIdType } from "./types";
3
+ export declare abstract class CrudModel extends BaseModel {
4
+ /**
5
+ * Create a new record in the database for the current model (child class of this one)
6
+ * and return a new instance of it with the created data and the new generated id
7
+ */
8
+ static create<T>(this: ChildModel<T>, data: Document): Promise<T>;
9
+ /**
10
+ * Called before creating a new record
11
+ */
12
+ protected beforeCreating<T>(this: ChildModel<T>, _data: Document): Promise<void>;
13
+ /**
14
+ * Called after creating a new record
15
+ */
16
+ protected onCreate<T>(this: ChildModel<T>): Promise<void>;
17
+ /**
18
+ * Update model by the given id
19
+ */
20
+ static update<T>(this: ChildModel<T>, id: PrimaryIdType, data: Document): Promise<T | null>;
21
+ /**
22
+ * Replace the entire document for the given document id with the given new data
23
+ */
24
+ static replace<T>(this: ChildModel<T>, id: PrimaryIdType, data: Document): Promise<T | null>;
25
+ /**
26
+ * Restore the document from trash
27
+ */
28
+ static restore<T>(this: ChildModel<T>, id: PrimaryIdType): Promise<T | null>;
29
+ /**
30
+ * Restore all documents from trash or by the given filter
31
+ */
32
+ static restoreAll<T>(this: ChildModel<T>, filter?: Filter): Promise<any>;
33
+ /**
34
+ * Get deleted document by id
35
+ */
36
+ static getDeleted<T>(this: ChildModel<T>, id: PrimaryIdType): Promise<T | null>;
37
+ /**
38
+ * Get all deleted documents
39
+ */
40
+ static getAllDeleted<T>(this: ChildModel<T>, filter?: Filter): Promise<any>;
41
+ /**
42
+ * Find and update the document for the given filter with the given data or create a new document/record
43
+ * if filter has no matching
44
+ */
45
+ static upsert<T>(this: ChildModel<T>, filter: Filter, data: Document): Promise<T>;
46
+ /**
47
+ * Find document by id
48
+ */
49
+ static find<T>(this: ChildModel<T>, id: PrimaryIdType): Promise<T>;
50
+ /**
51
+ * Find document by the given column and value
52
+ */
53
+ static findBy<T>(this: ChildModel<T>, column: string, value: any): Promise<T | null>;
54
+ /**
55
+ * Create an explain plan for the given filter
56
+ */
57
+ static explain<T>(this: ChildModel<T>, filter?: Filter): Promise<any>;
58
+ /**
59
+ * List multiple documents based on the given filter
60
+ */
61
+ static list<T>(this: ChildModel<T>, filter?: Filter): Promise<T[]>;
62
+ /**
63
+ * Paginate records based on the given filter
64
+ */
65
+ static paginate<T>(this: ChildModel<T>, filter: Filter, page?: number, limit?: number): Promise<PaginationListing<T>>;
66
+ /**
67
+ * Find or create a new document based on the given filter and data
68
+ * If the document is not found, it will be created
69
+ * otherwise, just return the found document
70
+ */
71
+ static findOrCreate<T>(this: ChildModel<T>, filter: Filter, data: Document, { merge }?: FindOrCreateOptions): Promise<T>;
72
+ /**
73
+ * Update or create a new document based on the given filter and data
74
+ */
75
+ static updateOrCreate<T>(this: ChildModel<T>, filter: Filter, data: Document): Promise<T>;
76
+ /**
77
+ * Count total documents based on the given filter
78
+ */
79
+ static count(filter?: Filter): Promise<any>;
80
+ /**
81
+ * Get first model for the given filter
82
+ */
83
+ static first<T>(this: ChildModel<T>, filter?: Filter): Promise<T | null>;
84
+ /**
85
+ * Get last model for the given filter
86
+ */
87
+ static last<T>(this: ChildModel<T>, filter?: Filter): Promise<T | null>;
88
+ /**
89
+ * Get latest documents
90
+ */
91
+ static latest<T>(this: ChildModel<T>, filter?: Filter): Promise<T[]>;
92
+ /**
93
+ * Delete single document if the given filter is an ObjectId of mongodb
94
+ * Otherwise, delete multiple documents based on the given filter object
95
+ */
96
+ static delete<T>(this: ChildModel<T>, filter?: PrimaryIdType | Filter): Promise<number>;
97
+ /**
98
+ * Chunk the documents
99
+ */
100
+ static chunk<T>(this: ChildModel<T>, limit: number, callback: ChunkCallback<T>): Promise<void>;
101
+ static chunk<T>(this: ChildModel<T>, filter: Filter & {
102
+ limit: number;
103
+ }, callback: ChunkCallback<T>): Promise<void>;
104
+ /**
105
+ * Check if document exists for the given filter
106
+ */
107
+ static exists<T>(this: ChildModel<T>, filter?: Filter): Promise<boolean>;
108
+ /**
109
+ * Get distinct values for the given column
110
+ */
111
+ static distinct<T>(this: ChildModel<T>, column: string, filter?: Filter): Promise<any[]>;
112
+ /**
113
+ * Prepare filters
114
+ */
115
+ protected static prepareFilters(filters?: Filter): Promise<Filter>;
116
+ }
117
+ //# sourceMappingURL=crud-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crud-model.d.ts","sourceRoot":"","sources":["../../src/model/crud-model.ts"],"names":[],"mappings":"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"}