@forestadmin/datasource-sequelize 1.0.0-beta.4 → 1.0.0-beta.40
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.
- package/CHANGELOG.md +360 -0
- package/dist/collection.d.ts +10 -7
- package/dist/collection.js +38 -27
- package/dist/datasource.d.ts +9 -3
- package/dist/datasource.js +11 -5
- package/dist/index.d.ts +3 -0
- package/dist/index.js +9 -4
- package/dist/utils/aggregation.d.ts +7 -5
- package/dist/utils/aggregation.js +17 -31
- package/dist/utils/date-aggregation-converter.d.ts +11 -6
- package/dist/utils/date-aggregation-converter.js +26 -21
- package/dist/utils/error-handler.d.ts +4 -0
- package/dist/utils/error-handler.js +30 -0
- package/dist/utils/model-to-collection-schema-converter.d.ts +2 -2
- package/dist/utils/model-to-collection-schema-converter.js +24 -12
- package/dist/utils/query-converter.d.ts +14 -7
- package/dist/utils/query-converter.js +59 -33
- package/dist/utils/serializer.d.ts +6 -0
- package/dist/utils/serializer.js +29 -0
- package/dist/utils/type-converter.d.ts +4 -4
- package/dist/utils/type-converter.js +70 -97
- package/dist/utils/un-ambigous.d.ts +3 -0
- package/dist/utils/un-ambigous.js +24 -0
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,363 @@
|
|
|
1
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.40](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.39...@forestadmin/datasource-sequelize@1.0.0-beta.40) (2022-09-07)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
### Dependencies
|
|
8
|
+
|
|
9
|
+
* **@forestadmin/datasource-toolkit:** upgraded to 1.0.0-beta.30
|
|
10
|
+
|
|
11
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.39](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.38...@forestadmin/datasource-sequelize@1.0.0-beta.39) (2022-09-07)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* inverted keys in sequelize belongs to many ([#409](https://github.com/ForestAdmin/agent-nodejs/issues/409)) ([4adb3a2](https://github.com/ForestAdmin/agent-nodejs/commit/4adb3a244efb0842c475fcbdf4a5f38552a6b7df))
|
|
17
|
+
|
|
18
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.38](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.37...@forestadmin/datasource-sequelize@1.0.0-beta.38) (2022-09-05)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### Dependencies
|
|
25
|
+
|
|
26
|
+
* **@forestadmin/datasource-toolkit:** upgraded to 1.0.0-beta.29
|
|
27
|
+
|
|
28
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.37](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.36...@forestadmin/datasource-sequelize@1.0.0-beta.37) (2022-09-05)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### Dependencies
|
|
35
|
+
|
|
36
|
+
* **@forestadmin/datasource-toolkit:** upgraded to 1.0.0-beta.28
|
|
37
|
+
|
|
38
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.36](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.35...@forestadmin/datasource-sequelize@1.0.0-beta.36) (2022-08-23)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
### Dependencies
|
|
45
|
+
|
|
46
|
+
* **@forestadmin/datasource-toolkit:** upgraded to 1.0.0-beta.27
|
|
47
|
+
|
|
48
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.35](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.34...@forestadmin/datasource-sequelize@1.0.0-beta.35) (2022-08-23)
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
### Features
|
|
52
|
+
|
|
53
|
+
* **sequelize:** improve constraints error handling ([#390](https://github.com/ForestAdmin/agent-nodejs/issues/390)) ([c03e342](https://github.com/ForestAdmin/agent-nodejs/commit/c03e342adb07eb502d5b061db48ef0d783d64cba))
|
|
54
|
+
|
|
55
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.34](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.33...@forestadmin/datasource-sequelize@1.0.0-beta.34) (2022-07-25)
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
### Bug Fixes
|
|
59
|
+
|
|
60
|
+
* update code and sequelize version to avoid crash ([#374](https://github.com/ForestAdmin/agent-nodejs/issues/374)) ([e003416](https://github.com/ForestAdmin/agent-nodejs/commit/e0034166b86e48781ea099086fd93aa7c68dba03))
|
|
61
|
+
|
|
62
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.33](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.32...@forestadmin/datasource-sequelize@1.0.0-beta.33) (2022-06-27)
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
### Bug Fixes
|
|
66
|
+
|
|
67
|
+
* **datasource sequelize:** aggregation get correctly nested relation ([#349](https://github.com/ForestAdmin/agent-nodejs/issues/349)) ([f9f89cd](https://github.com/ForestAdmin/agent-nodejs/commit/f9f89cd9d21d2cc8195d3aa04c33a6c2b76986e4))
|
|
68
|
+
|
|
69
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.32](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.31...@forestadmin/datasource-sequelize@1.0.0-beta.32) (2022-06-16)
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
### Bug Fixes
|
|
73
|
+
|
|
74
|
+
* **datasource-sequelize:** serialize record to transform date to iso string ([#331](https://github.com/ForestAdmin/agent-nodejs/issues/331)) ([70216bb](https://github.com/ForestAdmin/agent-nodejs/commit/70216bb7fc5307e458ee5651e9f16c90b61ff49a))
|
|
75
|
+
|
|
76
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.31](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.30...@forestadmin/datasource-sequelize@1.0.0-beta.31) (2022-06-15)
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
### Dependencies
|
|
83
|
+
|
|
84
|
+
* **@forestadmin/datasource-toolkit:** upgraded to 1.0.0-beta.26
|
|
85
|
+
|
|
86
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.30](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.29...@forestadmin/datasource-sequelize@1.0.0-beta.30) (2022-06-15)
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
### Dependencies
|
|
93
|
+
|
|
94
|
+
* **@forestadmin/datasource-toolkit:** upgraded to 1.0.0-beta.25
|
|
95
|
+
|
|
96
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.29](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.28...@forestadmin/datasource-sequelize@1.0.0-beta.29) (2022-06-14)
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
### Dependencies
|
|
103
|
+
|
|
104
|
+
* **@forestadmin/datasource-toolkit:** upgraded to 1.0.0-beta.24
|
|
105
|
+
|
|
106
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.28](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.27...@forestadmin/datasource-sequelize@1.0.0-beta.28) (2022-06-14)
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
### Dependencies
|
|
113
|
+
|
|
114
|
+
* **@forestadmin/datasource-toolkit:** upgraded to 1.0.0-beta.23
|
|
115
|
+
|
|
116
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.27](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.26...@forestadmin/datasource-sequelize@1.0.0-beta.27) (2022-06-09)
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
### Dependencies
|
|
123
|
+
|
|
124
|
+
* **@forestadmin/datasource-toolkit:** upgraded to 1.0.0-beta.22
|
|
125
|
+
|
|
126
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.26](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.25...@forestadmin/datasource-sequelize@1.0.0-beta.26) (2022-06-01)
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
### Dependencies
|
|
133
|
+
|
|
134
|
+
* **@forestadmin/datasource-toolkit:** upgraded to 1.0.0-beta.21
|
|
135
|
+
|
|
136
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.25](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.24...@forestadmin/datasource-sequelize@1.0.0-beta.25) (2022-05-31)
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
### Features
|
|
140
|
+
|
|
141
|
+
* make count an optional feature ([#327](https://github.com/ForestAdmin/agent-nodejs/issues/327)) ([b6f688c](https://github.com/ForestAdmin/agent-nodejs/commit/b6f688ca5f84aa29740761ff848c4beca5ee61d6))
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
### Dependencies
|
|
148
|
+
|
|
149
|
+
* **@forestadmin/datasource-toolkit:** upgraded to 1.0.0-beta.20
|
|
150
|
+
|
|
151
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.24](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.23...@forestadmin/datasource-sequelize@1.0.0-beta.24) (2022-05-25)
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
### Features
|
|
155
|
+
|
|
156
|
+
* **search:** add support for case sensitive/insensitive search ([#315](https://github.com/ForestAdmin/agent-nodejs/issues/315)) ([b6fe544](https://github.com/ForestAdmin/agent-nodejs/commit/b6fe544cf546724f62386f4df661982e62cf714e))
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
### Dependencies
|
|
163
|
+
|
|
164
|
+
* **@forestadmin/datasource-toolkit:** upgraded to 1.0.0-beta.19
|
|
165
|
+
|
|
166
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.23](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.22...@forestadmin/datasource-sequelize@1.0.0-beta.23) (2022-05-24)
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
### Dependencies
|
|
173
|
+
|
|
174
|
+
* **@forestadmin/datasource-toolkit:** upgraded to 1.0.0-beta.18
|
|
175
|
+
|
|
176
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.22](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.21...@forestadmin/datasource-sequelize@1.0.0-beta.22) (2022-05-24)
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
### Dependencies
|
|
183
|
+
|
|
184
|
+
* **@forestadmin/datasource-toolkit:** upgraded to 1.0.0-beta.17
|
|
185
|
+
|
|
186
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.21](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.20...@forestadmin/datasource-sequelize@1.0.0-beta.21) (2022-05-16)
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
### Features
|
|
190
|
+
|
|
191
|
+
* autocomplete on field names ([#263](https://github.com/ForestAdmin/agent-nodejs/issues/263)) ([e2025d5](https://github.com/ForestAdmin/agent-nodejs/commit/e2025d57d930edf6d326bd0c6d7fffcd4aad728d))
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
### Dependencies
|
|
198
|
+
|
|
199
|
+
* **@forestadmin/datasource-toolkit:** upgraded to 1.0.0-beta.16
|
|
200
|
+
|
|
201
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.20](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.19...@forestadmin/datasource-sequelize@1.0.0-beta.20) (2022-05-12)
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
### Dependencies
|
|
208
|
+
|
|
209
|
+
* **@forestadmin/datasource-toolkit:** upgraded to 1.0.0-beta.15
|
|
210
|
+
|
|
211
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.19](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.18...@forestadmin/datasource-sequelize@1.0.0-beta.19) (2022-05-09)
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
### Dependencies
|
|
218
|
+
|
|
219
|
+
* **@forestadmin/datasource-toolkit:** upgraded to 1.0.0-beta.14
|
|
220
|
+
|
|
221
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.18](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.17...@forestadmin/datasource-sequelize@1.0.0-beta.18) (2022-05-09)
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
### Dependencies
|
|
228
|
+
|
|
229
|
+
* **@forestadmin/datasource-toolkit:** upgraded to 1.0.0-beta.13
|
|
230
|
+
|
|
231
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.17](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.16...@forestadmin/datasource-sequelize@1.0.0-beta.17) (2022-05-09)
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
### Bug Fixes
|
|
235
|
+
|
|
236
|
+
* datasource naming consistency ([#292](https://github.com/ForestAdmin/agent-nodejs/issues/292)) ([ff50a1f](https://github.com/ForestAdmin/agent-nodejs/commit/ff50a1f02aa65b3d99824c2bc9fb19d729a4e465))
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
### Dependencies
|
|
243
|
+
|
|
244
|
+
* **@forestadmin/datasource-toolkit:** upgraded to 1.0.0-beta.12
|
|
245
|
+
|
|
246
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.16](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.15...@forestadmin/datasource-sequelize@1.0.0-beta.16) (2022-05-04)
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
### Dependencies
|
|
253
|
+
|
|
254
|
+
* **@forestadmin/datasource-toolkit:** upgraded to 1.0.0-beta.11
|
|
255
|
+
|
|
256
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.15](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.14...@forestadmin/datasource-sequelize@1.0.0-beta.15) (2022-04-29)
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
### Dependencies
|
|
263
|
+
|
|
264
|
+
* **@forestadmin/datasource-toolkit:** upgraded to 1.0.0-beta.10
|
|
265
|
+
|
|
266
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.14](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.13...@forestadmin/datasource-sequelize@1.0.0-beta.14) (2022-04-29)
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
### Dependencies
|
|
273
|
+
|
|
274
|
+
* **@forestadmin/datasource-toolkit:** upgraded to 1.0.0-beta.9
|
|
275
|
+
|
|
276
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.13](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.12...@forestadmin/datasource-sequelize@1.0.0-beta.13) (2022-04-28)
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
### Dependencies
|
|
283
|
+
|
|
284
|
+
* **@forestadmin/datasource-toolkit:** upgraded to 1.0.0-beta.8
|
|
285
|
+
|
|
286
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.12](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.11...@forestadmin/datasource-sequelize@1.0.0-beta.12) (2022-04-26)
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
### Bug Fixes
|
|
290
|
+
|
|
291
|
+
* **datasource sequelize:** build a correct where clause when there is relation on delete and update ([#242](https://github.com/ForestAdmin/agent-nodejs/issues/242)) ([75061d4](https://github.com/ForestAdmin/agent-nodejs/commit/75061d447878cd8f32f1fd5bcc245a2791ba0b0a))
|
|
292
|
+
|
|
293
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.11](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.10...@forestadmin/datasource-sequelize@1.0.0-beta.11) (2022-04-26)
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
### Features
|
|
297
|
+
|
|
298
|
+
* give access to logged in user to customization context ([#253](https://github.com/ForestAdmin/agent-nodejs/issues/253)) ([be97812](https://github.com/ForestAdmin/agent-nodejs/commit/be978121e47ab06c7a50cc6dec0cdb9284ea9d96))
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
### Dependencies
|
|
305
|
+
|
|
306
|
+
* **@forestadmin/datasource-toolkit:** upgraded to 1.0.0-beta.7
|
|
307
|
+
|
|
308
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.10](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.9...@forestadmin/datasource-sequelize@1.0.0-beta.10) (2022-04-25)
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
### Bug Fixes
|
|
312
|
+
|
|
313
|
+
* **datasource sequelize:** all field are sortable ([#262](https://github.com/ForestAdmin/agent-nodejs/issues/262)) ([8d85346](https://github.com/ForestAdmin/agent-nodejs/commit/8d8534662bc058466901095a0c0d82e06d2f13b0))
|
|
314
|
+
|
|
315
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.9](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.8...@forestadmin/datasource-sequelize@1.0.0-beta.9) (2022-04-25)
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
### Bug Fixes
|
|
319
|
+
|
|
320
|
+
* import packages from js ([#260](https://github.com/ForestAdmin/agent-nodejs/issues/260)) ([de00886](https://github.com/ForestAdmin/agent-nodejs/commit/de008862971ea5d3559e5a4c3136b0dd2161d760))
|
|
321
|
+
|
|
322
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.8](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.7...@forestadmin/datasource-sequelize@1.0.0-beta.8) (2022-04-21)
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
### Features
|
|
326
|
+
|
|
327
|
+
* harmonize datasource creation and pass logger to it ([#257](https://github.com/ForestAdmin/agent-nodejs/issues/257)) ([82cb4ea](https://github.com/ForestAdmin/agent-nodejs/commit/82cb4ea37ac0a9fe83423d917226dfd8fad7d0a6))
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
### Dependencies
|
|
334
|
+
|
|
335
|
+
* **@forestadmin/datasource-toolkit:** upgraded to 1.0.0-beta.6
|
|
336
|
+
|
|
337
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.7](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.6...@forestadmin/datasource-sequelize@1.0.0-beta.7) (2022-04-20)
|
|
338
|
+
|
|
339
|
+
|
|
340
|
+
### Bug Fixes
|
|
341
|
+
|
|
342
|
+
* **datasource sequelize:** add include from sort relation for list ([#243](https://github.com/ForestAdmin/agent-nodejs/issues/243)) ([5a81bc0](https://github.com/ForestAdmin/agent-nodejs/commit/5a81bc04e969442dd38d251be0a48c7bce2dc43e))
|
|
343
|
+
|
|
344
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.6](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.5...@forestadmin/datasource-sequelize@1.0.0-beta.6) (2022-04-19)
|
|
345
|
+
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
### Dependencies
|
|
351
|
+
|
|
352
|
+
* **@forestadmin/datasource-toolkit:** upgraded to 1.0.0-beta.5
|
|
353
|
+
|
|
354
|
+
# @forestadmin/datasource-sequelize [1.0.0-beta.5](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.4...@forestadmin/datasource-sequelize@1.0.0-beta.5) (2022-04-19)
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
### Bug Fixes
|
|
358
|
+
|
|
359
|
+
* **datasource sequelize:** type converter compute correctly type from sequelize DataTypes ([#246](https://github.com/ForestAdmin/agent-nodejs/issues/246)) ([92fc238](https://github.com/ForestAdmin/agent-nodejs/commit/92fc23841c25c502f44fd90c5e68f864ecc6727b))
|
|
360
|
+
|
|
1
361
|
# @forestadmin/datasource-sequelize [1.0.0-beta.4](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/datasource-sequelize@1.0.0-beta.3...@forestadmin/datasource-sequelize@1.0.0-beta.4) (2022-04-15)
|
|
2
362
|
|
|
3
363
|
|
package/dist/collection.d.ts
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { ModelDefined } from 'sequelize';
|
|
2
|
-
import { AggregateResult, Aggregation, BaseCollection, DataSource, Filter, PaginatedFilter, Projection, RecordData } from '@forestadmin/datasource-toolkit';
|
|
2
|
+
import { AggregateResult, Aggregation, BaseCollection, Caller, DataSource, Filter, Logger, PaginatedFilter, Projection, RecordData } from '@forestadmin/datasource-toolkit';
|
|
3
3
|
export default class SequelizeCollection extends BaseCollection {
|
|
4
4
|
protected model: ModelDefined<any, any>;
|
|
5
|
+
private col;
|
|
6
|
+
private fn;
|
|
5
7
|
private aggregationUtils;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
private queryConverter;
|
|
9
|
+
constructor(name: string, datasource: DataSource, model: ModelDefined<any, any>, logger?: Logger);
|
|
10
|
+
create(caller: Caller, data: RecordData[]): Promise<RecordData[]>;
|
|
11
|
+
list(caller: Caller, filter: PaginatedFilter, projection: Projection): Promise<RecordData[]>;
|
|
12
|
+
update(caller: Caller, filter: Filter, patch: RecordData): Promise<void>;
|
|
13
|
+
delete(caller: Caller, filter: Filter): Promise<void>;
|
|
14
|
+
aggregate(caller: Caller, filter: Filter, aggregation: Aggregation, limit?: number): Promise<AggregateResult[]>;
|
|
12
15
|
}
|
|
13
16
|
//# sourceMappingURL=collection.d.ts.map
|
package/dist/collection.js
CHANGED
|
@@ -3,78 +3,89 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const sequelize_1 = require("sequelize");
|
|
7
6
|
const datasource_toolkit_1 = require("@forestadmin/datasource-toolkit");
|
|
8
7
|
const aggregation_1 = __importDefault(require("./utils/aggregation"));
|
|
9
8
|
const model_to_collection_schema_converter_1 = __importDefault(require("./utils/model-to-collection-schema-converter"));
|
|
10
9
|
const query_converter_1 = __importDefault(require("./utils/query-converter"));
|
|
10
|
+
const serializer_1 = __importDefault(require("./utils/serializer"));
|
|
11
|
+
const error_handler_1 = __importDefault(require("./utils/error-handler"));
|
|
11
12
|
class SequelizeCollection extends datasource_toolkit_1.BaseCollection {
|
|
13
|
+
constructor(name, datasource,
|
|
12
14
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
13
|
-
|
|
15
|
+
model, logger) {
|
|
14
16
|
super(name, datasource);
|
|
15
17
|
if (!model)
|
|
16
18
|
throw new Error('Invalid (null) model instance.');
|
|
17
19
|
this.model = model;
|
|
20
|
+
this.col = this.model.sequelize.col;
|
|
21
|
+
this.fn = this.model.sequelize.fn;
|
|
18
22
|
this.aggregationUtils = new aggregation_1.default(this.model);
|
|
19
|
-
|
|
23
|
+
this.queryConverter = new query_converter_1.default(this.model);
|
|
24
|
+
const modelSchema = model_to_collection_schema_converter_1.default.convert(this.model, logger);
|
|
25
|
+
this.enableCount();
|
|
20
26
|
this.addFields(modelSchema.fields);
|
|
21
27
|
this.addSegments(modelSchema.segments);
|
|
22
28
|
}
|
|
23
|
-
async create(data) {
|
|
24
|
-
const records = await this.model.bulkCreate(data);
|
|
25
|
-
return records.map(record => record.get({ plain: true }));
|
|
29
|
+
async create(caller, data) {
|
|
30
|
+
const records = await (0, error_handler_1.default)('create', () => this.model.bulkCreate(data));
|
|
31
|
+
return records.map(record => serializer_1.default.serialize(record.get({ plain: true })));
|
|
26
32
|
}
|
|
27
|
-
async list(filter, projection) {
|
|
28
|
-
let include =
|
|
33
|
+
async list(caller, filter, projection) {
|
|
34
|
+
let include = this.queryConverter.getIncludeWithAttributesFromProjection(projection);
|
|
29
35
|
if (filter.conditionTree) {
|
|
30
|
-
include = include.concat(
|
|
36
|
+
include = include.concat(this.queryConverter.getIncludeFromProjection(filter.conditionTree.projection));
|
|
37
|
+
}
|
|
38
|
+
if (filter.sort) {
|
|
39
|
+
include = include.concat(this.queryConverter.getIncludeFromProjection(filter.sort.projection));
|
|
31
40
|
}
|
|
32
41
|
const query = {
|
|
33
42
|
attributes: projection.columns,
|
|
34
|
-
where:
|
|
43
|
+
where: this.queryConverter.getWhereFromConditionTree(filter.conditionTree),
|
|
35
44
|
include,
|
|
36
45
|
limit: filter.page?.limit,
|
|
37
46
|
offset: filter.page?.skip,
|
|
38
|
-
order:
|
|
47
|
+
order: this.queryConverter.getOrderFromSort(filter.sort),
|
|
39
48
|
subQuery: false,
|
|
40
49
|
};
|
|
41
50
|
const records = await this.model.findAll(query);
|
|
42
|
-
return records.map(record => record.get({ plain: true }));
|
|
51
|
+
return records.map(record => serializer_1.default.serialize(record.get({ plain: true })));
|
|
43
52
|
}
|
|
44
|
-
async update(filter, patch) {
|
|
45
|
-
|
|
46
|
-
where:
|
|
53
|
+
async update(caller, filter, patch) {
|
|
54
|
+
const options = {
|
|
55
|
+
where: await this.queryConverter.getWhereFromConditionTreeToByPassInclude(filter.conditionTree),
|
|
47
56
|
fields: Object.keys(patch),
|
|
48
|
-
}
|
|
57
|
+
};
|
|
58
|
+
await (0, error_handler_1.default)('update', () => this.model.update(patch, options));
|
|
49
59
|
}
|
|
50
|
-
async delete(filter) {
|
|
51
|
-
|
|
52
|
-
where:
|
|
53
|
-
}
|
|
60
|
+
async delete(caller, filter) {
|
|
61
|
+
const options = {
|
|
62
|
+
where: await this.queryConverter.getWhereFromConditionTreeToByPassInclude(filter.conditionTree),
|
|
63
|
+
};
|
|
64
|
+
await (0, error_handler_1.default)('delete', () => this.model.destroy(options));
|
|
54
65
|
}
|
|
55
|
-
async aggregate(filter, aggregation, limit) {
|
|
66
|
+
async aggregate(caller, filter, aggregation, limit) {
|
|
56
67
|
let aggregationField = aggregation.field;
|
|
57
68
|
if (aggregation.operation === 'Count' || !aggregationField) {
|
|
58
69
|
aggregationField = '*';
|
|
59
70
|
}
|
|
60
71
|
else {
|
|
61
|
-
aggregationField = this.aggregationUtils.
|
|
72
|
+
aggregationField = this.aggregationUtils.quoteField(aggregationField);
|
|
62
73
|
}
|
|
63
|
-
const aggregationFunction =
|
|
74
|
+
const aggregationFunction = this.fn(aggregation.operation.toUpperCase(), this.col(aggregationField));
|
|
64
75
|
const aggregationAttribute = [
|
|
65
76
|
aggregationFunction,
|
|
66
77
|
this.aggregationUtils.aggregateFieldName,
|
|
67
78
|
];
|
|
68
79
|
const { groups, attributes: groupAttributes } = this.aggregationUtils.getGroupAndAttributesFromAggregation(aggregation.groups);
|
|
69
|
-
let include =
|
|
80
|
+
let include = this.queryConverter.getIncludeFromProjection(aggregation.projection);
|
|
70
81
|
if (filter.conditionTree) {
|
|
71
|
-
include = include.concat(
|
|
82
|
+
include = include.concat(this.queryConverter.getIncludeFromProjection(filter.conditionTree.projection));
|
|
72
83
|
}
|
|
73
84
|
const order = this.aggregationUtils.getOrder(aggregationFunction);
|
|
74
85
|
const query = {
|
|
75
86
|
attributes: [...groupAttributes, aggregationAttribute],
|
|
76
87
|
group: groups,
|
|
77
|
-
where:
|
|
88
|
+
where: this.queryConverter.getWhereFromConditionTree(filter.conditionTree),
|
|
78
89
|
include,
|
|
79
90
|
limit,
|
|
80
91
|
order: [order],
|
|
@@ -86,4 +97,4 @@ class SequelizeCollection extends datasource_toolkit_1.BaseCollection {
|
|
|
86
97
|
}
|
|
87
98
|
}
|
|
88
99
|
exports.default = SequelizeCollection;
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsd0VBV3lDO0FBRXpDLHNFQUFtRDtBQUNuRCx3SEFBMEU7QUFDMUUsOEVBQXFEO0FBQ3JELG9FQUE0QztBQUM1QywwRUFBaUQ7QUFFakQsTUFBcUIsbUJBQW9CLFNBQVEsbUNBQWM7SUFTN0QsWUFDRSxJQUFZLEVBQ1osVUFBc0I7SUFDdEIsOERBQThEO0lBQzlELEtBQTZCLEVBQzdCLE1BQWU7UUFFZixLQUFLLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyxLQUFLO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBRTlELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBRWxDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLHFCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUkseUJBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFckQsTUFBTSxXQUFXLEdBQUcsOENBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUUvRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENB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
|
package/dist/datasource.d.ts
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
|
+
import { BaseDataSource, Logger } from '@forestadmin/datasource-toolkit';
|
|
1
2
|
import { Sequelize } from 'sequelize';
|
|
2
|
-
import { BaseDataSource } from '@forestadmin/datasource-toolkit';
|
|
3
3
|
import SequelizeCollection from './collection';
|
|
4
4
|
export default class SequelizeDataSource extends BaseDataSource<SequelizeCollection> {
|
|
5
|
+
/**
|
|
6
|
+
* We can't directly use the Sequelize version we install in the package.json
|
|
7
|
+
* as the customer's version may be different.
|
|
8
|
+
* To ensure compatibility, we need to only import types from Sequelize,
|
|
9
|
+
* and use the customer sequelize version to deal with the data manipulation.
|
|
10
|
+
*/
|
|
5
11
|
protected sequelize: Sequelize;
|
|
6
|
-
constructor(sequelize: Sequelize);
|
|
7
|
-
protected createCollections(models: Sequelize['models']): void;
|
|
12
|
+
constructor(sequelize: Sequelize, logger?: Logger);
|
|
13
|
+
protected createCollections(models: Sequelize['models'], logger?: Logger): void;
|
|
8
14
|
}
|
|
9
15
|
//# sourceMappingURL=datasource.d.ts.map
|
package/dist/datasource.js
CHANGED
|
@@ -6,23 +6,29 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const datasource_toolkit_1 = require("@forestadmin/datasource-toolkit");
|
|
7
7
|
const collection_1 = __importDefault(require("./collection"));
|
|
8
8
|
class SequelizeDataSource extends datasource_toolkit_1.BaseDataSource {
|
|
9
|
-
constructor(sequelize) {
|
|
9
|
+
constructor(sequelize, logger) {
|
|
10
10
|
super();
|
|
11
|
+
/**
|
|
12
|
+
* We can't directly use the Sequelize version we install in the package.json
|
|
13
|
+
* as the customer's version may be different.
|
|
14
|
+
* To ensure compatibility, we need to only import types from Sequelize,
|
|
15
|
+
* and use the customer sequelize version to deal with the data manipulation.
|
|
16
|
+
*/
|
|
11
17
|
this.sequelize = null;
|
|
12
18
|
if (!sequelize)
|
|
13
19
|
throw new Error('Invalid (null) Sequelize instance.');
|
|
14
20
|
this.sequelize = sequelize;
|
|
15
|
-
this.createCollections(this.sequelize.models);
|
|
21
|
+
this.createCollections(this.sequelize.models, logger);
|
|
16
22
|
}
|
|
17
|
-
createCollections(models) {
|
|
23
|
+
createCollections(models, logger) {
|
|
18
24
|
Object.values(models)
|
|
19
25
|
// avoid schema reordering
|
|
20
26
|
.sort((modelA, modelB) => (modelA.name > modelB.name ? 1 : -1))
|
|
21
27
|
.forEach(model => {
|
|
22
|
-
const collection = new collection_1.default(model.name, this, model);
|
|
28
|
+
const collection = new collection_1.default(model.name, this, model, logger);
|
|
23
29
|
this.addCollection(collection);
|
|
24
30
|
});
|
|
25
31
|
}
|
|
26
32
|
}
|
|
27
33
|
exports.default = SequelizeDataSource;
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kYXRhc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsd0VBQXlFO0FBR3pFLDhEQUErQztBQUUvQyxNQUFxQixtQkFBb0IsU0FBUSxtQ0FBbUM7SUFTbEYsWUFBWSxTQUFvQixFQUFFLE1BQWU7UUFDL0MsS0FBSyxFQUFFLENBQUM7UUFUVjs7Ozs7V0FLRztRQUNPLGNBQVMsR0FBYyxJQUFJLENBQUM7UUFLcEMsSUFBSSxDQUFDLFNBQVM7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFFdEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFFM0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxNQUEyQixFQUFFLE1BQWU7UUFDdEUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDbkIsMEJBQTBCO2FBQ3pCLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDOUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2YsTUFBTSxVQUFVLEdBQUcsSUFBSSxvQkFBbUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDNUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDRjtBQTVCRCxzQ0E0QkMifQ==
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import { DataSourceFactory } from '@forestadmin/datasource-toolkit';
|
|
2
|
+
import { Sequelize } from 'sequelize';
|
|
1
3
|
export { default as SequelizeCollection } from './collection';
|
|
2
4
|
export { default as SequelizeDataSource } from './datasource';
|
|
3
5
|
export { default as TypeConverter } from './utils/type-converter';
|
|
6
|
+
export declare function createSequelizeDataSource(connection: Sequelize): DataSourceFactory;
|
|
4
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -3,11 +3,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.TypeConverter = exports.SequelizeDataSource = exports.SequelizeCollection = void 0;
|
|
6
|
+
exports.createSequelizeDataSource = exports.TypeConverter = exports.SequelizeDataSource = exports.SequelizeCollection = void 0;
|
|
7
|
+
const datasource_1 = __importDefault(require("./datasource"));
|
|
7
8
|
var collection_1 = require("./collection");
|
|
8
9
|
Object.defineProperty(exports, "SequelizeCollection", { enumerable: true, get: function () { return __importDefault(collection_1).default; } });
|
|
9
|
-
var
|
|
10
|
-
Object.defineProperty(exports, "SequelizeDataSource", { enumerable: true, get: function () { return __importDefault(
|
|
10
|
+
var datasource_2 = require("./datasource");
|
|
11
|
+
Object.defineProperty(exports, "SequelizeDataSource", { enumerable: true, get: function () { return __importDefault(datasource_2).default; } });
|
|
11
12
|
var type_converter_1 = require("./utils/type-converter");
|
|
12
13
|
Object.defineProperty(exports, "TypeConverter", { enumerable: true, get: function () { return __importDefault(type_converter_1).default; } });
|
|
13
|
-
|
|
14
|
+
function createSequelizeDataSource(connection) {
|
|
15
|
+
return async (logger) => new datasource_1.default(connection, logger);
|
|
16
|
+
}
|
|
17
|
+
exports.createSequelizeDataSource = createSequelizeDataSource;
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBR0EsOERBQStDO0FBRS9DLDJDQUE4RDtBQUFyRCxrSUFBQSxPQUFPLE9BQXVCO0FBQ3ZDLDJDQUE4RDtBQUFyRCxrSUFBQSxPQUFPLE9BQXVCO0FBQ3ZDLHlEQUFrRTtBQUF6RCxnSUFBQSxPQUFPLE9BQWlCO0FBRWpDLFNBQWdCLHlCQUF5QixDQUFDLFVBQXFCO0lBQzdELE9BQU8sS0FBSyxFQUFFLE1BQWMsRUFBRSxFQUFFLENBQUMsSUFBSSxvQkFBbUIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDL0UsQ0FBQztBQUZELDhEQUVDIn0=
|
|
@@ -1,18 +1,20 @@
|
|
|
1
|
+
import { AggregateResult, Aggregation } from '@forestadmin/datasource-toolkit';
|
|
1
2
|
import { GroupOption, Model, ModelDefined, ProjectionAlias } from 'sequelize';
|
|
2
3
|
import { Fn } from 'sequelize/types/utils';
|
|
3
|
-
import { AggregateResult, AggregationGroup } from '@forestadmin/datasource-toolkit';
|
|
4
4
|
export default class AggregationUtils {
|
|
5
5
|
private model;
|
|
6
6
|
private dialect;
|
|
7
|
+
private col;
|
|
8
|
+
private dateAggregationConverter;
|
|
7
9
|
readonly aggregateFieldName = "__aggregate__";
|
|
8
10
|
constructor(model: ModelDefined<any, any>);
|
|
9
|
-
getGroupFieldName
|
|
10
|
-
|
|
11
|
-
getGroupAndAttributesFromAggregation(aggregationQueryGroup:
|
|
11
|
+
private getGroupFieldName;
|
|
12
|
+
quoteField(field: string): string;
|
|
13
|
+
getGroupAndAttributesFromAggregation(aggregationQueryGroup: Aggregation['groups']): {
|
|
12
14
|
groups: GroupOption;
|
|
13
15
|
attributes: ProjectionAlias[];
|
|
14
16
|
};
|
|
15
17
|
getOrder(aggregationFunction: Fn): [string | Fn | import("sequelize/types/utils").Col | import("sequelize/types/utils").Literal, string];
|
|
16
|
-
computeResult(rows: Model<any, any>[], aggregationQueryGroup:
|
|
18
|
+
computeResult(rows: Model<any, any>[], aggregationQueryGroup: Aggregation['groups']): AggregateResult[];
|
|
17
19
|
}
|
|
18
20
|
//# sourceMappingURL=aggregation.d.ts.map
|