npm.io
3.28.25 • Published 3 weeks ago

@clairejs/server

Licence
ISC
Version
3.28.25
Deps
17
Size
312 kB
Vulns
1
Weekly
0

Change Log

3.28.25

  • fix issue with LambdaWrapper & ExpressWrapper handle response
3.28.24
  • handle returned value from JobHandlerFn
3.28.23
  • fix aws socket issues
3.28.21
  • fix cancel job infinite loop on LocalJobScheduler
3.28.20
  • fix handling update array of photo, leave empty element as untouched
3.28.18
  • fix route priority
3.28.16
  • AWS scheduler min time 1 min ahead
3.28.16
  • fix S3FileService
3.28.15
  • fix uri mapper for expanded & has many fields
3.28.14
  • implement @Expand and paralel run in getMany
3.28.13
  • fix update records handle undefined result
3.28.12
  • fix CrudHttpController deleteMany does not return correct fields
3.28.11
  • fix LocalJobScheduler publish & subscribe issue
3.28.10
  • allow email service to send attachments
3.28.9
  • update core and allow query fields with nullable
3.28.8
  • fix CrudHttpController getBody not cache validation
3.28.7
  • fix update records with hasMany field
3.28.6
  • fix calling stripData in with null / undefined
3.28.5
  • implement new job scheduler
3.27.6
  • fix npm security issues
3.27.5
  • implement job retry logic
  • use aws scheduler for jobs
3.26.2
  • clean up jobs after run
3.26.1
  • remove the resolve url function in file upload handler
3.26.0
  • update file upload handler

  • update packages, remove exit code

3.25.5
  • update packages, remove exit code
3.25.4
  • update claire orm, claire client
3.25.3
  • Fix AWS job scheduler cancel job rule id
3.25.2
  • add AbstractRbacAuthorizer
  • add other security access condition classes
3.24.0
  • add ApiInfo class and @PublicAccess, @TfaRequired decorators
3.23.6
  • fix execCount not being calculated correctly
  • handle syncJobs being called multiple times
  • fix abstract job scheduler & job model
  • remove jobId fallback and update schedule job logic
  • fix fallback jobId by id in AbstractJob
  • fix retryDelayMs
  • improve JobScheduler
3.22.15
  • skip 4xx log in DefaultHttpRequestHandler
3.22.14
  • remove console log, update claire orm
3.22.13
  • add log in lambda wrapper
3.22.10
  • fix aws job scheduler name space job removal issue
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 return Partial<T>
2.2.2:
  • fix @CurrentUser decorator
  • implement @CurrentUser decorator
2.2.0:
  • add AbstractFileUploadHandler and handle file upload in CrudHttpController
  • 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