# @clairejs/server

> Claire server NodeJs framework written in Typescript.

Latest version **3.28.25** (published 2026-08-22) · ISC license · 0 weekly downloads

## Install

```sh
npm install @clairejs/server
pnpm add @clairejs/server
yarn add @clairejs/server
bun add @clairejs/server
```

## Health

**Score 70/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; recently updated; high maintenance score; high quality score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 3.28.25 |
| Published | 2026-08-22 |
| First published | 2020-08-02 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 17 |
| Unpacked size | 312.2 KB |
| Known vulnerabilities | 0 (+1 in 1 direct dependencies) |
| Install scripts | no |
| Author | immort |
| Maintainers | athongintel |

## Links

- npm: https://www.npmjs.com/package/@clairejs/server
- npm.io page: https://npm.io/package/@clairejs/server

## Dependencies (17)

- [ws](https://npm.io/package/ws.md) ^7.5.5
- [cors](https://npm.io/package/cors.md) ^2.8.5
- [axios](https://npm.io/package/axios.md) ^1.6.2
- [aws-sdk](https://npm.io/package/aws-sdk.md) ^2.841.0
- [express](https://npm.io/package/express.md) ^4.17.1
- [ioredis](https://npm.io/package/ioredis.md) ^5.2.0
- [redlock](https://npm.io/package/redlock.md) ^5.0.0-beta.2
- [parseurl](https://npm.io/package/parseurl.md) ^1.3.3
- [node-cron](https://npm.io/package/node-cron.md) ^3.0.1
- [query-string](https://npm.io/package/query-string.md) ^6.14.0
- [randomstring](https://npm.io/package/randomstring.md) ^1.2.2
- [cookie-parser](https://npm.io/package/cookie-parser.md) ^1.4.6
- [node-schedule](https://npm.io/package/node-schedule.md) ^2.1.0
- [path-to-regexp](https://npm.io/package/path-to-regexp.md) ^6.2.0
- [reflect-metadata](https://npm.io/package/reflect-metadata.md) ^0.1.13
- [express-fileupload](https://npm.io/package/express-fileupload.md) ^1.2.1
- [@aws-sdk/client-scheduler](https://npm.io/package/@aws-sdk/client-scheduler.md) ^3.848.0

## Recent versions

- 3.28.25 (latest) — 2026-08-22
- 3.28.24 — 2026-08-01
- 3.28.23 — 2026-07-25
- 3.28.22 — 2026-07-25
- 3.28.21 — 2026-07-02
- 3.28.20 — 2026-05-16
- 3.28.19 — 2026-05-16
- 3.28.18 — 2026-05-08
- 3.28.17 — 2026-04-15
- 3.28.16 — 2026-04-15
- 3.28.15 — 2026-03-15
- 3.28.14 — 2026-03-11
- 3.28.13 — 2026-01-29
- 3.28.12 — 2026-01-29
- 3.28.11 — 2026-01-05
- … 536 more at https://npm.io/package/@clairejs/server/versions

## README

## 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<any>>>)

#### 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

---
_Source: https://npm.io/package/@clairejs/server · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
