@clairejs/server 3.9.0 → 3.10.0

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