dobo 2.38.0 → 2.39.1

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 (160) hide show
  1. package/.bootorder +0 -0
  2. package/.github/FUNDING.yml +0 -0
  3. package/.github/workflows/repo-lockdown.yml +0 -0
  4. package/.jsdoc.conf.json +0 -0
  5. package/LICENSE +0 -0
  6. package/README.md +0 -0
  7. package/docs/Dobo.html +0 -0
  8. package/docs/DoboAction.html +0 -0
  9. package/docs/DoboAdapter.html +0 -0
  10. package/docs/DoboConnection.html +0 -0
  11. package/docs/DoboFeature.html +0 -0
  12. package/docs/DoboModel.html +0 -0
  13. package/docs/data/search.json +0 -0
  14. package/docs/extend_bajo_hook-docs.js.html +0 -0
  15. package/docs/external-Tools.html +0 -0
  16. package/docs/fonts/Inconsolata-Regular.ttf +0 -0
  17. package/docs/fonts/OpenSans-Regular.ttf +0 -0
  18. package/docs/fonts/WorkSans-Bold.ttf +0 -0
  19. package/docs/global.html +0 -0
  20. package/docs/index.html +0 -0
  21. package/docs/index.js.html +0 -0
  22. package/docs/lib_factory_action.js.html +0 -0
  23. package/docs/lib_factory_adapter.js.html +0 -0
  24. package/docs/lib_factory_connection.js.html +0 -0
  25. package/docs/lib_factory_feature.js.html +0 -0
  26. package/docs/lib_factory_model.js.html +0 -0
  27. package/docs/lib_factory_model_build.js.html +0 -0
  28. package/docs/lib_factory_model_clear-record.js.html +0 -0
  29. package/docs/lib_factory_model_count-record.js.html +0 -0
  30. package/docs/lib_factory_model_create-record.js.html +0 -0
  31. package/docs/lib_factory_model_drop.js.html +0 -0
  32. package/docs/lib_factory_model_exists.js.html +0 -0
  33. package/docs/lib_factory_model_find-all-record.js.html +0 -0
  34. package/docs/lib_factory_model_find-one-record.js.html +0 -0
  35. package/docs/lib_factory_model_find-record.js.html +0 -0
  36. package/docs/lib_factory_model_get-record.js.html +0 -0
  37. package/docs/lib_factory_model_helper.js.html +0 -0
  38. package/docs/lib_factory_model_remove-record.js.html +0 -0
  39. package/docs/lib_factory_model_sanitize-body.js.html +0 -0
  40. package/docs/lib_factory_model_sanitize-fixture.js.html +0 -0
  41. package/docs/lib_factory_model_sanitize-record.js.html +0 -0
  42. package/docs/lib_factory_model_update-record.js.html +0 -0
  43. package/docs/lib_factory_model_upsert-record.js.html +0 -0
  44. package/docs/lib_factory_model_validate.js.html +0 -0
  45. package/docs/lib_helper.js.html +0 -0
  46. package/docs/module-Helper.html +0 -0
  47. package/docs/module-Helper_Model.html +0 -0
  48. package/docs/module-Hook.html +0 -0
  49. package/docs/scripts/core.js +0 -0
  50. package/docs/scripts/core.min.js +0 -0
  51. package/docs/scripts/resize.js +0 -0
  52. package/docs/scripts/search.js +0 -0
  53. package/docs/scripts/search.min.js +5 -5
  54. package/docs/scripts/third-party/Apache-License-2.0.txt +0 -0
  55. package/docs/scripts/third-party/fuse.js +0 -0
  56. package/docs/scripts/third-party/hljs-line-num-original.js +0 -0
  57. package/docs/scripts/third-party/hljs-line-num.js +0 -0
  58. package/docs/scripts/third-party/hljs-original.js +0 -0
  59. package/docs/scripts/third-party/hljs.js +0 -0
  60. package/docs/scripts/third-party/popper.js +0 -0
  61. package/docs/scripts/third-party/tippy.js +0 -0
  62. package/docs/scripts/third-party/tocbot.js +0 -0
  63. package/docs/scripts/third-party/tocbot.min.js +0 -0
  64. package/docs/static/bitcoin.jpeg +0 -0
  65. package/docs/static/home.md +0 -0
  66. package/docs/static/logo-ecosystem.png +0 -0
  67. package/docs/static/logo.png +0 -0
  68. package/docs/styles/clean-jsdoc-theme-base.css +0 -0
  69. package/docs/styles/clean-jsdoc-theme-dark.css +0 -0
  70. package/docs/styles/clean-jsdoc-theme-light.css +0 -0
  71. package/docs/styles/clean-jsdoc-theme-scrollbar.css +0 -0
  72. package/docs/styles/clean-jsdoc-theme-without-scrollbar.min.css +0 -0
  73. package/docs/styles/clean-jsdoc-theme.min.css +0 -0
  74. package/extend/bajo/hook.js +236 -236
  75. package/extend/bajo/intl/en-US.json +0 -0
  76. package/extend/bajo/intl/id.json +0 -0
  77. package/extend/bajoCli/applet/aggregate.js +0 -0
  78. package/extend/bajoCli/applet/clear-record.js +0 -0
  79. package/extend/bajoCli/applet/connection.js +0 -0
  80. package/extend/bajoCli/applet/count-record.js +0 -0
  81. package/extend/bajoCli/applet/create-record.js +0 -0
  82. package/extend/bajoCli/applet/find-record.js +0 -0
  83. package/extend/bajoCli/applet/get-record.js +0 -0
  84. package/extend/bajoCli/applet/histogram.js +0 -0
  85. package/extend/bajoCli/applet/lib/post-process.js +0 -0
  86. package/extend/bajoCli/applet/model.js +0 -0
  87. package/extend/bajoCli/applet/rebuild-model.js +0 -0
  88. package/extend/bajoCli/applet/remove-record.js +0 -0
  89. package/extend/bajoCli/applet/update-record.js +0 -0
  90. package/extend/bajoCli/applet.js +0 -0
  91. package/extend/dobo/adapter/memory.js +175 -175
  92. package/extend/dobo/feature/created-at.js +0 -0
  93. package/extend/dobo/feature/dt.js +0 -0
  94. package/extend/dobo/feature/image.js +0 -0
  95. package/extend/dobo/feature/immutable.js +0 -0
  96. package/extend/dobo/feature/removed-at.js +0 -0
  97. package/extend/dobo/feature/unique.js +0 -0
  98. package/extend/dobo/feature/updated-at.js +0 -0
  99. package/extend/waibuMpa/route/attachment/@model/@id/@field/@file.js +0 -0
  100. package/extend/waibuStatic/virtual.json +0 -0
  101. package/index.js +0 -0
  102. package/lib/factory/action.js +287 -287
  103. package/lib/factory/adapter.js +1055 -1055
  104. package/lib/factory/connection.js +109 -109
  105. package/lib/factory/feature.js +52 -52
  106. package/lib/factory/model/aggregate.js +23 -23
  107. package/lib/factory/model/build.js +25 -25
  108. package/lib/factory/model/bulk-create-record.js +36 -36
  109. package/lib/factory/model/clear-record.js +30 -30
  110. package/lib/factory/model/count-record.js +42 -42
  111. package/lib/factory/model/create-attachment.js +36 -36
  112. package/lib/factory/model/create-record.js +49 -49
  113. package/lib/factory/model/drop.js +26 -26
  114. package/lib/factory/model/exists.js +26 -26
  115. package/lib/factory/model/find-all-record.js +112 -112
  116. package/lib/factory/model/find-attachment.js +28 -28
  117. package/lib/factory/model/find-one-record.js +38 -38
  118. package/lib/factory/model/find-record.js +82 -82
  119. package/lib/factory/model/get-attachment.js +15 -15
  120. package/lib/factory/model/get-record.js +52 -52
  121. package/lib/factory/model/helper.js +575 -576
  122. package/lib/factory/model/histogram.js +23 -23
  123. package/lib/factory/model/list-attachment.js +40 -40
  124. package/lib/factory/model/load-fixtures.js +63 -63
  125. package/lib/factory/model/remove-attachment.js +24 -24
  126. package/lib/factory/model/remove-record.js +44 -44
  127. package/lib/factory/model/sanitize-body.js +57 -57
  128. package/lib/factory/model/sanitize-fixture.js +56 -56
  129. package/lib/factory/model/sanitize-record.js +80 -80
  130. package/lib/factory/model/transaction.js +15 -15
  131. package/lib/factory/model/update-attachment.js +9 -9
  132. package/lib/factory/model/update-record.js +58 -58
  133. package/lib/factory/model/upsert-record.js +71 -71
  134. package/lib/factory/model/validate.js +0 -0
  135. package/lib/factory/model.js +503 -503
  136. package/lib/helper.js +463 -463
  137. package/package.json +1 -1
  138. package/test/e2e/_run.js +12 -12
  139. package/test/e2e/e2e-factory-process.test.js +25 -25
  140. package/test/e2e/e2e-model-adapter-process.test.js +52 -52
  141. package/test/integration/aspect-01-start-connections.test.js +33 -33
  142. package/test/integration/aspect-02-query-regex.test.js +34 -34
  143. package/test/integration/aspect-03-model-adapter-flow.test.js +88 -88
  144. package/test/unit/_stub.js +244 -244
  145. package/test/unit/dobo-action.test.js +58 -58
  146. package/test/unit/dobo-connection.test.js +37 -37
  147. package/test/unit/dobo-core.test.js +136 -136
  148. package/test/unit/dobo-feature.test.js +25 -25
  149. package/test/unit/dobo-model.test.js +115 -115
  150. package/test/unit/helper-sanitize-all.test.js +40 -40
  151. package/test/unit/helper-sanitize-ref.test.js +64 -64
  152. package/wiki/APPLETS.md +0 -0
  153. package/wiki/CHANGES.md +477 -469
  154. package/wiki/CONFIG.md +0 -0
  155. package/wiki/CONTRIBUTING.md +0 -0
  156. package/wiki/DEV-GUIDE.md +0 -0
  157. package/wiki/ECOSYSTEM.md +0 -0
  158. package/wiki/GETTING-STARTED.md +0 -0
  159. package/wiki/QUERY-LANGUAGE.md +0 -0
  160. package/wiki/USER-GUIDE.md +0 -0
@@ -1,236 +1,236 @@
1
- /**
2
- * Available hooks for Dobo's operations. You can use these hooks to customize the behavior of the model's CRUD operations.
3
- *
4
- * For any of the hooks below, you can also use the `modelName` in camelCase format to create a model-specific hook. If you
5
- * choose to use this format, you must omit the first parameter (`model`) so that the hook function handler syntax will become like this:
6
- *
7
- * ```js
8
- * dobo.{modelName}:beforeCreateRecord (body, options)
9
- * dobo.{modelName}:afterCreateRecord (body, options)
10
- * dobo.{modelName}:beforeFindRecord (filter, options)
11
- * dobo.{modelName}:afterFindRecord (filter, result, options)
12
- * ...
13
- * ```
14
- *
15
- * You can use both formats simultaneously if you want. In that case, they will be executed in this order:
16
- * ```js
17
- * dobo:beforeCreateRecord (model, body, options)
18
- * dobo.{modelName}:beforeCreateRecord (body, options)
19
- * ...
20
- * dobo.{modelName}:afterCreateRecord (body, result, options)
21
- * dobo:afterCreateRecord (model, body, result, options)
22
- * ```
23
- *
24
- * For both formats, there are their counterparts that run deep inside the adapter.
25
- * Only use these hooks if you know what you are doing.
26
- *
27
- * Their syntax is similar to the above, with one exception: you need to put suffix `.adapter` after `dobo`:
28
- *
29
- * ```js
30
- * dobo.adapter:beforeAdapterCreateRecord (model, body, options)
31
- * dobo.adapter.{modelName}:beforeAdapterCreateRecord (body, options)
32
- * ```
33
- * @module Hook
34
- */
35
- /**
36
- * Hook that is called before creating a record.
37
- *
38
- * @memberof module:Hook
39
- * @method
40
- * @async
41
- * @name dobo:beforeCreateRecord
42
- * @param {DoboModel} model - The model instance
43
- * @param {object} body - The body payload to be created
44
- * @param {DoboModel.TOptions} options - The options object
45
- */
46
-
47
- /**
48
- * Hook that is called after creating a record.
49
- *
50
- * @memberof module:Hook
51
- * @method
52
- * @async
53
- * @name dobo:afterCreateRecord
54
- * @param {DoboModel} model - The model instance
55
- * @param {object} body - The body payload to be created
56
- * @param {DoboModel.TResultRecord} result - The result of the create operation
57
- * @param {DoboModel.TOptions} options - The options object
58
- */
59
-
60
- /**
61
- * Hook that is called before finding records.
62
- *
63
- * @memberof module:Hook
64
- * @method
65
- * @async
66
- * @name dobo:beforeFindRecord
67
- * @param {DoboModel} model - The model instance
68
- * @param {DoboModel.TFilter} filter - The filter criteria to apply when finding records
69
- * @param {DoboModel.TOptions} options - The options object
70
- */
71
-
72
- /**
73
- * Hook that is called after finding records.
74
- *
75
- * @memberof module:Hook
76
- * @method
77
- * @async
78
- * @name dobo:afterFindRecord
79
- * @param {DoboModel} model - The model instance
80
- * @param {DoboModel.TFilter} filter - The filter criteria applied when finding records
81
- * @param {DoboModel.TResultFindRecord} result - The result of the find operation
82
- * @param {DoboModel.TOptions} options - The options object
83
- */
84
-
85
- /**
86
- * Hook that is called before finding one record.
87
- *
88
- * @memberof module:Hook
89
- * @method
90
- * @async
91
- * @name dobo:beforeFindOneRecord
92
- * @param {DoboModel} model - The model instance
93
- * @param {DoboModel.TFilter} filter - The filter criteria to apply when finding one record
94
- * @param {DoboModel.TResultFindRecord} result - The result of the find operation
95
- * @param {DoboModel.TOptions} options - The options object
96
- */
97
-
98
- /**
99
- * Hook that is called after finding one record.
100
- *
101
- * @memberof module:Hook
102
- * @method
103
- * @async
104
- * @name dobo:afterFindOneRecord
105
- * @param {DoboModel} model - The model instance
106
- * @param {DoboModel.TFilter} filter - The filter criteria applied when finding one record
107
- * @param {DoboModel.TResultFindOneRecord} result - The result of the find one operation
108
- * @param {DoboModel.TOptions} options - The options object
109
- */
110
-
111
- /**
112
- * Hook that is called before finding all records.
113
- *
114
- * @memberof module:Hook
115
- * @method
116
- * @async
117
- * @name dobo:beforeFindAllRecord
118
- * @param {DoboModel} model - The model instance
119
- * @param {DoboModel.TFilter} filter - The filter criteria to apply when finding all records
120
- * @param {DoboModel.TOptions} options - The options object
121
- */
122
-
123
- /**
124
- * Hook that is called after finding all records.
125
- *
126
- * @memberof module:Hook
127
- * @method
128
- * @async
129
- * @name dobo:afterFindAllRecord
130
- * @param {DoboModel} model - The model instance
131
- * @param {DoboModel.TFilter} filter - The filter criteria applied when finding all records
132
- * @param {DoboModel.TResultFindAllRecord} result - The result of the find all operation
133
- * @param {DoboModel.TOptions} options - The options object
134
- */
135
-
136
- /**
137
- * Hook that is called before updating a record.
138
- *
139
- * @memberof module:Hook
140
- * @method
141
- * @async
142
- * @name dobo:beforeUpdateRecord
143
- * @param {DoboModel} model - The model instance
144
- * @param {string|number} id - The ID of the record to be updated
145
- * @param {object} body - The body payload to be updated
146
- * @param {DoboModel.TOptions} options - The options object
147
- */
148
-
149
- /**
150
- * Hook that is called after updating a record.
151
- *
152
- * @memberof module:Hook
153
- * @method
154
- * @async
155
- * @name dobo:afterUpdateRecord
156
- * @param {DoboModel} model - The model instance
157
- * @param {string|number} id - The ID of the record that was updated
158
- * @param {object} body - The body payload that was updated
159
- * @param {DoboModel.TResultUpdateRecord} result - The result of the update operation
160
- * @param {DoboModel.TOptions} options - The options object
161
- */
162
-
163
- /**
164
- * Hook that is called before removing a record.
165
- *
166
- * @memberof module:Hook
167
- * @method
168
- * @async
169
- * @name dobo:beforeRemoveRecord
170
- * @param {DoboModel} model - The model instance
171
- * @param {string|number} id - The ID of the record to be removed
172
- * @param {DoboModel.TOptions} options - The options object
173
- */
174
-
175
- /**
176
- * Hook that is called after removing a record.
177
- *
178
- * @memberof module:Hook
179
- * @method
180
- * @async
181
- * @name dobo:afterRemoveRecord
182
- * @param {DoboModel} model - The model instance
183
- * @param {string|number} id - The ID of the record that was removed
184
- * @param {DoboModel.TResultRemoveRecord} result - The result of the remove operation
185
- * @param {DoboModel.TOptions} options - The options object
186
- */
187
-
188
- /**
189
- * Hook that is called before counting records.
190
- *
191
- * @memberof module:Hook
192
- * @method
193
- * @async
194
- * @name dobo:beforeCountRecord
195
- * @param {DoboModel} model - The model instance
196
- * @param {DoboModel.TFilter} filter - The filter criteria to apply when counting records
197
- * @param {DoboModel.TOptions} options - The options object
198
- */
199
-
200
- /**
201
- * Hook that is called after counting records.
202
- *
203
- * @memberof module:Hook
204
- * @method
205
- * @async
206
- * @name dobo:afterCountRecord
207
- * @param {DoboModel} model - The model instance
208
- * @param {DoboModel.TFilter} filter - The filter criteria that was applied when counting records
209
- * @param {DoboModel.TResultCountRecord} result - The result of the count operation
210
- * @param {DoboModel.TOptions} options - The options object
211
- */
212
-
213
- /**
214
- * Hook that is called before getting a record by ID.
215
- *
216
- * @memberof module:Hook
217
- * @method
218
- * @async
219
- * @name dobo:beforeGetRecord
220
- * @param {DoboModel} model - The model instance
221
- * @param {string|number} id - The ID of the record to be retrieved
222
- * @param {DoboModel.TOptions} options - The options object
223
- */
224
-
225
- /**
226
- * Hook that is called after getting a record by ID.
227
- *
228
- * @memberof module:Hook
229
- * @method
230
- * @async
231
- * @name dobo:afterGetRecord
232
- * @param {DoboModel} model - The model instance
233
- * @param {string|number} id - The ID of the record that was retrieved
234
- * @param {DoboModel.TResultGetRecord} result - The result of the get operation
235
- * @param {DoboModel.TOptions} options - The options object
236
- */
1
+ /**
2
+ * Available hooks for Dobo's operations. You can use these hooks to customize the behavior of the model's CRUD operations.
3
+ *
4
+ * For any of the hooks below, you can also use the `modelName` in camelCase format to create a model-specific hook. If you
5
+ * choose to use this format, you must omit the first parameter (`model`) so that the hook function handler syntax will become like this:
6
+ *
7
+ * ```js
8
+ * dobo.{modelName}:beforeCreateRecord (body, options)
9
+ * dobo.{modelName}:afterCreateRecord (body, options)
10
+ * dobo.{modelName}:beforeFindRecord (filter, options)
11
+ * dobo.{modelName}:afterFindRecord (filter, result, options)
12
+ * ...
13
+ * ```
14
+ *
15
+ * You can use both formats simultaneously if you want. In that case, they will be executed in this order:
16
+ * ```js
17
+ * dobo:beforeCreateRecord (model, body, options)
18
+ * dobo.{modelName}:beforeCreateRecord (body, options)
19
+ * ...
20
+ * dobo.{modelName}:afterCreateRecord (body, result, options)
21
+ * dobo:afterCreateRecord (model, body, result, options)
22
+ * ```
23
+ *
24
+ * For both formats, there are their counterparts that run deep inside the adapter.
25
+ * Only use these hooks if you know what you are doing.
26
+ *
27
+ * Their syntax is similar to the above, with one exception: you need to put suffix `.adapter` after `dobo`:
28
+ *
29
+ * ```js
30
+ * dobo.adapter:beforeAdapterCreateRecord (model, body, options)
31
+ * dobo.adapter.{modelName}:beforeAdapterCreateRecord (body, options)
32
+ * ```
33
+ * @module Hook
34
+ */
35
+ /**
36
+ * Hook that is called before creating a record.
37
+ *
38
+ * @memberof module:Hook
39
+ * @method
40
+ * @async
41
+ * @name dobo:beforeCreateRecord
42
+ * @param {DoboModel} model - The model instance
43
+ * @param {object} body - The body payload to be created
44
+ * @param {DoboModel.TOptions} options - The options object
45
+ */
46
+
47
+ /**
48
+ * Hook that is called after creating a record.
49
+ *
50
+ * @memberof module:Hook
51
+ * @method
52
+ * @async
53
+ * @name dobo:afterCreateRecord
54
+ * @param {DoboModel} model - The model instance
55
+ * @param {object} body - The body payload to be created
56
+ * @param {DoboModel.TResultRecord} result - The result of the create operation
57
+ * @param {DoboModel.TOptions} options - The options object
58
+ */
59
+
60
+ /**
61
+ * Hook that is called before finding records.
62
+ *
63
+ * @memberof module:Hook
64
+ * @method
65
+ * @async
66
+ * @name dobo:beforeFindRecord
67
+ * @param {DoboModel} model - The model instance
68
+ * @param {DoboModel.TFilter} filter - The filter criteria to apply when finding records
69
+ * @param {DoboModel.TOptions} options - The options object
70
+ */
71
+
72
+ /**
73
+ * Hook that is called after finding records.
74
+ *
75
+ * @memberof module:Hook
76
+ * @method
77
+ * @async
78
+ * @name dobo:afterFindRecord
79
+ * @param {DoboModel} model - The model instance
80
+ * @param {DoboModel.TFilter} filter - The filter criteria applied when finding records
81
+ * @param {DoboModel.TResultFindRecord} result - The result of the find operation
82
+ * @param {DoboModel.TOptions} options - The options object
83
+ */
84
+
85
+ /**
86
+ * Hook that is called before finding one record.
87
+ *
88
+ * @memberof module:Hook
89
+ * @method
90
+ * @async
91
+ * @name dobo:beforeFindOneRecord
92
+ * @param {DoboModel} model - The model instance
93
+ * @param {DoboModel.TFilter} filter - The filter criteria to apply when finding one record
94
+ * @param {DoboModel.TResultFindRecord} result - The result of the find operation
95
+ * @param {DoboModel.TOptions} options - The options object
96
+ */
97
+
98
+ /**
99
+ * Hook that is called after finding one record.
100
+ *
101
+ * @memberof module:Hook
102
+ * @method
103
+ * @async
104
+ * @name dobo:afterFindOneRecord
105
+ * @param {DoboModel} model - The model instance
106
+ * @param {DoboModel.TFilter} filter - The filter criteria applied when finding one record
107
+ * @param {DoboModel.TResultFindOneRecord} result - The result of the find one operation
108
+ * @param {DoboModel.TOptions} options - The options object
109
+ */
110
+
111
+ /**
112
+ * Hook that is called before finding all records.
113
+ *
114
+ * @memberof module:Hook
115
+ * @method
116
+ * @async
117
+ * @name dobo:beforeFindAllRecord
118
+ * @param {DoboModel} model - The model instance
119
+ * @param {DoboModel.TFilter} filter - The filter criteria to apply when finding all records
120
+ * @param {DoboModel.TOptions} options - The options object
121
+ */
122
+
123
+ /**
124
+ * Hook that is called after finding all records.
125
+ *
126
+ * @memberof module:Hook
127
+ * @method
128
+ * @async
129
+ * @name dobo:afterFindAllRecord
130
+ * @param {DoboModel} model - The model instance
131
+ * @param {DoboModel.TFilter} filter - The filter criteria applied when finding all records
132
+ * @param {DoboModel.TResultFindAllRecord} result - The result of the find all operation
133
+ * @param {DoboModel.TOptions} options - The options object
134
+ */
135
+
136
+ /**
137
+ * Hook that is called before updating a record.
138
+ *
139
+ * @memberof module:Hook
140
+ * @method
141
+ * @async
142
+ * @name dobo:beforeUpdateRecord
143
+ * @param {DoboModel} model - The model instance
144
+ * @param {string|number} id - The ID of the record to be updated
145
+ * @param {object} body - The body payload to be updated
146
+ * @param {DoboModel.TOptions} options - The options object
147
+ */
148
+
149
+ /**
150
+ * Hook that is called after updating a record.
151
+ *
152
+ * @memberof module:Hook
153
+ * @method
154
+ * @async
155
+ * @name dobo:afterUpdateRecord
156
+ * @param {DoboModel} model - The model instance
157
+ * @param {string|number} id - The ID of the record that was updated
158
+ * @param {object} body - The body payload that was updated
159
+ * @param {DoboModel.TResultUpdateRecord} result - The result of the update operation
160
+ * @param {DoboModel.TOptions} options - The options object
161
+ */
162
+
163
+ /**
164
+ * Hook that is called before removing a record.
165
+ *
166
+ * @memberof module:Hook
167
+ * @method
168
+ * @async
169
+ * @name dobo:beforeRemoveRecord
170
+ * @param {DoboModel} model - The model instance
171
+ * @param {string|number} id - The ID of the record to be removed
172
+ * @param {DoboModel.TOptions} options - The options object
173
+ */
174
+
175
+ /**
176
+ * Hook that is called after removing a record.
177
+ *
178
+ * @memberof module:Hook
179
+ * @method
180
+ * @async
181
+ * @name dobo:afterRemoveRecord
182
+ * @param {DoboModel} model - The model instance
183
+ * @param {string|number} id - The ID of the record that was removed
184
+ * @param {DoboModel.TResultRemoveRecord} result - The result of the remove operation
185
+ * @param {DoboModel.TOptions} options - The options object
186
+ */
187
+
188
+ /**
189
+ * Hook that is called before counting records.
190
+ *
191
+ * @memberof module:Hook
192
+ * @method
193
+ * @async
194
+ * @name dobo:beforeCountRecord
195
+ * @param {DoboModel} model - The model instance
196
+ * @param {DoboModel.TFilter} filter - The filter criteria to apply when counting records
197
+ * @param {DoboModel.TOptions} options - The options object
198
+ */
199
+
200
+ /**
201
+ * Hook that is called after counting records.
202
+ *
203
+ * @memberof module:Hook
204
+ * @method
205
+ * @async
206
+ * @name dobo:afterCountRecord
207
+ * @param {DoboModel} model - The model instance
208
+ * @param {DoboModel.TFilter} filter - The filter criteria that was applied when counting records
209
+ * @param {DoboModel.TResultCountRecord} result - The result of the count operation
210
+ * @param {DoboModel.TOptions} options - The options object
211
+ */
212
+
213
+ /**
214
+ * Hook that is called before getting a record by ID.
215
+ *
216
+ * @memberof module:Hook
217
+ * @method
218
+ * @async
219
+ * @name dobo:beforeGetRecord
220
+ * @param {DoboModel} model - The model instance
221
+ * @param {string|number} id - The ID of the record to be retrieved
222
+ * @param {DoboModel.TOptions} options - The options object
223
+ */
224
+
225
+ /**
226
+ * Hook that is called after getting a record by ID.
227
+ *
228
+ * @memberof module:Hook
229
+ * @method
230
+ * @async
231
+ * @name dobo:afterGetRecord
232
+ * @param {DoboModel} model - The model instance
233
+ * @param {string|number} id - The ID of the record that was retrieved
234
+ * @param {DoboModel.TResultGetRecord} result - The result of the get operation
235
+ * @param {DoboModel.TOptions} options - The options object
236
+ */
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes