@clairejs/server 3.8.3 → 3.8.4

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