@rapidrest/service-core 1.0.0-rc.7 → 1.0.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.
- package/LICENSE +382 -23
- package/README.md +79 -5
- package/dist/lib/ApiErrors.js +10 -0
- package/dist/lib/ApiErrors.js.map +1 -1
- package/dist/lib/BackgroundService.js +1 -4
- package/dist/lib/BackgroundService.js.map +1 -1
- package/dist/lib/BackgroundServiceManager.js +47 -6
- package/dist/lib/BackgroundServiceManager.js.map +1 -1
- package/dist/lib/BulkError.js +4 -0
- package/dist/lib/BulkError.js.map +1 -1
- package/dist/lib/EventListenerManager.js +53 -18
- package/dist/lib/EventListenerManager.js.map +1 -1
- package/dist/lib/NetUtils.js +1 -0
- package/dist/lib/NetUtils.js.map +1 -1
- package/dist/lib/NotificationUtils.js +27 -8
- package/dist/lib/NotificationUtils.js.map +1 -1
- package/dist/lib/ObjectFactory.js +25 -44
- package/dist/lib/ObjectFactory.js.map +1 -1
- package/dist/lib/OpenApiSpec.js +31 -11
- package/dist/lib/OpenApiSpec.js.map +1 -1
- package/dist/lib/Server.js +74 -110
- package/dist/lib/Server.js.map +1 -1
- package/dist/lib/auth/AuthMiddleware.js +11 -16
- package/dist/lib/auth/AuthMiddleware.js.map +1 -1
- package/dist/lib/auth/JWTStrategy.js +68 -17
- package/dist/lib/auth/JWTStrategy.js.map +1 -1
- package/dist/lib/auth/index.js +0 -1
- package/dist/lib/auth/index.js.map +1 -1
- package/dist/lib/database/ConnectionKinds.js +15 -0
- package/dist/lib/database/ConnectionKinds.js.map +1 -1
- package/dist/lib/database/ConnectionManager.js +140 -61
- package/dist/lib/database/ConnectionManager.js.map +1 -1
- package/dist/lib/database/MongoConnection.js +13 -3
- package/dist/lib/database/MongoConnection.js.map +1 -1
- package/dist/lib/database/MongoRepository.js +61 -15
- package/dist/lib/database/MongoRepository.js.map +1 -1
- package/dist/lib/database/MongoSchemaSync.js +3 -3
- package/dist/lib/database/MongoSchemaSync.js.map +1 -1
- package/dist/lib/database/NamingUtils.js +3 -2
- package/dist/lib/database/NamingUtils.js.map +1 -1
- package/dist/lib/database/RedisCache.js +64 -0
- package/dist/lib/database/RedisCache.js.map +1 -0
- package/dist/lib/database/TypeOrmSupport.js +53 -13
- package/dist/lib/database/TypeOrmSupport.js.map +1 -1
- package/dist/lib/database/index.js +1 -0
- package/dist/lib/database/index.js.map +1 -1
- package/dist/lib/decorators/DatabaseDecorators.js +264 -20
- package/dist/lib/decorators/DatabaseDecorators.js.map +1 -1
- package/dist/lib/decorators/DocDecorators.js +30 -9
- package/dist/lib/decorators/DocDecorators.js.map +1 -1
- package/dist/lib/decorators/EventDecorators.js +1 -0
- package/dist/lib/decorators/EventDecorators.js.map +1 -1
- package/dist/lib/decorators/ModelDecorators.js +39 -23
- package/dist/lib/decorators/ModelDecorators.js.map +1 -1
- package/dist/lib/decorators/PersistenceDecorators.js +4 -3
- package/dist/lib/decorators/PersistenceDecorators.js.map +1 -1
- package/dist/lib/decorators/RouteDecorators.js +139 -36
- package/dist/lib/decorators/RouteDecorators.js.map +1 -1
- package/dist/lib/http/IWebSocketShim.js +2 -0
- package/dist/lib/http/IWebSocketShim.js.map +1 -0
- package/dist/lib/http/MiddlewareChain.js +167 -0
- package/dist/lib/http/MiddlewareChain.js.map +1 -0
- package/dist/lib/http/RuntimeDetect.js +9 -0
- package/dist/lib/http/RuntimeDetect.js.map +1 -0
- package/dist/lib/http/bun/BunAdapters.js +326 -0
- package/dist/lib/http/bun/BunAdapters.js.map +1 -0
- package/dist/lib/http/bun/BunRouter.js +391 -0
- package/dist/lib/http/bun/BunRouter.js.map +1 -0
- package/dist/lib/http/bun/BunWebSocket.js +49 -0
- package/dist/lib/http/bun/BunWebSocket.js.map +1 -0
- package/dist/lib/http/index.js +16 -3
- package/dist/lib/http/index.js.map +1 -1
- package/dist/lib/http/session/RedisSessionStore.js +30 -0
- package/dist/lib/http/session/RedisSessionStore.js.map +1 -0
- package/dist/lib/http/session/SessionManager.js +113 -0
- package/dist/lib/http/session/SessionManager.js.map +1 -0
- package/dist/lib/http/session/SessionStore.js +6 -0
- package/dist/lib/http/session/SessionStore.js.map +1 -0
- package/dist/lib/http/session/sessionMiddleware.js +42 -0
- package/dist/lib/http/session/sessionMiddleware.js.map +1 -0
- package/dist/lib/http/types.js +0 -3
- package/dist/lib/http/types.js.map +1 -1
- package/dist/lib/http/uWS/Adapters.js +421 -0
- package/dist/lib/http/uWS/Adapters.js.map +1 -0
- package/dist/lib/http/{Router.js → uWS/Router.js} +73 -173
- package/dist/lib/http/uWS/Router.js.map +1 -0
- package/dist/lib/http/{WebSocket.js → uWS/WebSocket.js} +4 -1
- package/dist/lib/http/uWS/WebSocket.js.map +1 -0
- package/dist/lib/models/BaseEntity.js +2 -1
- package/dist/lib/models/BaseEntity.js.map +1 -1
- package/dist/lib/models/BaseMongoEntity.js +2 -2
- package/dist/lib/models/BaseMongoEntity.js.map +1 -1
- package/dist/lib/models/ModelUtils.js +248 -101
- package/dist/lib/models/ModelUtils.js.map +1 -1
- package/dist/lib/models/RecoverableBaseEntity.js +6 -1
- package/dist/lib/models/RecoverableBaseEntity.js.map +1 -1
- package/dist/lib/models/RecoverableBaseMongoEntity.js +1 -0
- package/dist/lib/models/RecoverableBaseMongoEntity.js.map +1 -1
- package/dist/lib/models/RepoUtils.js +641 -203
- package/dist/lib/models/RepoUtils.js.map +1 -1
- package/dist/lib/models/SimpleEntity.js +1 -0
- package/dist/lib/models/SimpleEntity.js.map +1 -1
- package/dist/lib/models/SimpleMongoEntity.js +2 -1
- package/dist/lib/models/SimpleMongoEntity.js.map +1 -1
- package/dist/lib/models/StatusExtraData.js +4 -0
- package/dist/lib/models/StatusExtraData.js.map +1 -1
- package/dist/lib/routes/{AdminRoute.js → BaseAdminRoute.js} +98 -80
- package/dist/lib/routes/BaseAdminRoute.js.map +1 -0
- package/dist/lib/routes/{MetricsRoute.js → BaseMetricsRoute.js} +29 -15
- package/dist/lib/routes/BaseMetricsRoute.js.map +1 -0
- package/dist/lib/routes/{OpenAPIRoute.js → BaseOpenAPIRoute.js} +32 -32
- package/dist/lib/routes/BaseOpenAPIRoute.js.map +1 -0
- package/dist/lib/routes/BasePushRoute.js +305 -0
- package/dist/lib/routes/BasePushRoute.js.map +1 -0
- package/dist/lib/routes/BaseStaticRoute.js +153 -0
- package/dist/lib/routes/BaseStaticRoute.js.map +1 -0
- package/dist/lib/routes/BaseStatusRoute.js +80 -0
- package/dist/lib/routes/BaseStatusRoute.js.map +1 -0
- package/dist/lib/routes/CRUDRoute.js +284 -0
- package/dist/lib/routes/CRUDRoute.js.map +1 -0
- package/dist/lib/routes/ModelRoute.js +84 -57
- package/dist/lib/routes/ModelRoute.js.map +1 -1
- package/dist/lib/routes/RouteUtils.js +108 -20
- package/dist/lib/routes/RouteUtils.js.map +1 -1
- package/dist/lib/routes/index.js +7 -4
- package/dist/lib/routes/index.js.map +1 -1
- package/dist/lib/security/ACLUtils.js +297 -170
- package/dist/lib/security/ACLUtils.js.map +1 -1
- package/dist/lib/security/AccessControlList.js +18 -10
- package/dist/lib/security/AccessControlList.js.map +1 -1
- package/dist/lib/security/AccessControlListMongo.js +19 -68
- package/dist/lib/security/AccessControlListMongo.js.map +1 -1
- package/dist/lib/security/AccessControlListSQL.js +21 -70
- package/dist/lib/security/AccessControlListSQL.js.map +1 -1
- package/dist/lib/security/BaseACLRoute.js +239 -0
- package/dist/lib/security/BaseACLRoute.js.map +1 -0
- package/dist/lib/security/index.js +3 -0
- package/dist/lib/security/index.js.map +1 -1
- package/dist/lib/test/request.js +62 -5
- package/dist/lib/test/request.js.map +1 -1
- package/dist/lib/test/requestws.js +34 -10
- package/dist/lib/test/requestws.js.map +1 -1
- package/dist/types/ApiErrors.d.ts +8 -2
- package/dist/types/BackgroundService.d.ts +0 -5
- package/dist/types/BackgroundServiceManager.d.ts +2 -1
- package/dist/types/EventListenerManager.d.ts +7 -6
- package/dist/types/NotificationUtils.d.ts +5 -3
- package/dist/types/OpenApiSpec.d.ts +2 -2
- package/dist/types/Server.d.ts +28 -10
- package/dist/types/auth/AuthMiddleware.d.ts +3 -3
- package/dist/types/auth/AuthStrategy.d.ts +10 -7
- package/dist/types/auth/JWTStrategy.d.ts +6 -4
- package/dist/types/auth/index.d.ts +0 -1
- package/dist/types/database/ConnectionKinds.d.ts +7 -0
- package/dist/types/database/ConnectionManager.d.ts +29 -4
- package/dist/types/database/MongoConnection.d.ts +16 -4
- package/dist/types/database/MongoRepository.d.ts +32 -11
- package/dist/types/database/RedisCache.d.ts +23 -0
- package/dist/types/database/TypeOrmSupport.d.ts +4 -4
- package/dist/types/database/index.d.ts +1 -0
- package/dist/types/decorators/DatabaseDecorators.d.ts +139 -8
- package/dist/types/decorators/DocDecorators.d.ts +11 -2
- package/dist/types/decorators/ModelDecorators.d.ts +12 -5
- package/dist/types/decorators/PersistenceDecorators.d.ts +11 -4
- package/dist/types/decorators/RouteDecorators.d.ts +36 -6
- package/dist/types/http/IWebSocketShim.d.ts +11 -0
- package/dist/types/http/MiddlewareChain.d.ts +47 -0
- package/dist/types/http/RuntimeDetect.d.ts +2 -0
- package/dist/types/http/bun/BunAdapters.d.ts +139 -0
- package/dist/types/http/bun/BunRouter.d.ts +79 -0
- package/dist/types/http/bun/BunWebSocket.d.ts +35 -0
- package/dist/types/http/index.d.ts +16 -6
- package/dist/types/http/session/RedisSessionStore.d.ts +15 -0
- package/dist/types/http/session/SessionManager.d.ts +35 -0
- package/dist/types/http/session/SessionStore.d.ts +12 -0
- package/dist/types/http/session/sessionMiddleware.d.ts +10 -0
- package/dist/types/http/types.d.ts +42 -3
- package/dist/types/http/uWS/Adapters.d.ts +129 -0
- package/dist/types/http/{Router.d.ts → uWS/Router.d.ts} +14 -38
- package/dist/types/http/{WebSocket.d.ts → uWS/WebSocket.d.ts} +6 -5
- package/dist/types/models/BaseEntity.d.ts +1 -1
- package/dist/types/models/ModelUtils.d.ts +47 -14
- package/dist/types/models/RecoverableBaseEntity.d.ts +3 -1
- package/dist/types/models/RepoUtils.d.ts +84 -14
- package/dist/types/routes/BaseAdminRoute.d.ts +65 -0
- package/dist/types/routes/BaseMetricsRoute.d.ts +37 -0
- package/dist/types/routes/BaseOpenAPIRoute.d.ts +33 -0
- package/dist/types/routes/BasePushRoute.d.ts +53 -0
- package/dist/types/routes/BaseStaticRoute.d.ts +44 -0
- package/dist/types/routes/BaseStatusRoute.d.ts +37 -0
- package/dist/types/routes/CRUDRoute.d.ts +57 -0
- package/dist/types/routes/ModelRoute.d.ts +39 -36
- package/dist/types/routes/RouteUtils.d.ts +19 -0
- package/dist/types/routes/index.d.ts +7 -4
- package/dist/types/security/ACLUtils.d.ts +94 -18
- package/dist/types/security/AccessControlList.d.ts +37 -59
- package/dist/types/security/AccessControlListMongo.d.ts +3 -8
- package/dist/types/security/AccessControlListSQL.d.ts +3 -8
- package/dist/types/security/BaseACLRoute.d.ts +73 -0
- package/dist/types/security/index.d.ts +3 -0
- package/dist/types/test/request.d.ts +18 -1
- package/package.json +135 -129
- package/tsconfig.export.json +17 -0
- package/dist/lib/auth/BasicStrategy.js +0 -113
- package/dist/lib/auth/BasicStrategy.js.map +0 -1
- package/dist/lib/http/Adapters.js +0 -241
- package/dist/lib/http/Adapters.js.map +0 -1
- package/dist/lib/http/Router.js.map +0 -1
- package/dist/lib/http/WebSocket.js.map +0 -1
- package/dist/lib/routes/AdminRoute.js.map +0 -1
- package/dist/lib/routes/MetricsRoute.js.map +0 -1
- package/dist/lib/routes/OpenAPIRoute.js.map +0 -1
- package/dist/lib/routes/StatusRoute.js +0 -55
- package/dist/lib/routes/StatusRoute.js.map +0 -1
- package/dist/lib/security/ACLRouteMongo.js +0 -194
- package/dist/lib/security/ACLRouteMongo.js.map +0 -1
- package/dist/lib/security/ACLRouteSQL.js +0 -193
- package/dist/lib/security/ACLRouteSQL.js.map +0 -1
- package/dist/types/auth/BasicStrategy.d.ts +0 -37
- package/dist/types/http/Adapters.d.ts +0 -68
- package/dist/types/routes/AdminRoute.d.ts +0 -47
- package/dist/types/routes/MetricsRoute.d.ts +0 -15
- package/dist/types/routes/OpenAPIRoute.d.ts +0 -17
- package/dist/types/routes/StatusRoute.d.ts +0 -11
- package/dist/types/security/ACLRouteMongo.d.ts +0 -19
- package/dist/types/security/ACLRouteSQL.d.ts +0 -19
- package/docs/Makefile +0 -20
- package/docs/conf.py +0 -58
- package/docs/index.rst +0 -17
- package/docs/make.bat +0 -35
- package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/README.md +0 -13
- package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/MongoRepository.md +0 -25
- package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/RedisConnection.md +0 -25
- package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/Repository.md +0 -25
- package/docs/reference/@rapidrest/namespaces/DocDecorators/README.md +0 -23
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Default.md +0 -25
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Description.md +0 -25
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Document.md +0 -25
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Example.md +0 -25
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Format.md +0 -25
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Returns.md +0 -28
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Summary.md +0 -25
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Tags.md +0 -25
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/TypeInfo.md +0 -28
- package/docs/reference/@rapidrest/namespaces/DocDecorators/interfaces/DocumentsData.md +0 -57
- package/docs/reference/@rapidrest/namespaces/EventDecorators/README.md +0 -12
- package/docs/reference/@rapidrest/namespaces/EventDecorators/functions/EventListener.md +0 -17
- package/docs/reference/@rapidrest/namespaces/EventDecorators/functions/OnEvent.md +0 -26
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/README.md +0 -26
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Cache.md +0 -25
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/ChildEntity.md +0 -18
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/DataStore.md +0 -25
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Identifier.md +0 -27
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Protect.md +0 -35
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Reference.md +0 -25
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Shard.md +0 -27
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/TrackChanges.md +0 -26
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/interfaces/PendingTypeOrmColumn.md +0 -45
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/variables/pendingTypeOrmColumns.md +0 -14
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/README.md +0 -27
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Column.md +0 -25
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Entity.md +0 -25
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Index.md +0 -119
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/PrimaryColumn.md +0 -25
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Unique.md +0 -68
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getColumnMetadata.md +0 -26
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getEntityName.md +0 -26
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getIndexMetadata.md +0 -27
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/CollationOptions.md +0 -79
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/ColumnInfo.md +0 -41
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/ColumnOptions.md +0 -51
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/EntityOptions.md +0 -32
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/IndexInfo.md +0 -41
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/IndexOptions.md +0 -61
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/README.md +0 -36
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/After.md +0 -26
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Auth.md +0 -33
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/AuthResult.md +0 -31
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Before.md +0 -25
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/ContentType.md +0 -25
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Delete.md +0 -25
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Get.md +0 -25
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Head.md +0 -25
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Header.md +0 -25
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Method.md +0 -31
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Model.md +0 -25
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Options.md +0 -25
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Param.md +0 -26
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Patch.md +0 -25
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Post.md +0 -25
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Protect.md +0 -31
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Put.md +0 -25
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Query.md +0 -26
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Request.md +0 -31
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/RequiresRole.md +0 -26
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Response.md +0 -31
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Route.md +0 -25
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Socket.md +0 -33
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/User.md +0 -31
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Validate.md +0 -25
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/WebSocket.md +0 -25
- package/docs/reference/README.md +0 -20
- package/docs/reference/classes/ACLUtils.md +0 -263
- package/docs/reference/classes/AdminRoute.md +0 -51
- package/docs/reference/classes/AuthMiddleware.md +0 -173
- package/docs/reference/classes/BackgroundService.md +0 -117
- package/docs/reference/classes/BackgroundServiceManager.md +0 -172
- package/docs/reference/classes/BaseEntity.md +0 -82
- package/docs/reference/classes/BaseMongoEntity.md +0 -107
- package/docs/reference/classes/BasicStrategy.md +0 -131
- package/docs/reference/classes/BasicStrategyOptions.md +0 -115
- package/docs/reference/classes/BulkError.md +0 -271
- package/docs/reference/classes/ConnectionManager.md +0 -75
- package/docs/reference/classes/EventListenerManager.md +0 -88
- package/docs/reference/classes/HttpRouter.md +0 -343
- package/docs/reference/classes/JWTStrategy.md +0 -100
- package/docs/reference/classes/JWTStrategyOptions.md +0 -97
- package/docs/reference/classes/MetricsRoute.md +0 -27
- package/docs/reference/classes/ModelRoute.md +0 -527
- package/docs/reference/classes/ModelUtils.md +0 -446
- package/docs/reference/classes/MongoConnection.md +0 -218
- package/docs/reference/classes/MongoRepository.md +0 -390
- package/docs/reference/classes/MongoSchemaSync.md +0 -97
- package/docs/reference/classes/NetUtils.md +0 -90
- package/docs/reference/classes/NotificationUtils.md +0 -77
- package/docs/reference/classes/ObjectFactory.md +0 -336
- package/docs/reference/classes/OpenAPIRoute.md +0 -77
- package/docs/reference/classes/OpenApiSpec.md +0 -892
- package/docs/reference/classes/RecoverableBaseEntity.md +0 -114
- package/docs/reference/classes/RecoverableBaseMongoEntity.md +0 -124
- package/docs/reference/classes/RedisTransport.md +0 -2202
- package/docs/reference/classes/RepoUtils.md +0 -482
- package/docs/reference/classes/RouteUtils.md +0 -191
- package/docs/reference/classes/Server.md +0 -408
- package/docs/reference/classes/SimpleEntity.md +0 -48
- package/docs/reference/classes/SimpleMongoEntity.md +0 -66
- package/docs/reference/classes/StatusExtraData.md +0 -57
- package/docs/reference/classes/StatusRoute.md +0 -26
- package/docs/reference/classes/UWSRequest.md +0 -226
- package/docs/reference/classes/UWSResponse.md +0 -257
- package/docs/reference/classes/UWSWebSocketShim.md +0 -958
- package/docs/reference/enumerations/ACLAction.md +0 -63
- package/docs/reference/enumerations/ApiErrorMessages.md +0 -123
- package/docs/reference/enumerations/ApiErrors.md +0 -123
- package/docs/reference/functions/createWebSocketStream.md +0 -27
- package/docs/reference/functions/isSqlDataSource.md +0 -26
- package/docs/reference/functions/readBody.md +0 -29
- package/docs/reference/functions/resolveCollectionName.md +0 -33
- package/docs/reference/functions/runChain.md +0 -40
- package/docs/reference/functions/snakeCase.md +0 -28
- package/docs/reference/globals.md +0 -106
- package/docs/reference/interfaces/ACLRecord.md +0 -96
- package/docs/reference/interfaces/AccessControlList.md +0 -76
- package/docs/reference/interfaces/AuthResult.md +0 -55
- package/docs/reference/interfaces/AuthStrategy.md +0 -95
- package/docs/reference/interfaces/CreateRequestOptions.md +0 -121
- package/docs/reference/interfaces/DeleteRequestOptions.md +0 -137
- package/docs/reference/interfaces/FindRequestOptions.md +0 -133
- package/docs/reference/interfaces/HttpRequest.md +0 -147
- package/docs/reference/interfaces/HttpResponse.md +0 -164
- package/docs/reference/interfaces/JWTAuthResult.md +0 -84
- package/docs/reference/interfaces/RepoCreateOptions.md +0 -95
- package/docs/reference/interfaces/RepoDeleteOptions.md +0 -105
- package/docs/reference/interfaces/RepoFindOptions.md +0 -125
- package/docs/reference/interfaces/RepoOperationOptions.md +0 -69
- package/docs/reference/interfaces/RepoUpdateOptions.md +0 -101
- package/docs/reference/interfaces/RequestOptions.md +0 -112
- package/docs/reference/interfaces/RequestWS.md +0 -225
- package/docs/reference/interfaces/TruncateRequestOptions.md +0 -161
- package/docs/reference/interfaces/UpdateRequestOptions.md +0 -139
- package/docs/reference/type-aliases/ErrorHandler.md +0 -35
- package/docs/reference/type-aliases/NextFunction.md +0 -23
- package/docs/reference/type-aliases/OneOrMany.md +0 -19
- package/docs/reference/type-aliases/OneOrNull.md +0 -19
- package/docs/reference/type-aliases/PartialBaseEntity.md +0 -17
- package/docs/reference/type-aliases/PartialSimpleEntity.md +0 -17
- package/docs/reference/type-aliases/RequestHandler.md +0 -31
- package/docs/reference/type-aliases/UpdateObject.md +0 -19
- package/docs/reference/type-aliases/WsUpgradeAuth.md +0 -27
- package/docs/reference/type-aliases/WsUpgradeAuthResult.md +0 -47
package/dist/lib/Server.js
CHANGED
|
@@ -1,33 +1,23 @@
|
|
|
1
|
-
///////////////////////////////////////////////////////////////////////////////
|
|
2
|
-
// Copyright (C) 2020-2026 Jean-Philippe Steinmetz. All rights reserved.
|
|
3
|
-
///////////////////////////////////////////////////////////////////////////////
|
|
4
|
-
import uWS from "uWebSockets.js";
|
|
5
|
-
import * as path from "path";
|
|
6
1
|
import * as prom from "prom-client";
|
|
7
2
|
import "reflect-metadata";
|
|
8
3
|
import { ConnectionManager } from "./database/ConnectionManager.js";
|
|
9
|
-
import { StatusRoute } from "./routes/StatusRoute.js";
|
|
10
4
|
import { ApiError, ClassLoader, Logger } from "@rapidrest/core";
|
|
11
|
-
import { OpenAPIRoute } from "./routes/OpenAPIRoute.js";
|
|
12
|
-
import { MetricsRoute } from "./routes/MetricsRoute.js";
|
|
13
5
|
import { ObjectFactory } from "./ObjectFactory.js";
|
|
14
6
|
import { BackgroundServiceManager } from "./BackgroundServiceManager.js";
|
|
15
7
|
import { RouteUtils } from "./routes/RouteUtils.js";
|
|
16
8
|
import { BulkError } from "./BulkError.js";
|
|
17
9
|
import { BackgroundService } from "./BackgroundService.js";
|
|
18
|
-
import { AdminRoute } from "./routes/index.js";
|
|
19
10
|
import { OpenApiSpec } from "./OpenApiSpec.js";
|
|
20
11
|
import { ApiErrorMessages, ApiErrors } from "./ApiErrors.js";
|
|
21
12
|
import { ACLUtils } from "./security/ACLUtils.js";
|
|
22
13
|
import { NotificationUtils } from "./NotificationUtils.js";
|
|
23
|
-
import { isSqlDataSource } from "./database/ConnectionKinds.js";
|
|
24
|
-
import { MongoConnection } from "./database/MongoConnection.js";
|
|
25
|
-
import { ACLRouteMongo } from "./security/ACLRouteMongo.js";
|
|
26
|
-
import { ACLRouteSQL } from "./security/ACLRouteSQL.js";
|
|
27
14
|
import { EventListenerManager } from "./EventListenerManager.js";
|
|
28
15
|
import { AccessControlListMongo } from "./security/AccessControlListMongo.js";
|
|
29
16
|
import { AccessControlListSQL } from "./security/AccessControlListSQL.js";
|
|
30
|
-
import {
|
|
17
|
+
import { DEFAULT_MAX_BODY_SIZE } from "./http/uWS/Adapters.js";
|
|
18
|
+
import { isBunRuntime } from "./http/RuntimeDetect.js";
|
|
19
|
+
import { SessionManager } from "./http/session/SessionManager.js";
|
|
20
|
+
import { createSessionMiddleware } from "./http/session/sessionMiddleware.js";
|
|
31
21
|
/**
|
|
32
22
|
* Provides an HTTP server utilizing uWebSockets.js. The server automatically registers all routes, and
|
|
33
23
|
* establishes database connections for all configured data stores. Additionally provides automatic authentication
|
|
@@ -136,14 +126,11 @@ import { HttpRouter } from "./http/Router.js";
|
|
|
136
126
|
*/
|
|
137
127
|
export class Server {
|
|
138
128
|
/**
|
|
139
|
-
* Creates a new instance of Server with the specified
|
|
129
|
+
* Creates a new instance of Server with the specified default options.
|
|
140
130
|
*
|
|
141
|
-
* @param
|
|
142
|
-
* @param {string} basePath The base file system path that models and routes will be searched from.
|
|
143
|
-
* @param {Logger} logger The logging utility to use for outputing to console/file.
|
|
144
|
-
* @param objectFactory The object factory to use for automatic dependency injection (IOC).
|
|
131
|
+
* @param options The configuration options to apply for this server.
|
|
145
132
|
*/
|
|
146
|
-
constructor(
|
|
133
|
+
constructor(options) {
|
|
147
134
|
///////////////////////////////////////////////////////////////////////////
|
|
148
135
|
// METRICS VARIABLES
|
|
149
136
|
///////////////////////////////////////////////////////////////////////////
|
|
@@ -175,11 +162,13 @@ export class Server {
|
|
|
175
162
|
name: "num_total_requests",
|
|
176
163
|
help: "The total number of requests processed.",
|
|
177
164
|
});
|
|
178
|
-
this.config = config;
|
|
179
|
-
this.basePath = basePath;
|
|
180
|
-
this.logger = logger;
|
|
181
|
-
this.
|
|
182
|
-
|
|
165
|
+
this.config = options.config;
|
|
166
|
+
this.basePath = options.basePath ?? ".";
|
|
167
|
+
this.logger = options.logger ?? Logger();
|
|
168
|
+
this.classLoader =
|
|
169
|
+
options.classLoader ?? new ClassLoader(this.basePath, true, true, this.config.get("class_loader:ignore"));
|
|
170
|
+
this.objectFactory = options.objectFactory ?? new ObjectFactory(this.config, this.logger);
|
|
171
|
+
this.port = this.config.get("port") ?? 3000;
|
|
183
172
|
}
|
|
184
173
|
/**
|
|
185
174
|
* Returns the HTTP router instance.
|
|
@@ -219,22 +208,22 @@ export class Server {
|
|
|
219
208
|
const datastores = this.config.get("datastores");
|
|
220
209
|
const models = new Map();
|
|
221
210
|
this.logger.info("Loading all service classes...");
|
|
222
|
-
const classLoader = new ClassLoader(this.basePath, true, true, this.config.get("class_loader:ignore"));
|
|
223
211
|
try {
|
|
224
|
-
await classLoader.load();
|
|
212
|
+
await this.classLoader.load();
|
|
225
213
|
}
|
|
226
214
|
catch (e) {
|
|
227
215
|
reject(`[server-core|Server.ts]**ERR @ start, loading service classes: ${e}`);
|
|
216
|
+
return;
|
|
228
217
|
}
|
|
229
218
|
// Register all found classes with the object factory
|
|
230
|
-
for (const [name, clazz] of classLoader.getClasses().entries()) {
|
|
219
|
+
for (const [name, clazz] of this.classLoader.getClasses().entries()) {
|
|
231
220
|
this.objectFactory.register(clazz, name);
|
|
232
221
|
}
|
|
233
222
|
// Load all models
|
|
234
223
|
this.logger.info("Scanning for data models...");
|
|
235
|
-
for (const [name, clazz] of classLoader.getClasses().entries()) {
|
|
236
|
-
const
|
|
237
|
-
if (
|
|
224
|
+
for (const [name, clazz] of this.classLoader.getClasses().entries()) {
|
|
225
|
+
const datasource = Reflect.getMetadata("rrst:datasource", clazz) || undefined;
|
|
226
|
+
if (datasource) {
|
|
238
227
|
models.set(name, clazz);
|
|
239
228
|
this.apiSpec.addModel(name, clazz);
|
|
240
229
|
}
|
|
@@ -260,20 +249,30 @@ export class Server {
|
|
|
260
249
|
if (pushRedis) {
|
|
261
250
|
await this.objectFactory.newInstance(NotificationUtils, { name: "default", args: [pushRedis] });
|
|
262
251
|
}
|
|
263
|
-
// Create the
|
|
252
|
+
// Create the underlying HTTP router — Bun.serve()-backed under the Bun runtime,
|
|
253
|
+
// uWS-backed (SSLApp when ssl config is present, plain App otherwise) on Node.
|
|
254
|
+
// Both `uWebSockets.js` and `./http/uWS/Router.js` are dynamically imported here
|
|
255
|
+
// (never statically) so neither is ever evaluated when running under Bun, where
|
|
256
|
+
// uWebSockets.js's native binary does not load.
|
|
264
257
|
const sslConfig = this.config.get("ssl");
|
|
265
|
-
const
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
258
|
+
const maxBodySize = this.config.get("max_body_size") ?? DEFAULT_MAX_BODY_SIZE;
|
|
259
|
+
if (isBunRuntime()) {
|
|
260
|
+
const { BunRouter } = await import("./http/bun/BunRouter.js");
|
|
261
|
+
this.app = new BunRouter(maxBodySize, sslConfig);
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
const uWS = (await import("uWebSockets.js")).default;
|
|
265
|
+
const { HttpRouter } = await import("./http/uWS/Router.js");
|
|
266
|
+
const uwsApp = sslConfig
|
|
267
|
+
? uWS.SSLApp({
|
|
268
|
+
key_file_name: sslConfig.key,
|
|
269
|
+
cert_file_name: sslConfig.cert,
|
|
270
|
+
ca_file_name: sslConfig.ca,
|
|
271
|
+
passphrase: sslConfig.passphrase,
|
|
272
|
+
})
|
|
273
|
+
: uWS.App();
|
|
274
|
+
this.app = new HttpRouter(uwsApp, maxBodySize);
|
|
275
|
+
}
|
|
277
276
|
// cors
|
|
278
277
|
const corsConfig = this.config.get("cors") || {};
|
|
279
278
|
const corsOrigins = corsConfig.origins;
|
|
@@ -329,61 +328,24 @@ export class Server {
|
|
|
329
328
|
req._metricsStart = Date.now();
|
|
330
329
|
return next();
|
|
331
330
|
});
|
|
331
|
+
// Initialize session support if configured. Global-but-cheap: only registered when
|
|
332
|
+
// a `session` config block is present, so apps that don't configure sessions pay
|
|
333
|
+
// zero per-request cost (mirrors the NotificationUtils conditional-feature pattern).
|
|
334
|
+
const sessionConfig = this.config.get("session");
|
|
335
|
+
if (sessionConfig) {
|
|
336
|
+
this.sessionManager = await this.objectFactory.newInstance(SessionManager, { name: "default" });
|
|
337
|
+
this.app.use(createSessionMiddleware(this.sessionManager));
|
|
338
|
+
}
|
|
332
339
|
const allRoutes = [];
|
|
333
340
|
this.routeUtils = await this.objectFactory.newInstance(RouteUtils, { name: "default" });
|
|
334
341
|
if (!this.routeUtils) {
|
|
335
342
|
reject("Failed to instantiate RouteUtils.");
|
|
336
343
|
return;
|
|
337
344
|
}
|
|
338
|
-
// Register the index route
|
|
339
|
-
const index = await this.objectFactory.newInstance(StatusRoute, { name: "default" });
|
|
340
|
-
allRoutes.push(index);
|
|
341
|
-
await this.routeUtils.registerRoute(this.app, index);
|
|
342
|
-
// Register the admin route
|
|
343
|
-
const admin = await this.objectFactory.newInstance(AdminRoute, { name: "default" });
|
|
344
|
-
allRoutes.push(admin);
|
|
345
|
-
await this.routeUtils.registerRoute(this.app, admin);
|
|
346
|
-
// Register the ACLs route if configured
|
|
347
|
-
const rbacEnabled = this.config.get("rbac:enabled");
|
|
348
|
-
if (rbacEnabled) {
|
|
349
|
-
const aclConn = this.connectionManager?.connections.get("acl");
|
|
350
|
-
if (aclConn instanceof MongoConnection) {
|
|
351
|
-
const aclRoute = await this.objectFactory.newInstance(ACLRouteMongo, {
|
|
352
|
-
name: "default",
|
|
353
|
-
});
|
|
354
|
-
await this.routeUtils.registerRoute(this.app, aclRoute);
|
|
355
|
-
allRoutes.push(aclRoute);
|
|
356
|
-
}
|
|
357
|
-
else if (isSqlDataSource(aclConn)) {
|
|
358
|
-
const aclRoute = await this.objectFactory.newInstance(ACLRouteSQL, {
|
|
359
|
-
name: "default",
|
|
360
|
-
});
|
|
361
|
-
await this.routeUtils.registerRoute(this.app, aclRoute);
|
|
362
|
-
allRoutes.push(aclRoute);
|
|
363
|
-
}
|
|
364
|
-
else {
|
|
365
|
-
throw new Error("Failed to register ACL routes. Did you forget to configur the ACL datastore?");
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
// Register the OpenAPI route if a spec has been provided
|
|
369
|
-
if (this.apiSpec) {
|
|
370
|
-
const oasRoute = await this.objectFactory.newInstance(OpenAPIRoute, {
|
|
371
|
-
name: "default",
|
|
372
|
-
initialize: true,
|
|
373
|
-
args: [this.apiSpec],
|
|
374
|
-
});
|
|
375
|
-
await this.routeUtils.registerRoute(this.app, oasRoute);
|
|
376
|
-
allRoutes.push(oasRoute);
|
|
377
|
-
}
|
|
378
|
-
// Register the metrics route
|
|
379
|
-
const metricsRoute = await this.objectFactory.newInstance(MetricsRoute, {
|
|
380
|
-
name: "default",
|
|
381
|
-
});
|
|
382
|
-
await this.routeUtils.registerRoute(this.app, metricsRoute);
|
|
383
345
|
// Initialize the background service manager
|
|
384
346
|
this.logger.info("Starting background services...");
|
|
385
347
|
const serviceClasses = {};
|
|
386
|
-
for (const [name, clazz] of classLoader.getClasses().entries()) {
|
|
348
|
+
for (const [name, clazz] of this.classLoader.getClasses().entries()) {
|
|
387
349
|
if (clazz.prototype instanceof BackgroundService) {
|
|
388
350
|
serviceClasses[name] = clazz;
|
|
389
351
|
}
|
|
@@ -391,33 +353,24 @@ export class Server {
|
|
|
391
353
|
this.serviceManager = await this.objectFactory.newInstance(BackgroundServiceManager, {
|
|
392
354
|
name: "default",
|
|
393
355
|
initialize: true,
|
|
394
|
-
args: [this.objectFactory, serviceClasses
|
|
356
|
+
args: [this.objectFactory, serviceClasses],
|
|
395
357
|
});
|
|
396
358
|
if (this.serviceManager) {
|
|
397
359
|
await this.serviceManager.startAll();
|
|
398
360
|
}
|
|
399
|
-
// Initialize the EventListenerManager
|
|
361
|
+
// Initialize the EventListenerManager.
|
|
400
362
|
const redis = this.connectionManager?.connections.get("events");
|
|
401
363
|
if (redis) {
|
|
402
364
|
this.logger.info("Initializing event manager...");
|
|
403
365
|
this.eventListenerManager = await this.objectFactory.newInstance(EventListenerManager, {
|
|
404
366
|
name: "default",
|
|
405
|
-
args: [this.
|
|
367
|
+
args: [this.objectFactory, redis],
|
|
406
368
|
});
|
|
407
|
-
if (this.eventListenerManager) {
|
|
408
|
-
await this.eventListenerManager.init();
|
|
409
|
-
this.objectFactory.instances.forEach((obj) => {
|
|
410
|
-
this.eventListenerManager?.register(obj);
|
|
411
|
-
});
|
|
412
|
-
allRoutes.forEach((obj) => {
|
|
413
|
-
this.eventListenerManager?.register(obj);
|
|
414
|
-
});
|
|
415
|
-
}
|
|
416
369
|
}
|
|
417
370
|
// Perform automatic discovery of all other routes
|
|
418
371
|
this.logger.info("Scanning for routes...");
|
|
419
372
|
try {
|
|
420
|
-
for (const [fqn, clazz] of classLoader.getClasses().entries()) {
|
|
373
|
+
for (const [fqn, clazz] of this.classLoader.getClasses().entries()) {
|
|
421
374
|
const routePaths = clazz.prototype
|
|
422
375
|
? Reflect.getMetadata("rrst:routePaths", clazz.prototype)
|
|
423
376
|
: Reflect.getMetadata("rrst:routePaths", clazz);
|
|
@@ -426,6 +379,9 @@ export class Server {
|
|
|
426
379
|
const route = await this.objectFactory.newInstance(fqn, { name: "default" });
|
|
427
380
|
await this.routeUtils.registerRoute(this.app, route);
|
|
428
381
|
allRoutes.push(route);
|
|
382
|
+
// Routes are instantiated after the EventListenerManager registration pass above,
|
|
383
|
+
// so any `@OnEvent` handlers they declare must be registered here instead.
|
|
384
|
+
this.eventListenerManager?.register(route);
|
|
429
385
|
}
|
|
430
386
|
}
|
|
431
387
|
}
|
|
@@ -463,7 +419,11 @@ export class Server {
|
|
|
463
419
|
if (!res.headersSent) {
|
|
464
420
|
res.status(err.status);
|
|
465
421
|
}
|
|
466
|
-
|
|
422
|
+
// `Error.message` (and `ApiError`'s own `message`) is non-enumerable, so
|
|
423
|
+
// `JSON.stringify` silently drops it unless each error is reconstructed with it
|
|
424
|
+
// as an explicit own property first — the same fix the single-error branch below
|
|
425
|
+
// already applies.
|
|
426
|
+
res.json(errs.map((e) => (e ? { ...e, message: e.message } : e)));
|
|
467
427
|
}
|
|
468
428
|
else {
|
|
469
429
|
if (!(err instanceof ApiError)) {
|
|
@@ -482,7 +442,7 @@ export class Server {
|
|
|
482
442
|
...err,
|
|
483
443
|
// https://stackoverflow.com/a/25245824
|
|
484
444
|
level: err.level ? err.level.replace(/\[.*?m/g, "") : undefined, // eslint-disable-line no-control-regex
|
|
485
|
-
message: err.message
|
|
445
|
+
message: err.message,
|
|
486
446
|
};
|
|
487
447
|
res.json(formattedError);
|
|
488
448
|
}
|
|
@@ -505,8 +465,6 @@ export class Server {
|
|
|
505
465
|
res.send();
|
|
506
466
|
}
|
|
507
467
|
});
|
|
508
|
-
// Serve static files — registered after route handlers so routes take precedence
|
|
509
|
-
this.app.static(publicPath);
|
|
510
468
|
await this.postStart();
|
|
511
469
|
// IPv6: set listen_host to "::" in config; default binds to all IPv4 interfaces
|
|
512
470
|
const listenHost = this.config.get("listen_host") || "0.0.0.0";
|
|
@@ -525,6 +483,13 @@ export class Server {
|
|
|
525
483
|
*/
|
|
526
484
|
stop() {
|
|
527
485
|
return new Promise(async (resolve, reject) => {
|
|
486
|
+
// Watchdog: guards the whole shutdown sequence against hanging indefinitely (e.g. a database
|
|
487
|
+
// connection that never closes). `unref()`'d so it can never by itself keep the process alive,
|
|
488
|
+
// and always cleared below once the promise settles.
|
|
489
|
+
const timer = setTimeout(() => {
|
|
490
|
+
reject("Failed to shut down server.");
|
|
491
|
+
}, 30000);
|
|
492
|
+
timer.unref?.();
|
|
528
493
|
this.logger.info("Stopping background services...");
|
|
529
494
|
await this.serviceManager?.stopAll();
|
|
530
495
|
this.logger.info("Stopping server...");
|
|
@@ -534,14 +499,13 @@ export class Server {
|
|
|
534
499
|
}
|
|
535
500
|
this.logger.info("Closing database connections...");
|
|
536
501
|
await this.connectionManager?.disconnect();
|
|
502
|
+
clearTimeout(timer);
|
|
537
503
|
resolve();
|
|
538
504
|
}
|
|
539
505
|
catch (err) {
|
|
506
|
+
clearTimeout(timer);
|
|
540
507
|
reject(err);
|
|
541
508
|
}
|
|
542
|
-
setTimeout(() => {
|
|
543
|
-
reject("Failed to shut down server.");
|
|
544
|
-
}, 30000);
|
|
545
509
|
});
|
|
546
510
|
}
|
|
547
511
|
/**
|
package/dist/lib/Server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Server.js","sourceRoot":"","sources":["../../src/Server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Server.js","sourceRoot":"","sources":["../../src/Server.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,13 +9,12 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
};
|
|
10
10
|
////////////////////////////////////////////////////////////////////////////////
|
|
11
11
|
// Copyright (C) 2020-2026 Jean-Philippe Steinmetz
|
|
12
|
+
// SPDX-License-Identifier: MPL-2.0
|
|
12
13
|
///////////////////////////////////////////////////////////////////////////////
|
|
13
14
|
import { ApiError, JWTUtils, ObjectDecorators } from "@rapidrest/core";
|
|
14
15
|
import { ApiErrors, ApiErrorMessages } from "../ApiErrors.js";
|
|
15
|
-
import { ObjectFactory } from "../ObjectFactory.js";
|
|
16
16
|
import { JWTStrategy } from "./JWTStrategy.js";
|
|
17
|
-
|
|
18
|
-
const { Config, Init, Inject } = ObjectDecorators;
|
|
17
|
+
const { Config, Init } = ObjectDecorators;
|
|
19
18
|
/**
|
|
20
19
|
* A set of common utilities for performing authentication using one or more strategies.
|
|
21
20
|
*
|
|
@@ -28,12 +27,11 @@ export class AuthMiddleware {
|
|
|
28
27
|
this.strategies = new Map();
|
|
29
28
|
}
|
|
30
29
|
async init() {
|
|
31
|
-
if (this.
|
|
30
|
+
if (this._objectFactory) {
|
|
32
31
|
// Register built-in strategy classes with ObjectFactory
|
|
33
|
-
this.
|
|
34
|
-
this.objectFactory.register(JWTStrategy, "auth.JWTStrategy");
|
|
32
|
+
this._objectFactory.register(JWTStrategy, "auth.JWTStrategy");
|
|
35
33
|
if (this.authConfig.strategy) {
|
|
36
|
-
const strategy = await this.
|
|
34
|
+
const strategy = await this._objectFactory.newInstance(this.authConfig.strategy);
|
|
37
35
|
this.strategies.set(strategy.name, strategy);
|
|
38
36
|
}
|
|
39
37
|
}
|
|
@@ -51,7 +49,7 @@ export class AuthMiddleware {
|
|
|
51
49
|
// Attempt authentication with the strategy
|
|
52
50
|
const strategy = this.strategies.get(name);
|
|
53
51
|
if (strategy) {
|
|
54
|
-
const authResult = await strategy.authenticate(req, res
|
|
52
|
+
const authResult = await strategy.authenticate(req, res);
|
|
55
53
|
// Was it successful?
|
|
56
54
|
if (authResult) {
|
|
57
55
|
return authResult;
|
|
@@ -62,7 +60,7 @@ export class AuthMiddleware {
|
|
|
62
60
|
}
|
|
63
61
|
}
|
|
64
62
|
if (required) {
|
|
65
|
-
throw new Error("Authentication failed
|
|
63
|
+
throw new Error("Authentication failed.");
|
|
66
64
|
}
|
|
67
65
|
return undefined;
|
|
68
66
|
}
|
|
@@ -82,7 +80,7 @@ export class AuthMiddleware {
|
|
|
82
80
|
// Attempt authentication with the strategy
|
|
83
81
|
const strategy = this.strategies.get(name);
|
|
84
82
|
if (strategy) {
|
|
85
|
-
authResult = strategy.authenticateSync(req, res
|
|
83
|
+
authResult = strategy.authenticateSync(req, res);
|
|
86
84
|
}
|
|
87
85
|
else {
|
|
88
86
|
throw new Error("No authentication strategy has been registered with name: " + name);
|
|
@@ -93,7 +91,7 @@ export class AuthMiddleware {
|
|
|
93
91
|
}
|
|
94
92
|
}
|
|
95
93
|
if (!authResult && required) {
|
|
96
|
-
throw new Error("Authentication failed
|
|
94
|
+
throw new Error("Authentication failed.");
|
|
97
95
|
}
|
|
98
96
|
return authResult;
|
|
99
97
|
}
|
|
@@ -132,7 +130,8 @@ export class AuthMiddleware {
|
|
|
132
130
|
};
|
|
133
131
|
const onClose = () => {
|
|
134
132
|
// Socket closed before auth completed — unblock runChain so the open handler can
|
|
135
|
-
// finish. The readyState === 3 guard in
|
|
133
|
+
// finish. The readyState === 3 guard in the router's ws() open handler (uWS/Router.ts
|
|
134
|
+
// and bun/BunRouter.ts both implement it) will skip the final ws.close().
|
|
136
135
|
settle(() => next());
|
|
137
136
|
};
|
|
138
137
|
const onMessage = (data, isBinary) => {
|
|
@@ -246,10 +245,6 @@ __decorate([
|
|
|
246
245
|
Config("auth:socketTimeout", 2000),
|
|
247
246
|
__metadata("design:type", Number)
|
|
248
247
|
], AuthMiddleware.prototype, "authSocketTimeout", void 0);
|
|
249
|
-
__decorate([
|
|
250
|
-
Inject(ObjectFactory),
|
|
251
|
-
__metadata("design:type", ObjectFactory)
|
|
252
|
-
], AuthMiddleware.prototype, "objectFactory", void 0);
|
|
253
248
|
__decorate([
|
|
254
249
|
Init,
|
|
255
250
|
__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthMiddleware.js","sourceRoot":"","sources":["../../../src/auth/AuthMiddleware.ts"],"names":[],"mappings":";;;;;;;;;AAAA,gFAAgF;AAChF,kDAAkD;AAClD,+EAA+E;AAC/E,OAAO,
|
|
1
|
+
{"version":3,"file":"AuthMiddleware.js","sourceRoot":"","sources":["../../../src/auth/AuthMiddleware.ts"],"names":[],"mappings":"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"}
|