@clairejs/server
v3.22.9
Published
Claire server NodeJs framework written in Typescript.
Downloads
41
Readme
Change Log
3.22.9
- fix typing issue with job handler function
- fix providing transaction to job remove function
3.22.8
- remove log, aws job scheduler issue fixed
- add log
- fix Lambda Wrapper resolve job scheduler
- add log to debug aws cron
3.22.3:
- fix AwsCron expression
- fix ModelRepository return correct vector props nested fields
- fix uri mapper to map Identifiable classes
- remove support of uri mapper for locale fields
- support uri mapper for nested array field
3.21.9:
- fix express wrapper parse multipart form data
- upgrade packages
- fix getApiInfo return circular object
- fix cron expression
- add log to aws job scheduler & fix cronjob sync
- simplify lambda job scheduler, remove job interval that is less than 60s
3.20.2:
- fix redlock timeout issue
- fix req not resolve leads to undefined request in DefaultHttpRequestHandler
- fix concurrent transactions in updateRecords
- update claire core, claire orm and fix returning
3.19.7:
- public expose endpointMetadat in HttpRequest
- ModelRepository export uriHandling & beforeReturning
- fix uri mapper with vector props
- update claire orm and fix
- fix isEndpoint
- fix ModelRepository getMany
- adapt interface with new claire orm
3.18.2:
- fix multi locale issue with model repo
- fix multi locale field data type
- adapt claire core & clare orm
3.17.10:
- fix socket manager & isEndpoint
- remove handlerFunctionName (using name & displayName instead)
- fix missing controller & handlerFunctionName in EndpointMetadata
- remove AbstractController
- mount socket metadata from getChannelName
- refactor EndpointMetadata, remove MountedEndpointInfo
- add putFile in AbstractFileService
3.16.19:
- fix dependency
- allow file service to resolve empty uri to empty string
- fix job param type from any[] to any
- fix CRUD order
- fix Job repo
- fix AbstractJob
- fix LocalJobScheduler
- add abstract job model, default job repo
3.16.10:
- update core, orm
- fix aws s3 file service
- do not throw when fail to clean up in ModelRepository
- fix file controllers
- fix socket authentication, fix http error code in response
- update claire orm
- update packages, fix mount undefined:undefined when introducing updateRecords
- remove webpack build config, export as esm module
3.15.2:
- add updateRecords to CrudHttpController
3.15.0:
- ioredis becomes peer dependency
- refactor classes to receive Redis instance instead of redis server url
- fix DefaultHttpRequest handler to run access control after middleware
3.14.6:
- update claire core, add LogContext to some implementation
3.14.5:
- update claire core
3.14.4: critical fix
- fix HttpRequestHandler parsing request data
3.14.3:
- lazy validate request data
3.14.2:
- add clientIP in HttpRequest
- move access control to run before middleware
3.14.0: breaking changes
- remove AbstractCacheService
- remove @Injectable from some service implementations
- remove SystemService, move getApiInfo outside of service
- move getUploadUrlForTempUri from FileUploadController to AbstractFileService
3.13.13:
- update claire orm
- fix update many does not return lastModified field
3.13.9:
- return code in response body in case error
3.13.8:
- fix claire client
3.13.7
- fix express & lambda http return code
3.13.6
- update packages
3.13.5
- fix wrong nested returning in createMany
3.13.4
- fix updateMany in ModelRepository not returning full URL for update nested mimeProps
3.13.3
- fix index
3.13.2
- fix IPrincipal
- remove SystemSetting model
3.13.0
- adapt model id changing from number to string
- remove RBAC related implementation
- update AbtractHttpAuthorizer interface
3.12.13
- add missing socket controller permission group metadata
- add AbstractController and fix @Controller decorator to check for AbstractController
- AbstractSocketController now extends AbstractController
3.12.11
- rename AbstractHttpAuthorizationProvider -> AbstractHttpAuthorizer
3.12.10
- fix update many not reflect changes of uriHandling
3.12.9
- remove Twilio dependency & TwilioSmsService
3.12.8
- add @Transactional for AbstractJobController
3.12.7
- fix update many calling before returning before return result
- fix updateMany not returning uri after handling
- add missing file copy endpoint in file manage controller
3.12.4
- fix uri handling in ModelRepository
- move get/set system locale to core
3.12.2
- fix UriMapper typing
- simplify uri mapper, no more record & IQueryProvider
- improve ModelRepository bby removing redundant locale DB requests
3.12.0
- uri mapper does no more provide record id to reduce DB request
3.11.17
- fix remove URI files in CRUD updateMany & deleteMany
- support multi locale handling for uri mapper fields
- add @Head HTTP method & endpoint decorator
3.11.16
- fix ModelRepository return empty object for localof field without translations
- fix localeof not to generate translation for default locale
3.11.11
- fix ExpressWrapper raw parse
- do not log request body
- fix ExpressWrapper raw middleware handle any file type
- handle throw of condition check
- improve model repository to search nested field
3.11.6
- log error when request failed
- add limit setting to json request in ExpressWrapper
- remote get multiple upload url limits
- add default info log in DefaultHttpRequestHandler
3.11.1
- update webpack config
- merge with @clairejs/base-server
3.10.17
- fix lambda request mapper parsing cookies
- move cors config to AbstractHttpRequestHandler
3.10.15
- add / adjust cors setting
- add cookie parser
- fix set cookie with options
- fix express & lambda wrapper to return cookies
3.10.7
- add random to order option in model repository
- socket_read -> disable_write, socket_write -> disable_read
3.10.5
- AbstractJobScheduler run job with spread params
- use setTimeout for local scheduler at timestamp
- fix AwsJobScheduler cron expression
- breaking change update to AbstractFileService
3.9.2
- moving and using crud dto factory from claire core
- add expire param to AbstractCacheService set
3.9.0
- fix AbstractHttpMiddleware to accept response as second param and return boolean as result
3.8.8
- update core package, reduce db calls in ModelRepository
- allow nested update HasMany / HasOne field in ModelRepository
3.8.6
- fix auto fill of post/put default value (no more auto fill, because of access condition check)
- fix getMany projection in ModelRepository
- fix hasMany fields in CRUD projection
3.8.3
- RedisRbacAuthProvider service id resolver
3.8.1
- fix @CurrentUser does no more require Identifiable class
- fix default locale reading empty object properties in ModelRepository
3.8.0
- add @LocaleOf decorator
- handle multi-locale for ModelRepository & CrudHtppController
3.7.12
- handle gcd of interval to reduce step function trigger rate
- handle cron event for lambda wrapper
- fix remove cron job for AwsJobScheduler
- fix cron expression
- fix rate 1 minute without 's'
- add more debug log
- fix cron expression validation
- remove job executor
- implement AwsJobScheduler (EventBridge + Step Function)
- fix LocalJobScheduler interface
- allow persist LocalJobScheduler job info & multi instance support
3.6.23
- unify handle not found error
- fix create many does not return mime field in CrudHttpController
- fix local socket manager buffer message while socket is creating
- fix async handling in lambda socket manager
- handling READY socket message
- fix AwsSocketManager does not remove socket from redis when disconnect
- handle default "" or "/" endpoint correctly
- fix CrudHttpController filter by boolean field
- fix AwsSocketManager not remove socket from channel after disconnection
- support @HasOne for Crud controller
- fix nested queries for ModelRepository
3.6.3
- fix onChannelConnected cannot send back data to socket (because socket was not yet added to channel and old instance was used)
- add READY socket message
3.6.0
- move database to @clairejs/orm package. Bye bye...
3.5.4
- fix aws get socket by id
- send error when close socket
- remove constructor dependency of socket connection handler in socket managers
3.5.0
- use ioredis instead of redis (for redlock to work)
- update job interfaces
- adapt socket managers to use ioredis
3.4.0
- add job related classes
3.3.27
- add random order
- add _nin operator
3.3.26
- remove socket if authentication failed for aws socket manager
- fix lambda request mapper
- fix Express parse Api gateway query for socket connection
- add debug log
- refactor principal data resolver for socket manager
3.3.19
- ExpressWrapper don't send response for gateway socket integration (except for connection request)
- fix ExpressWrapper handle APi gateway socket message data
- fix LocalSocketManager get socket by id
- fix auth resolver typing
- fix socket data parsing problem
- fix local socket manager subscribe
- update redis client to v4
3.3.10
- fix LambdaWrapper receive ClaireApp factory
- socket pong return original data
- fix ModelRepository getNestedQueries
- add ops to ICrudRepository
3.3.5
- fix socket auth provider
- add getSocketsByChannels
- fix express server exit close connection
- update socket manager to support multiple instances
3.2.8
- fix CrudHttpController condition check for update body
3.2.6
- add cache to RedisRbacAuthProvider
3.2.5
- add TfaRequired() decorator and hasTfa to IPrincipal
- abstract DefaultHttpRequestHandler accessControl
3.2.4
- IPrincipal id to be any
3.2.3
- simplify dto dissolver interface
- introduce DtoRepository
3.2.0
- introduce ICrudRepository
- CrudHttpController now requires param of ICrudRepository
3.1.16
- fix uri mapper in CRUD update request
3.1.15
- re-implement @CurrentUser decorator
3.1.14
- fix UriMapper & UriMapperHandler types
3.1.13
- provide IQueryProvider to uriMapper, move uriMapper to server logic
- provide tmpUri to uriMapper in ModelRepository
3.1.11
- fix CrudHttpController missing description
- fix projection query data type
3.1.9
- strip response data if responseDto is present
3.1.8
- return 401 http code if not auth throw
3.1.7
- fix CrudHtppController merge wrong endpoint
3.1.5
- fix aws socket manager parse null redis
3.1.4
- abstract file service and cache service does not extends AbstractService anymore
- fix abstract file service
3.1.2
- fix server socket sending incorrect plain message
3.1.1
- fix server socket
- add permission conditions to CrudHttpController
- add abstract services
- add FileUploadHandler
- add Abstract RbacAuthProvider, Redis & Cache Rbac Auth Provider
- add rbac dto
- add MaximumQueryLimit & DtoFieldValidation conditions
3.0.36
- fix crud controller metadata
3.0.33
- add @ApiDescription
- add CrudHttpController metadata description
3.0.30
- fix objectTypeConstructor
3.0.29:
- @Socket -> @Message
- use @Socket to get socket injection in controller method
3.0.26:
- add error log in http request handler
3.0.25:
- add null search in vector
- support array search for isSymbol field
3.0.22:
- fix timestamp field
3.0.19:
- fix error throw in transactional
3.0.18:
- fix not escape search value
- fix accent & sensitive search in Mysql and Postgres
3.0.15:
- require injection of database adapter in AbstractSerivce & AbstractHttpController
3.0.14:
- add getById and getByIds to IQuery
3.0.12:
- fix error return
3.0.10:
- remove count query when getOne
3.0.8:
- freeze table name in join clause
3.0.6:
- fix index export
- fix AbstractAccessCondition signature
3.0.5:
- tested on Postgres & MySql
- add join ability to IQuery, awesome!!
3.0.3: http method decorator return type check
- add @ApiResponse decorator to store response body validator
- add TypedPropertyDescriptor in HTTP method decorator to validate function return type (Promise<HttpResponse>>)
3.0.2: improve http response
- add binary response
3.0.0:
- update claire core 3.0
- controller function param decorators
- ResponseBuilder
- remove ops in getMany
2.3.13:
- update raw query function signature
2.3.12:
- fix & export CrudService
2.3.10:
- Array & Object model field persist & parse
2.3.9:
- @TextField will default to Sequelize.TEXT if length is not specified
2.3.6:
- fix missing beforeCreate call when update nesting
2.3.1:
- fix returning nested uris
2.3.0:
- introduce CrudService
- CrudHttpController support @HasMany
2.2.12:
- fix isIntegral default
2.2.10:
- update
CrudHttpController
Update and Delete to returnPartial<T>
2.2.2:
- fix
@CurrentUser
decorator - implement
@CurrentUser
decorator
2.2.0:
- add
AbstractFileUploadHandler
and handle file upload inCrudHttpController
- fix migration contraint remove order
2.1.20:
- extends IPrincipal
2.1.19:
- fix crud http controller not init database adapter
2.1.18:
- downgrade webpack
2.1.16:
- add pg-hstore
2.1.15:
- add optional injection for socket manager
2.1.14:
- AwsSocketManger needs always to be fed by JSON object
2.1.13:
- correct json parsing when hanling aws socket message
2.1.11:
- adjust getMany and getRecords to return Pick type based on projection
- add getRecords for IQuery to return just the records
2.1.9:
- fix CrudHttpController updateMany FilterField condition check
2.1.8:
- fix server socket remove not delete its redis info
- add socket created timestamp info
- add get all alive sockets to remove stale sockets in server
2.1.5:
- support model defualt value in db migrator & adapter
2.1.3:
- add test for cascade delete
2.1.2:
- update claire core
- fix converting QueryCondition use "and" as default operator
2.1.1:
- update claire core
- update implementation of FileLogMedium
2.0.26:
- parse client socket data
- add more debug log
- fix ExpressWrapper AWS GW socket http integration
2.0.17:
- add AWS API GW socket request parser for express
2.0.16:
- add log to http request handler
- refactor to allow AwsSocketManager to be used with ExpressWrapper
2.0.14:
- fix express socket unique id
2.0.13:
- update error code from claire core
2.0.12:
- export Get, Post, Put, Del decorators
2.0.11:
- add log in http request handler
- fix AbstractAccessCondition signature
2.0.9:
- fix AccessCondition (to use injection)
- fix ExpressWrapper & LambdaWrapper to resolve AbstractServerSocketManager
- remove getMountedEndpointInfo from AbstractHttpRequestHandler, move to ServerGlobalStore
- fix property assignment in isolated transactional object
- add log for AwsSocketManager, fix connection problem to redis
2.0.1:
- fix some import redundancies
2.0.0:
- Upgrade with claire core 2.0.0
1.6.4:
- Add pong socket response
1.6.3:
- AbstractDatabaseMigrator: supply migration directory to migrate and rollback functions
- fix migrator cli path
1.6.1:
- AbstractPrincipal -> IPrincipal (for serialization)
1.5.51:
- fix AwsSocketManager not release redis connection, add more log
- fix ExpressWrapper unhandled socket promise exception
1.5.39 (Breaking change):
- fix properties null check
- socket multiplex
1.5.28:
- fix server socket authId => authInfo
1.5.26:
- add OwnedResourceAccessCondition
1.5.24:
- replace HttpRequest.getPrincipalId by HttpRequest.getAuthInfo
1.5.23:
- fix ServerSocket
- fix not remove disconnect socket from socket manager
1.5.15 (Breaking change):
- remove getValue / setValue in HttpRequest
- add setPrincipalId / getPrincipalId in HttpRequest
- adjust Socket Server
1.5.12:
- handle socket in lambda wrapper
1.5.11:
- fix ServerSocket
1.5.6:
- update claire core
- fix ServerSocket
1.5.4:
- run middleware before socket authentication
1.5.2:
- add websocket support in ExpressWrapper
1.5.1:
- update claire core
1.5.0:
- revert back to 1.3.38
1.3.38:
- export QueryCondition
1.3.37:
- return error name instead of TRANSACTION_ERROR
- update claire core
1.3.36:
- fix missing down script of unique constraint in database migrator
- add rollback to database migrator
1.3.34:
- export AbstractDatabaseMigrator
- fix DefaultSqlDatabaseMigrator not generate new unique constraints for new field
1.3.32:
- fix DefaultSqlDatabaseMigrator missing foreign constraint check when add/remove fields
1.3.31:
- update server modify
1.3.30:
- adjust body raw parser in ExpressWrapper
1.3.28:
- fix not supply HttpResponse in Http handler
1.3.27:
- add body parser raw middleware
1.3.26:
- modify express wrapper send result
1.3.25:
- add request options mapper in LambdaWrapper
1.3.24:
- add LambdaWrapper
1.3.23:
- add ExpressWrapper
1.3.22:
- merge accessConditions in CrudHttpController
1.3.21:
- DefaultSqlDatabaseMigrator will no longer generate remove table query.
1.3.20:
- add permissionGroup and displayName metadata for EndpointMetadata
1.3.16:
- update claire core
- allow empty records for CrudHttpController createMany
1.3.15:
- fix incorrect parse Http params
1.3.13:
- update claire core
1.3.12:
- re-introduce terser plugin
- update claire core
1.3.10:
- emit source map
1.3.9:
- update claire core
1.3.8:
- fix missing HttpResponse export
1.3.7:
- upgrade Clairejs/core
1.3.6:
upgrade Clairejs/core
interpret @ServerTime and @Timestamp
1.3.2 (Breaking change):
- re-introduce http response to controller
1.2.6:
- add unaccent operators (uSUBSTR, iuSUBSTR)
1.2.5:
- allow multiple calls to boot
1.2.4:
- fix http request handler parse get and delete request body
1.2.2:
- split database migrator
- rework of ClaireServer to be request handler
- remove dependency of expressjs and its middleware
1.1.9:
- revert 1.1.8
1.1.8:
- init app when getExpressApp
1.1.7:
- add pg-hstore as dependency
1.1.6:
- fix autoCommit in @Transactional
1.1.5:
- use AbstractModel id field for primary key query
1.1.3:
- fix returning ids for updateMany and deleteMany
1.1.2:
- fix not auto generate migration when changing cascade of @FK
- set build target es6
1.1.0:
- fix foreign key cascase delete
- fix auto commit of crud http controller
- return array of ids when updateMany or deleteMany
1.0.22:
- CrudHttpController exposes static validators
1.0.21:
- update Clairejs Core
1.0.20:
- update CrudHttpController for query change
1.0.17:
- perform json parsing for fields of request params and queries
1.0.15:
- fix @Searchable in CrudHttpController
1.0.13:
- add iSUBSTR operator to search for case insensitive string
1.0.9:
- fix CrudHttpController endpoint naming
1.0.8:
- fix DefaultHttpRequestHandler upgrade Http
1.0.6:
- fix DefaultHttpRequestHandler cannot return request body when no validator is provided