@clairejs/server

Claire server NodeJs framework written in Typescript.

Usage no npm install needed!

<script type="module">
  import clairejsServer from 'https://cdn.skypack.dev/@clairejs/server';
</script>

README

Change Log

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