@clairejs/server 3.10.15 → 3.10.17

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 (71) hide show
  1. package/.prettierrc +8 -8
  2. package/README.md +750 -745
  3. package/dist/common/FileOperation.d.ts +5 -5
  4. package/dist/common/ServerModelMetadata.d.ts +10 -10
  5. package/dist/common/auth/AbstractPrincipalResolver.d.ts +4 -4
  6. package/dist/common/auth/IPrincipal.d.ts +4 -4
  7. package/dist/common/constants.d.ts +1 -1
  8. package/dist/common/request/EndpointMetadata.d.ts +40 -40
  9. package/dist/common/request/HttpData.d.ts +1 -1
  10. package/dist/common/request/HttpEndpoint.d.ts +8 -8
  11. package/dist/common/request/JobData.d.ts +1 -1
  12. package/dist/common/request/MountedEndpointInfo.d.ts +6 -6
  13. package/dist/common/request/RequestOptions.d.ts +8 -8
  14. package/dist/common/request/SocketData.d.ts +1 -1
  15. package/dist/common/request/types.d.ts +1 -1
  16. package/dist/http/auth/AbstractHttpAuthorizationProvider.d.ts +9 -9
  17. package/dist/http/auth/AbstractRbacAuthProvider.d.ts +18 -18
  18. package/dist/http/auth/RedisRbacAuthProvider.d.ts +24 -24
  19. package/dist/http/auth/SocketRbacAuthProvider.d.ts +25 -25
  20. package/dist/http/auth/rbac.d.ts +34 -34
  21. package/dist/http/common/HttpRequest.d.ts +40 -40
  22. package/dist/http/common/HttpResponse.d.ts +34 -34
  23. package/dist/http/controller/AbstractHttpController.d.ts +9 -9
  24. package/dist/http/controller/AbstractHttpMiddleware.d.ts +10 -10
  25. package/dist/http/controller/AbstractHttpRequestHandler.d.ts +18 -16
  26. package/dist/http/controller/ControllerMetadata.d.ts +6 -6
  27. package/dist/http/controller/CrudHttpController.d.ts +41 -41
  28. package/dist/http/controller/DefaultHttpRequestHandler.d.ts +21 -21
  29. package/dist/http/decorators.d.ts +35 -35
  30. package/dist/http/file-upload/AbstractFileUploadHandler.d.ts +6 -6
  31. package/dist/http/file-upload/FileUploadHandler.d.ts +10 -10
  32. package/dist/http/file-upload/types.d.ts +3 -3
  33. package/dist/http/repository/AbstractRepository.d.ts +10 -10
  34. package/dist/http/repository/DtoRepository.d.ts +58 -58
  35. package/dist/http/repository/ICrudRepository.d.ts +27 -27
  36. package/dist/http/repository/ModelRepository.d.ts +37 -37
  37. package/dist/http/security/AbstractAccessCondition.d.ts +7 -7
  38. package/dist/http/security/access-conditions/DtoFieldValidation.d.ts +4 -4
  39. package/dist/http/security/access-conditions/FilterModelFieldAccessCondition.d.ts +4 -4
  40. package/dist/http/security/access-conditions/MaximumQueryLimit.d.ts +8 -8
  41. package/dist/http/security/cors.d.ts +6 -6
  42. package/dist/index.d.ts +58 -57
  43. package/dist/index.js +1 -1
  44. package/dist/job/AbstractJobController.d.ts +4 -4
  45. package/dist/job/AbstractJobRepository.d.ts +17 -17
  46. package/dist/job/AbstractJobScheduler.d.ts +38 -38
  47. package/dist/job/AwsJobScheduler.d.ts +48 -48
  48. package/dist/job/LocalJobScheduler.d.ts +88 -88
  49. package/dist/job/decorators.d.ts +5 -5
  50. package/dist/job/interfaces.d.ts +50 -50
  51. package/dist/logging/FileLogMedium.d.ts +13 -13
  52. package/dist/service/AbstractCacheService.d.ts +22 -22
  53. package/dist/service/AbstractFileService.d.ts +11 -11
  54. package/dist/service/AbstractService.d.ts +7 -7
  55. package/dist/socket/AbstractServerSocket.d.ts +18 -18
  56. package/dist/socket/AbstractServerSocketManager.d.ts +46 -46
  57. package/dist/socket/AbstractSocketConnectionHandler.d.ts +6 -6
  58. package/dist/socket/AbstractSocketController.d.ts +14 -14
  59. package/dist/socket/AwsSocketManager.d.ts +30 -30
  60. package/dist/socket/IServerSocket.d.ts +16 -16
  61. package/dist/socket/LocalSocketManager.d.ts +47 -47
  62. package/dist/system/ClaireServer.d.ts +13 -13
  63. package/dist/system/ExpressWrapper.d.ts +19 -21
  64. package/dist/system/LambdaWrapper.d.ts +25 -27
  65. package/dist/system/ServerGlobalStore.d.ts +8 -8
  66. package/dist/system/errors.d.ts +14 -14
  67. package/dist/system/lamba-request-mapper.d.ts +2 -2
  68. package/dist/system/locale/LocaleEntry.d.ts +3 -3
  69. package/dist/system/locale/LocaleTranslation.d.ts +6 -6
  70. package/dist/system/locale/decorators.d.ts +2 -2
  71. package/package.json +62 -62
package/README.md CHANGED
@@ -1,745 +1,750 @@
1
- ## Change Log
2
-
3
- #### 3.10.15
4
-
5
- - add / adjust cors setting
6
- - add cookie parser
7
- - fix set cookie with options
8
- - fix express & lambda wrapper to return cookies
9
-
10
- #### 3.10.7
11
-
12
- - add random to order option in model repository
13
- - socket_read -> disable_write, socket_write -> disable_read
14
-
15
- #### 3.10.5
16
-
17
- - AbstractJobScheduler run job with spread params
18
- - use setTimeout for local scheduler at timestamp
19
- - fix AwsJobScheduler cron expression
20
- - breaking change update to AbstractFileService
21
-
22
- #### 3.9.2
23
-
24
- - moving and using crud dto factory from claire core
25
- - add expire param to AbstractCacheService set
26
-
27
- #### 3.9.0
28
-
29
- - fix AbstractHttpMiddleware to accept response as second param and return boolean as result
30
-
31
- #### 3.8.8
32
-
33
- - update core package, reduce db calls in ModelRepository
34
- - allow nested update HasMany / HasOne field in ModelRepository
35
-
36
- #### 3.8.6
37
-
38
- - fix auto fill of post/put default value (no more auto fill, because of access condition check)
39
- - fix getMany projection in ModelRepository
40
- - fix hasMany fields in CRUD projection
41
-
42
- #### 3.8.3
43
-
44
- - RedisRbacAuthProvider service id resolver
45
-
46
- #### 3.8.1
47
-
48
- - fix @CurrentUser does no more require Identifiable class
49
- - fix default locale reading empty object properties in ModelRepository
50
-
51
- #### 3.8.0
52
-
53
- - add @LocaleOf decorator
54
- - handle multi-locale for ModelRepository & CrudHtppController
55
-
56
- #### 3.7.12
57
-
58
- - handle gcd of interval to reduce step function trigger rate
59
- - handle cron event for lambda wrapper
60
- - fix remove cron job for AwsJobScheduler
61
- - fix cron expression
62
- - fix rate 1 minute without 's'
63
- - add more debug log
64
- - fix cron expression validation
65
- - remove job executor
66
- - implement AwsJobScheduler (EventBridge + Step Function)
67
- - fix LocalJobScheduler interface
68
- - allow persist LocalJobScheduler job info & multi instance support
69
-
70
- #### 3.6.23
71
-
72
- - unify handle not found error
73
- - fix create many does not return mime field in CrudHttpController
74
- - fix local socket manager buffer message while socket is creating
75
- - fix async handling in lambda socket manager
76
- - handling READY socket message
77
- - fix AwsSocketManager does not remove socket from redis when disconnect
78
- - handle default "" or "/" endpoint correctly
79
- - fix CrudHttpController filter by boolean field
80
- - fix AwsSocketManager not remove socket from channel after disconnection
81
- - support @HasOne for Crud controller
82
- - fix nested queries for ModelRepository
83
-
84
- #### 3.6.3
85
-
86
- - fix onChannelConnected cannot send back data to socket (because socket was not yet added to channel and old instance was used)
87
- - add READY socket message
88
-
89
- #### 3.6.0
90
-
91
- - move database to @clairejs/orm package. Bye bye...
92
-
93
- #### 3.5.4
94
-
95
- - fix aws get socket by id
96
- - send error when close socket
97
- - remove constructor dependency of socket connection handler in socket managers
98
-
99
- #### 3.5.0
100
-
101
- - use ioredis instead of redis (for redlock to work)
102
- - update job interfaces
103
- - adapt socket managers to use ioredis
104
-
105
- #### 3.4.0
106
-
107
- - add job related classes
108
-
109
- #### 3.3.27
110
-
111
- - add random order
112
- - add \_nin operator
113
-
114
- #### 3.3.26
115
-
116
- - remove socket if authentication failed for aws socket manager
117
- - fix lambda request mapper
118
- - fix Express parse Api gateway query for socket connection
119
- - add debug log
120
- - refactor principal data resolver for socket manager
121
-
122
- #### 3.3.19
123
-
124
- - ExpressWrapper don't send response for gateway socket integration (except for connection request)
125
- - fix ExpressWrapper handle APi gateway socket message data
126
- - fix LocalSocketManager get socket by id
127
- - fix auth resolver typing
128
- - fix socket data parsing problem
129
- - fix local socket manager subscribe
130
- - update redis client to v4
131
-
132
- #### 3.3.10
133
-
134
- - fix LambdaWrapper receive ClaireApp factory
135
- - socket pong return original data
136
- - fix ModelRepository getNestedQueries
137
- - add ops to ICrudRepository
138
-
139
- #### 3.3.5
140
-
141
- - fix socket auth provider
142
- - add getSocketsByChannels
143
- - fix express server exit close connection
144
- - update socket manager to support multiple instances
145
-
146
- #### 3.2.8
147
-
148
- - fix CrudHttpController condition check for update body
149
-
150
- #### 3.2.6
151
-
152
- - add cache to RedisRbacAuthProvider
153
-
154
- #### 3.2.5
155
-
156
- - add TfaRequired() decorator and hasTfa to IPrincipal
157
- - abstract DefaultHttpRequestHandler accessControl
158
-
159
- #### 3.2.4
160
-
161
- - IPrincipal id to be any
162
-
163
- #### 3.2.3
164
-
165
- - simplify dto dissolver interface
166
- - introduce DtoRepository
167
-
168
- #### 3.2.0
169
-
170
- - introduce ICrudRepository
171
- - CrudHttpController now requires param of ICrudRepository
172
-
173
- #### 3.1.16
174
-
175
- - fix uri mapper in CRUD update request
176
-
177
- #### 3.1.15
178
-
179
- - re-implement @CurrentUser decorator
180
-
181
- #### 3.1.14
182
-
183
- - fix UriMapper & UriMapperHandler types
184
-
185
- #### 3.1.13
186
-
187
- - provide IQueryProvider to uriMapper, move uriMapper to server logic
188
- - provide tmpUri to uriMapper in ModelRepository
189
-
190
- #### 3.1.11
191
-
192
- - fix CrudHttpController missing description
193
- - fix projection query data type
194
-
195
- #### 3.1.9
196
-
197
- - strip response data if responseDto is present
198
-
199
- #### 3.1.8
200
-
201
- - return 401 http code if not auth throw
202
-
203
- #### 3.1.7
204
-
205
- - fix CrudHtppController merge wrong endpoint
206
-
207
- #### 3.1.5
208
-
209
- - fix aws socket manager parse null redis
210
-
211
- #### 3.1.4
212
-
213
- - abstract file service and cache service does not extends AbstractService anymore
214
- - fix abstract file service
215
-
216
- #### 3.1.2
217
-
218
- - fix server socket sending incorrect plain message
219
-
220
- #### 3.1.1
221
-
222
- - fix server socket
223
- - add permission conditions to CrudHttpController
224
- - add abstract services
225
- - add FileUploadHandler
226
- - add Abstract RbacAuthProvider, Redis & Cache Rbac Auth Provider
227
- - add rbac dto
228
- - add MaximumQueryLimit & DtoFieldValidation conditions
229
-
230
- #### 3.0.36
231
-
232
- - fix crud controller metadata
233
-
234
- #### 3.0.33
235
-
236
- - add @ApiDescription
237
- - add CrudHttpController metadata description
238
-
239
- #### 3.0.30
240
-
241
- - fix objectTypeConstructor
242
-
243
- #### 3.0.29:
244
-
245
- - @Socket -> @Message
246
- - use @Socket to get socket injection in controller method
247
-
248
- #### 3.0.26:
249
-
250
- - add error log in http request handler
251
-
252
- #### 3.0.25:
253
-
254
- - add null search in vector
255
- - support array search for isSymbol field
256
-
257
- #### 3.0.22:
258
-
259
- - fix timestamp field
260
-
261
- #### 3.0.19:
262
-
263
- - fix error throw in transactional
264
-
265
- #### 3.0.18:
266
-
267
- - fix not escape search value
268
- - fix accent & sensitive search in Mysql and Postgres
269
-
270
- #### 3.0.15:
271
-
272
- - require injection of database adapter in AbstractSerivce & AbstractHttpController
273
-
274
- #### 3.0.14:
275
-
276
- - add getById and getByIds to IQuery
277
-
278
- #### 3.0.12:
279
-
280
- - fix error return
281
-
282
- #### 3.0.10:
283
-
284
- - remove count query when getOne
285
-
286
- #### 3.0.8:
287
-
288
- - freeze table name in join clause
289
-
290
- #### 3.0.6:
291
-
292
- - fix index export
293
- - fix AbstractAccessCondition signature
294
-
295
- #### 3.0.5:
296
-
297
- - tested on Postgres & MySql
298
- - add join ability to IQuery, awesome!!
299
-
300
- #### 3.0.3: http method decorator return type check
301
-
302
- - add @ApiResponse decorator to store response body validator
303
- - add TypedPropertyDescriptor in HTTP method decorator to validate function return type (Promise<HttpResponse<any>>>)
304
-
305
- #### 3.0.2: improve http response
306
-
307
- - add binary response
308
-
309
- #### 3.0.0:
310
-
311
- - update claire core 3.0
312
- - controller function param decorators
313
- - ResponseBuilder
314
- - remove ops in getMany
315
-
316
- #### 2.3.13:
317
-
318
- - update raw query function signature
319
-
320
- #### 2.3.12:
321
-
322
- - fix & export CrudService
323
-
324
- #### 2.3.10:
325
-
326
- - Array & Object model field persist & parse
327
-
328
- #### 2.3.9:
329
-
330
- - @TextField will default to Sequelize.TEXT if length is not specified
331
-
332
- #### 2.3.6:
333
-
334
- - fix missing beforeCreate call when update nesting
335
-
336
- #### 2.3.1:
337
-
338
- - fix returning nested uris
339
-
340
- #### 2.3.0:
341
-
342
- - introduce CrudService
343
- - CrudHttpController support @HasMany
344
-
345
- #### 2.2.12:
346
-
347
- - fix isIntegral default
348
-
349
- #### 2.2.10:
350
-
351
- - update `CrudHttpController` Update and Delete to return `Partial<T>`
352
-
353
- #### 2.2.2:
354
-
355
- - fix `@CurrentUser` decorator
356
- - implement `@CurrentUser` decorator
357
-
358
- #### 2.2.0:
359
-
360
- - add `AbstractFileUploadHandler` and handle file upload in `CrudHttpController`
361
- - fix migration contraint remove order
362
-
363
- #### 2.1.20:
364
-
365
- - extends IPrincipal
366
-
367
- #### 2.1.19:
368
-
369
- - fix crud http controller not init database adapter
370
-
371
- #### 2.1.18:
372
-
373
- - downgrade webpack
374
-
375
- #### 2.1.16:
376
-
377
- - add pg-hstore
378
-
379
- #### 2.1.15:
380
-
381
- - add optional injection for socket manager
382
-
383
- #### 2.1.14:
384
-
385
- - AwsSocketManger needs always to be fed by JSON object
386
-
387
- #### 2.1.13:
388
-
389
- - correct json parsing when hanling aws socket message
390
-
391
- #### 2.1.11:
392
-
393
- - adjust getMany and getRecords to return Pick type based on projection
394
- - add getRecords for IQuery to return just the records
395
-
396
- #### 2.1.9:
397
-
398
- - fix CrudHttpController updateMany FilterField condition check
399
-
400
- #### 2.1.8:
401
-
402
- - fix server socket remove not delete its redis info
403
- - add socket created timestamp info
404
- - add get all alive sockets to remove stale sockets in server
405
-
406
- #### 2.1.5:
407
-
408
- - support model defualt value in db migrator & adapter
409
-
410
- #### 2.1.3:
411
-
412
- - add test for cascade delete
413
-
414
- #### 2.1.2:
415
-
416
- - update claire core
417
- - fix converting QueryCondition use "and" as default operator
418
-
419
- #### 2.1.1:
420
-
421
- - update claire core
422
- - update implementation of FileLogMedium
423
-
424
- #### 2.0.26:
425
-
426
- - parse client socket data
427
- - add more debug log
428
- - fix ExpressWrapper AWS GW socket http integration
429
-
430
- #### 2.0.17:
431
-
432
- - add AWS API GW socket request parser for express
433
-
434
- #### 2.0.16:
435
-
436
- - add log to http request handler
437
- - refactor to allow AwsSocketManager to be used with ExpressWrapper
438
-
439
- #### 2.0.14:
440
-
441
- - fix express socket unique id
442
-
443
- #### 2.0.13:
444
-
445
- - update error code from claire core
446
-
447
- #### 2.0.12:
448
-
449
- - export Get, Post, Put, Del decorators
450
-
451
- #### 2.0.11:
452
-
453
- - add log in http request handler
454
- - fix AbstractAccessCondition signature
455
-
456
- #### 2.0.9:
457
-
458
- - fix AccessCondition (to use injection)
459
- - fix ExpressWrapper & LambdaWrapper to resolve AbstractServerSocketManager
460
- - remove getMountedEndpointInfo from AbstractHttpRequestHandler, move to ServerGlobalStore
461
- - fix property assignment in isolated transactional object
462
- - add log for AwsSocketManager, fix connection problem to redis
463
-
464
- #### 2.0.1:
465
-
466
- - fix some import redundancies
467
-
468
- #### 2.0.0:
469
-
470
- - Upgrade with claire core 2.0.0
471
-
472
- #### 1.6.4:
473
-
474
- - Add pong socket response
475
-
476
- #### 1.6.3:
477
-
478
- - AbstractDatabaseMigrator: supply migration directory to migrate and rollback functions
479
- - fix migrator cli path
480
-
481
- #### 1.6.1:
482
-
483
- - AbstractPrincipal -> IPrincipal (for serialization)
484
-
485
- #### 1.5.51:
486
-
487
- - fix AwsSocketManager not release redis connection, add more log
488
- - fix ExpressWrapper unhandled socket promise exception
489
-
490
- #### 1.5.39 (Breaking change):
491
-
492
- - fix properties null check
493
- - socket multiplex
494
-
495
- #### 1.5.28:
496
-
497
- - fix server socket authId => authInfo
498
-
499
- #### 1.5.26:
500
-
501
- - add OwnedResourceAccessCondition
502
-
503
- #### 1.5.24:
504
-
505
- - replace HttpRequest.getPrincipalId by HttpRequest.getAuthInfo
506
-
507
- #### 1.5.23:
508
-
509
- - fix ServerSocket
510
- - fix not remove disconnect socket from socket manager
511
-
512
- #### 1.5.15 (Breaking change):
513
-
514
- - remove getValue / setValue in HttpRequest
515
- - add setPrincipalId / getPrincipalId in HttpRequest
516
- - adjust Socket Server
517
-
518
- #### 1.5.12:
519
-
520
- - handle socket in lambda wrapper
521
-
522
- #### 1.5.11:
523
-
524
- - fix ServerSocket
525
-
526
- #### 1.5.6:
527
-
528
- - update claire core
529
- - fix ServerSocket
530
-
531
- #### 1.5.4:
532
-
533
- - run middleware before socket authentication
534
-
535
- #### 1.5.2:
536
-
537
- - add websocket support in ExpressWrapper
538
-
539
- #### 1.5.1:
540
-
541
- - update claire core
542
-
543
- #### 1.5.0:
544
-
545
- - revert back to 1.3.38
546
-
547
- #### 1.3.38:
548
-
549
- - export QueryCondition
550
-
551
- #### 1.3.37:
552
-
553
- - return error name instead of TRANSACTION_ERROR
554
- - update claire core
555
-
556
- #### 1.3.36:
557
-
558
- - fix missing down script of unique constraint in database migrator
559
- - add rollback to database migrator
560
-
561
- #### 1.3.34:
562
-
563
- - export AbstractDatabaseMigrator
564
- - fix DefaultSqlDatabaseMigrator not generate new unique constraints for new field
565
-
566
- #### 1.3.32:
567
-
568
- - fix DefaultSqlDatabaseMigrator missing foreign constraint check when add/remove fields
569
-
570
- #### 1.3.31:
571
-
572
- - update server modify
573
-
574
- #### 1.3.30:
575
-
576
- - adjust body raw parser in ExpressWrapper
577
-
578
- #### 1.3.28:
579
-
580
- - fix not supply HttpResponse in Http handler
581
-
582
- #### 1.3.27:
583
-
584
- - add body parser raw middleware
585
-
586
- #### 1.3.26:
587
-
588
- - modify express wrapper send result
589
-
590
- #### 1.3.25:
591
-
592
- - add request options mapper in LambdaWrapper
593
-
594
- #### 1.3.24:
595
-
596
- - add LambdaWrapper
597
-
598
- #### 1.3.23:
599
-
600
- - add ExpressWrapper
601
-
602
- #### 1.3.22:
603
-
604
- - merge accessConditions in CrudHttpController
605
-
606
- #### 1.3.21:
607
-
608
- - DefaultSqlDatabaseMigrator will no longer generate remove table query.
609
-
610
- #### 1.3.20:
611
-
612
- - add permissionGroup and displayName metadata for EndpointMetadata
613
-
614
- #### 1.3.16:
615
-
616
- - update claire core
617
- - allow empty records for CrudHttpController createMany
618
-
619
- #### 1.3.15:
620
-
621
- - fix incorrect parse Http params
622
-
623
- #### 1.3.13:
624
-
625
- - update claire core
626
-
627
- #### 1.3.12:
628
-
629
- - re-introduce terser plugin
630
- - update claire core
631
-
632
- #### 1.3.10:
633
-
634
- - emit source map
635
-
636
- #### 1.3.9:
637
-
638
- - update claire core
639
-
640
- #### 1.3.8:
641
-
642
- - fix missing HttpResponse export
643
-
644
- #### 1.3.7:
645
-
646
- - upgrade Clairejs/core
647
-
648
- #### 1.3.6:
649
-
650
- - upgrade Clairejs/core
651
-
652
- - interpret @ServerTime and @Timestamp
653
-
654
- #### 1.3.2 (Breaking change):
655
-
656
- - re-introduce http response to controller
657
-
658
- #### 1.2.6:
659
-
660
- - add unaccent operators (uSUBSTR, iuSUBSTR)
661
-
662
- #### 1.2.5:
663
-
664
- - allow multiple calls to boot
665
-
666
- #### 1.2.4:
667
-
668
- - fix http request handler parse get and delete request body
669
-
670
- #### 1.2.2:
671
-
672
- - split database migrator
673
- - rework of ClaireServer to be request handler
674
- - remove dependency of expressjs and its middleware
675
-
676
- #### 1.1.9:
677
-
678
- - revert 1.1.8
679
-
680
- #### 1.1.8:
681
-
682
- - init app when getExpressApp
683
-
684
- #### 1.1.7:
685
-
686
- - add pg-hstore as dependency
687
-
688
- #### 1.1.6:
689
-
690
- - fix autoCommit in @Transactional
691
-
692
- #### 1.1.5:
693
-
694
- - use AbstractModel id field for primary key query
695
-
696
- #### 1.1.3:
697
-
698
- - fix returning ids for updateMany and deleteMany
699
-
700
- #### 1.1.2:
701
-
702
- - fix not auto generate migration when changing cascade of @FK
703
- - set build target es6
704
-
705
- #### 1.1.0:
706
-
707
- - fix foreign key cascase delete
708
- - fix auto commit of crud http controller
709
- - return array of ids when updateMany or deleteMany
710
-
711
- #### 1.0.22:
712
-
713
- - CrudHttpController exposes static validators
714
-
715
- #### 1.0.21:
716
-
717
- - update Clairejs Core
718
-
719
- #### 1.0.20:
720
-
721
- - update CrudHttpController for query change
722
-
723
- #### 1.0.17:
724
-
725
- - perform json parsing for fields of request params and queries
726
-
727
- #### 1.0.15:
728
-
729
- - fix @Searchable in CrudHttpController
730
-
731
- #### 1.0.13:
732
-
733
- - add iSUBSTR operator to search for case insensitive string
734
-
735
- #### 1.0.9:
736
-
737
- - fix CrudHttpController endpoint naming
738
-
739
- #### 1.0.8:
740
-
741
- - fix DefaultHttpRequestHandler upgrade Http
742
-
743
- #### 1.0.6:
744
-
745
- - fix DefaultHttpRequestHandler cannot return request body when no validator is provided
1
+ ## Change Log
2
+
3
+ #### 3.10.17
4
+
5
+ - fix lambda request mapper parsing cookies
6
+ - move cors config to AbstractHttpRequestHandler
7
+
8
+ #### 3.10.15
9
+
10
+ - add / adjust cors setting
11
+ - add cookie parser
12
+ - fix set cookie with options
13
+ - fix express & lambda wrapper to return cookies
14
+
15
+ #### 3.10.7
16
+
17
+ - add random to order option in model repository
18
+ - socket_read -> disable_write, socket_write -> disable_read
19
+
20
+ #### 3.10.5
21
+
22
+ - AbstractJobScheduler run job with spread params
23
+ - use setTimeout for local scheduler at timestamp
24
+ - fix AwsJobScheduler cron expression
25
+ - breaking change update to AbstractFileService
26
+
27
+ #### 3.9.2
28
+
29
+ - moving and using crud dto factory from claire core
30
+ - add expire param to AbstractCacheService set
31
+
32
+ #### 3.9.0
33
+
34
+ - fix AbstractHttpMiddleware to accept response as second param and return boolean as result
35
+
36
+ #### 3.8.8
37
+
38
+ - update core package, reduce db calls in ModelRepository
39
+ - allow nested update HasMany / HasOne field in ModelRepository
40
+
41
+ #### 3.8.6
42
+
43
+ - fix auto fill of post/put default value (no more auto fill, because of access condition check)
44
+ - fix getMany projection in ModelRepository
45
+ - fix hasMany fields in CRUD projection
46
+
47
+ #### 3.8.3
48
+
49
+ - RedisRbacAuthProvider service id resolver
50
+
51
+ #### 3.8.1
52
+
53
+ - fix @CurrentUser does no more require Identifiable class
54
+ - fix default locale reading empty object properties in ModelRepository
55
+
56
+ #### 3.8.0
57
+
58
+ - add @LocaleOf decorator
59
+ - handle multi-locale for ModelRepository & CrudHtppController
60
+
61
+ #### 3.7.12
62
+
63
+ - handle gcd of interval to reduce step function trigger rate
64
+ - handle cron event for lambda wrapper
65
+ - fix remove cron job for AwsJobScheduler
66
+ - fix cron expression
67
+ - fix rate 1 minute without 's'
68
+ - add more debug log
69
+ - fix cron expression validation
70
+ - remove job executor
71
+ - implement AwsJobScheduler (EventBridge + Step Function)
72
+ - fix LocalJobScheduler interface
73
+ - allow persist LocalJobScheduler job info & multi instance support
74
+
75
+ #### 3.6.23
76
+
77
+ - unify handle not found error
78
+ - fix create many does not return mime field in CrudHttpController
79
+ - fix local socket manager buffer message while socket is creating
80
+ - fix async handling in lambda socket manager
81
+ - handling READY socket message
82
+ - fix AwsSocketManager does not remove socket from redis when disconnect
83
+ - handle default "" or "/" endpoint correctly
84
+ - fix CrudHttpController filter by boolean field
85
+ - fix AwsSocketManager not remove socket from channel after disconnection
86
+ - support @HasOne for Crud controller
87
+ - fix nested queries for ModelRepository
88
+
89
+ #### 3.6.3
90
+
91
+ - fix onChannelConnected cannot send back data to socket (because socket was not yet added to channel and old instance was used)
92
+ - add READY socket message
93
+
94
+ #### 3.6.0
95
+
96
+ - move database to @clairejs/orm package. Bye bye...
97
+
98
+ #### 3.5.4
99
+
100
+ - fix aws get socket by id
101
+ - send error when close socket
102
+ - remove constructor dependency of socket connection handler in socket managers
103
+
104
+ #### 3.5.0
105
+
106
+ - use ioredis instead of redis (for redlock to work)
107
+ - update job interfaces
108
+ - adapt socket managers to use ioredis
109
+
110
+ #### 3.4.0
111
+
112
+ - add job related classes
113
+
114
+ #### 3.3.27
115
+
116
+ - add random order
117
+ - add \_nin operator
118
+
119
+ #### 3.3.26
120
+
121
+ - remove socket if authentication failed for aws socket manager
122
+ - fix lambda request mapper
123
+ - fix Express parse Api gateway query for socket connection
124
+ - add debug log
125
+ - refactor principal data resolver for socket manager
126
+
127
+ #### 3.3.19
128
+
129
+ - ExpressWrapper don't send response for gateway socket integration (except for connection request)
130
+ - fix ExpressWrapper handle APi gateway socket message data
131
+ - fix LocalSocketManager get socket by id
132
+ - fix auth resolver typing
133
+ - fix socket data parsing problem
134
+ - fix local socket manager subscribe
135
+ - update redis client to v4
136
+
137
+ #### 3.3.10
138
+
139
+ - fix LambdaWrapper receive ClaireApp factory
140
+ - socket pong return original data
141
+ - fix ModelRepository getNestedQueries
142
+ - add ops to ICrudRepository
143
+
144
+ #### 3.3.5
145
+
146
+ - fix socket auth provider
147
+ - add getSocketsByChannels
148
+ - fix express server exit close connection
149
+ - update socket manager to support multiple instances
150
+
151
+ #### 3.2.8
152
+
153
+ - fix CrudHttpController condition check for update body
154
+
155
+ #### 3.2.6
156
+
157
+ - add cache to RedisRbacAuthProvider
158
+
159
+ #### 3.2.5
160
+
161
+ - add TfaRequired() decorator and hasTfa to IPrincipal
162
+ - abstract DefaultHttpRequestHandler accessControl
163
+
164
+ #### 3.2.4
165
+
166
+ - IPrincipal id to be any
167
+
168
+ #### 3.2.3
169
+
170
+ - simplify dto dissolver interface
171
+ - introduce DtoRepository
172
+
173
+ #### 3.2.0
174
+
175
+ - introduce ICrudRepository
176
+ - CrudHttpController now requires param of ICrudRepository
177
+
178
+ #### 3.1.16
179
+
180
+ - fix uri mapper in CRUD update request
181
+
182
+ #### 3.1.15
183
+
184
+ - re-implement @CurrentUser decorator
185
+
186
+ #### 3.1.14
187
+
188
+ - fix UriMapper & UriMapperHandler types
189
+
190
+ #### 3.1.13
191
+
192
+ - provide IQueryProvider to uriMapper, move uriMapper to server logic
193
+ - provide tmpUri to uriMapper in ModelRepository
194
+
195
+ #### 3.1.11
196
+
197
+ - fix CrudHttpController missing description
198
+ - fix projection query data type
199
+
200
+ #### 3.1.9
201
+
202
+ - strip response data if responseDto is present
203
+
204
+ #### 3.1.8
205
+
206
+ - return 401 http code if not auth throw
207
+
208
+ #### 3.1.7
209
+
210
+ - fix CrudHtppController merge wrong endpoint
211
+
212
+ #### 3.1.5
213
+
214
+ - fix aws socket manager parse null redis
215
+
216
+ #### 3.1.4
217
+
218
+ - abstract file service and cache service does not extends AbstractService anymore
219
+ - fix abstract file service
220
+
221
+ #### 3.1.2
222
+
223
+ - fix server socket sending incorrect plain message
224
+
225
+ #### 3.1.1
226
+
227
+ - fix server socket
228
+ - add permission conditions to CrudHttpController
229
+ - add abstract services
230
+ - add FileUploadHandler
231
+ - add Abstract RbacAuthProvider, Redis & Cache Rbac Auth Provider
232
+ - add rbac dto
233
+ - add MaximumQueryLimit & DtoFieldValidation conditions
234
+
235
+ #### 3.0.36
236
+
237
+ - fix crud controller metadata
238
+
239
+ #### 3.0.33
240
+
241
+ - add @ApiDescription
242
+ - add CrudHttpController metadata description
243
+
244
+ #### 3.0.30
245
+
246
+ - fix objectTypeConstructor
247
+
248
+ #### 3.0.29:
249
+
250
+ - @Socket -> @Message
251
+ - use @Socket to get socket injection in controller method
252
+
253
+ #### 3.0.26:
254
+
255
+ - add error log in http request handler
256
+
257
+ #### 3.0.25:
258
+
259
+ - add null search in vector
260
+ - support array search for isSymbol field
261
+
262
+ #### 3.0.22:
263
+
264
+ - fix timestamp field
265
+
266
+ #### 3.0.19:
267
+
268
+ - fix error throw in transactional
269
+
270
+ #### 3.0.18:
271
+
272
+ - fix not escape search value
273
+ - fix accent & sensitive search in Mysql and Postgres
274
+
275
+ #### 3.0.15:
276
+
277
+ - require injection of database adapter in AbstractSerivce & AbstractHttpController
278
+
279
+ #### 3.0.14:
280
+
281
+ - add getById and getByIds to IQuery
282
+
283
+ #### 3.0.12:
284
+
285
+ - fix error return
286
+
287
+ #### 3.0.10:
288
+
289
+ - remove count query when getOne
290
+
291
+ #### 3.0.8:
292
+
293
+ - freeze table name in join clause
294
+
295
+ #### 3.0.6:
296
+
297
+ - fix index export
298
+ - fix AbstractAccessCondition signature
299
+
300
+ #### 3.0.5:
301
+
302
+ - tested on Postgres & MySql
303
+ - add join ability to IQuery, awesome!!
304
+
305
+ #### 3.0.3: http method decorator return type check
306
+
307
+ - add @ApiResponse decorator to store response body validator
308
+ - add TypedPropertyDescriptor in HTTP method decorator to validate function return type (Promise<HttpResponse<any>>>)
309
+
310
+ #### 3.0.2: improve http response
311
+
312
+ - add binary response
313
+
314
+ #### 3.0.0:
315
+
316
+ - update claire core 3.0
317
+ - controller function param decorators
318
+ - ResponseBuilder
319
+ - remove ops in getMany
320
+
321
+ #### 2.3.13:
322
+
323
+ - update raw query function signature
324
+
325
+ #### 2.3.12:
326
+
327
+ - fix & export CrudService
328
+
329
+ #### 2.3.10:
330
+
331
+ - Array & Object model field persist & parse
332
+
333
+ #### 2.3.9:
334
+
335
+ - @TextField will default to Sequelize.TEXT if length is not specified
336
+
337
+ #### 2.3.6:
338
+
339
+ - fix missing beforeCreate call when update nesting
340
+
341
+ #### 2.3.1:
342
+
343
+ - fix returning nested uris
344
+
345
+ #### 2.3.0:
346
+
347
+ - introduce CrudService
348
+ - CrudHttpController support @HasMany
349
+
350
+ #### 2.2.12:
351
+
352
+ - fix isIntegral default
353
+
354
+ #### 2.2.10:
355
+
356
+ - update `CrudHttpController` Update and Delete to return `Partial<T>`
357
+
358
+ #### 2.2.2:
359
+
360
+ - fix `@CurrentUser` decorator
361
+ - implement `@CurrentUser` decorator
362
+
363
+ #### 2.2.0:
364
+
365
+ - add `AbstractFileUploadHandler` and handle file upload in `CrudHttpController`
366
+ - fix migration contraint remove order
367
+
368
+ #### 2.1.20:
369
+
370
+ - extends IPrincipal
371
+
372
+ #### 2.1.19:
373
+
374
+ - fix crud http controller not init database adapter
375
+
376
+ #### 2.1.18:
377
+
378
+ - downgrade webpack
379
+
380
+ #### 2.1.16:
381
+
382
+ - add pg-hstore
383
+
384
+ #### 2.1.15:
385
+
386
+ - add optional injection for socket manager
387
+
388
+ #### 2.1.14:
389
+
390
+ - AwsSocketManger needs always to be fed by JSON object
391
+
392
+ #### 2.1.13:
393
+
394
+ - correct json parsing when hanling aws socket message
395
+
396
+ #### 2.1.11:
397
+
398
+ - adjust getMany and getRecords to return Pick type based on projection
399
+ - add getRecords for IQuery to return just the records
400
+
401
+ #### 2.1.9:
402
+
403
+ - fix CrudHttpController updateMany FilterField condition check
404
+
405
+ #### 2.1.8:
406
+
407
+ - fix server socket remove not delete its redis info
408
+ - add socket created timestamp info
409
+ - add get all alive sockets to remove stale sockets in server
410
+
411
+ #### 2.1.5:
412
+
413
+ - support model defualt value in db migrator & adapter
414
+
415
+ #### 2.1.3:
416
+
417
+ - add test for cascade delete
418
+
419
+ #### 2.1.2:
420
+
421
+ - update claire core
422
+ - fix converting QueryCondition use "and" as default operator
423
+
424
+ #### 2.1.1:
425
+
426
+ - update claire core
427
+ - update implementation of FileLogMedium
428
+
429
+ #### 2.0.26:
430
+
431
+ - parse client socket data
432
+ - add more debug log
433
+ - fix ExpressWrapper AWS GW socket http integration
434
+
435
+ #### 2.0.17:
436
+
437
+ - add AWS API GW socket request parser for express
438
+
439
+ #### 2.0.16:
440
+
441
+ - add log to http request handler
442
+ - refactor to allow AwsSocketManager to be used with ExpressWrapper
443
+
444
+ #### 2.0.14:
445
+
446
+ - fix express socket unique id
447
+
448
+ #### 2.0.13:
449
+
450
+ - update error code from claire core
451
+
452
+ #### 2.0.12:
453
+
454
+ - export Get, Post, Put, Del decorators
455
+
456
+ #### 2.0.11:
457
+
458
+ - add log in http request handler
459
+ - fix AbstractAccessCondition signature
460
+
461
+ #### 2.0.9:
462
+
463
+ - fix AccessCondition (to use injection)
464
+ - fix ExpressWrapper & LambdaWrapper to resolve AbstractServerSocketManager
465
+ - remove getMountedEndpointInfo from AbstractHttpRequestHandler, move to ServerGlobalStore
466
+ - fix property assignment in isolated transactional object
467
+ - add log for AwsSocketManager, fix connection problem to redis
468
+
469
+ #### 2.0.1:
470
+
471
+ - fix some import redundancies
472
+
473
+ #### 2.0.0:
474
+
475
+ - Upgrade with claire core 2.0.0
476
+
477
+ #### 1.6.4:
478
+
479
+ - Add pong socket response
480
+
481
+ #### 1.6.3:
482
+
483
+ - AbstractDatabaseMigrator: supply migration directory to migrate and rollback functions
484
+ - fix migrator cli path
485
+
486
+ #### 1.6.1:
487
+
488
+ - AbstractPrincipal -> IPrincipal (for serialization)
489
+
490
+ #### 1.5.51:
491
+
492
+ - fix AwsSocketManager not release redis connection, add more log
493
+ - fix ExpressWrapper unhandled socket promise exception
494
+
495
+ #### 1.5.39 (Breaking change):
496
+
497
+ - fix properties null check
498
+ - socket multiplex
499
+
500
+ #### 1.5.28:
501
+
502
+ - fix server socket authId => authInfo
503
+
504
+ #### 1.5.26:
505
+
506
+ - add OwnedResourceAccessCondition
507
+
508
+ #### 1.5.24:
509
+
510
+ - replace HttpRequest.getPrincipalId by HttpRequest.getAuthInfo
511
+
512
+ #### 1.5.23:
513
+
514
+ - fix ServerSocket
515
+ - fix not remove disconnect socket from socket manager
516
+
517
+ #### 1.5.15 (Breaking change):
518
+
519
+ - remove getValue / setValue in HttpRequest
520
+ - add setPrincipalId / getPrincipalId in HttpRequest
521
+ - adjust Socket Server
522
+
523
+ #### 1.5.12:
524
+
525
+ - handle socket in lambda wrapper
526
+
527
+ #### 1.5.11:
528
+
529
+ - fix ServerSocket
530
+
531
+ #### 1.5.6:
532
+
533
+ - update claire core
534
+ - fix ServerSocket
535
+
536
+ #### 1.5.4:
537
+
538
+ - run middleware before socket authentication
539
+
540
+ #### 1.5.2:
541
+
542
+ - add websocket support in ExpressWrapper
543
+
544
+ #### 1.5.1:
545
+
546
+ - update claire core
547
+
548
+ #### 1.5.0:
549
+
550
+ - revert back to 1.3.38
551
+
552
+ #### 1.3.38:
553
+
554
+ - export QueryCondition
555
+
556
+ #### 1.3.37:
557
+
558
+ - return error name instead of TRANSACTION_ERROR
559
+ - update claire core
560
+
561
+ #### 1.3.36:
562
+
563
+ - fix missing down script of unique constraint in database migrator
564
+ - add rollback to database migrator
565
+
566
+ #### 1.3.34:
567
+
568
+ - export AbstractDatabaseMigrator
569
+ - fix DefaultSqlDatabaseMigrator not generate new unique constraints for new field
570
+
571
+ #### 1.3.32:
572
+
573
+ - fix DefaultSqlDatabaseMigrator missing foreign constraint check when add/remove fields
574
+
575
+ #### 1.3.31:
576
+
577
+ - update server modify
578
+
579
+ #### 1.3.30:
580
+
581
+ - adjust body raw parser in ExpressWrapper
582
+
583
+ #### 1.3.28:
584
+
585
+ - fix not supply HttpResponse in Http handler
586
+
587
+ #### 1.3.27:
588
+
589
+ - add body parser raw middleware
590
+
591
+ #### 1.3.26:
592
+
593
+ - modify express wrapper send result
594
+
595
+ #### 1.3.25:
596
+
597
+ - add request options mapper in LambdaWrapper
598
+
599
+ #### 1.3.24:
600
+
601
+ - add LambdaWrapper
602
+
603
+ #### 1.3.23:
604
+
605
+ - add ExpressWrapper
606
+
607
+ #### 1.3.22:
608
+
609
+ - merge accessConditions in CrudHttpController
610
+
611
+ #### 1.3.21:
612
+
613
+ - DefaultSqlDatabaseMigrator will no longer generate remove table query.
614
+
615
+ #### 1.3.20:
616
+
617
+ - add permissionGroup and displayName metadata for EndpointMetadata
618
+
619
+ #### 1.3.16:
620
+
621
+ - update claire core
622
+ - allow empty records for CrudHttpController createMany
623
+
624
+ #### 1.3.15:
625
+
626
+ - fix incorrect parse Http params
627
+
628
+ #### 1.3.13:
629
+
630
+ - update claire core
631
+
632
+ #### 1.3.12:
633
+
634
+ - re-introduce terser plugin
635
+ - update claire core
636
+
637
+ #### 1.3.10:
638
+
639
+ - emit source map
640
+
641
+ #### 1.3.9:
642
+
643
+ - update claire core
644
+
645
+ #### 1.3.8:
646
+
647
+ - fix missing HttpResponse export
648
+
649
+ #### 1.3.7:
650
+
651
+ - upgrade Clairejs/core
652
+
653
+ #### 1.3.6:
654
+
655
+ - upgrade Clairejs/core
656
+
657
+ - interpret @ServerTime and @Timestamp
658
+
659
+ #### 1.3.2 (Breaking change):
660
+
661
+ - re-introduce http response to controller
662
+
663
+ #### 1.2.6:
664
+
665
+ - add unaccent operators (uSUBSTR, iuSUBSTR)
666
+
667
+ #### 1.2.5:
668
+
669
+ - allow multiple calls to boot
670
+
671
+ #### 1.2.4:
672
+
673
+ - fix http request handler parse get and delete request body
674
+
675
+ #### 1.2.2:
676
+
677
+ - split database migrator
678
+ - rework of ClaireServer to be request handler
679
+ - remove dependency of expressjs and its middleware
680
+
681
+ #### 1.1.9:
682
+
683
+ - revert 1.1.8
684
+
685
+ #### 1.1.8:
686
+
687
+ - init app when getExpressApp
688
+
689
+ #### 1.1.7:
690
+
691
+ - add pg-hstore as dependency
692
+
693
+ #### 1.1.6:
694
+
695
+ - fix autoCommit in @Transactional
696
+
697
+ #### 1.1.5:
698
+
699
+ - use AbstractModel id field for primary key query
700
+
701
+ #### 1.1.3:
702
+
703
+ - fix returning ids for updateMany and deleteMany
704
+
705
+ #### 1.1.2:
706
+
707
+ - fix not auto generate migration when changing cascade of @FK
708
+ - set build target es6
709
+
710
+ #### 1.1.0:
711
+
712
+ - fix foreign key cascase delete
713
+ - fix auto commit of crud http controller
714
+ - return array of ids when updateMany or deleteMany
715
+
716
+ #### 1.0.22:
717
+
718
+ - CrudHttpController exposes static validators
719
+
720
+ #### 1.0.21:
721
+
722
+ - update Clairejs Core
723
+
724
+ #### 1.0.20:
725
+
726
+ - update CrudHttpController for query change
727
+
728
+ #### 1.0.17:
729
+
730
+ - perform json parsing for fields of request params and queries
731
+
732
+ #### 1.0.15:
733
+
734
+ - fix @Searchable in CrudHttpController
735
+
736
+ #### 1.0.13:
737
+
738
+ - add iSUBSTR operator to search for case insensitive string
739
+
740
+ #### 1.0.9:
741
+
742
+ - fix CrudHttpController endpoint naming
743
+
744
+ #### 1.0.8:
745
+
746
+ - fix DefaultHttpRequestHandler upgrade Http
747
+
748
+ #### 1.0.6:
749
+
750
+ - fix DefaultHttpRequestHandler cannot return request body when no validator is provided