@rapidrest/service-core 1.0.0-beta.1
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 +23 -0
- package/README.md +16 -0
- package/dist/lib/ApiErrors.js +41 -0
- package/dist/lib/ApiErrors.js.map +1 -0
- package/dist/lib/BackgroundService.js +16 -0
- package/dist/lib/BackgroundService.js.map +1 -0
- package/dist/lib/BackgroundServiceManager.js +135 -0
- package/dist/lib/BackgroundServiceManager.js.map +1 -0
- package/dist/lib/BulkError.js +24 -0
- package/dist/lib/BulkError.js.map +1 -0
- package/dist/lib/EventListenerManager.js +161 -0
- package/dist/lib/EventListenerManager.js.map +1 -0
- package/dist/lib/NetUtils.js +103 -0
- package/dist/lib/NetUtils.js.map +1 -0
- package/dist/lib/NotificationUtils.js +34 -0
- package/dist/lib/NotificationUtils.js.map +1 -0
- package/dist/lib/ObjectFactory.js +90 -0
- package/dist/lib/ObjectFactory.js.map +1 -0
- package/dist/lib/OpenApiSpec.js +748 -0
- package/dist/lib/OpenApiSpec.js.map +1 -0
- package/dist/lib/Server.js +549 -0
- package/dist/lib/Server.js.map +1 -0
- package/dist/lib/Types.js +2 -0
- package/dist/lib/Types.js.map +1 -0
- package/dist/lib/auth/AuthMiddleware.js +229 -0
- package/dist/lib/auth/AuthMiddleware.js.map +1 -0
- package/dist/lib/auth/AuthStrategy.js +2 -0
- package/dist/lib/auth/AuthStrategy.js.map +1 -0
- package/dist/lib/auth/BasicStrategy.js +106 -0
- package/dist/lib/auth/BasicStrategy.js.map +1 -0
- package/dist/lib/auth/JWTStrategy.js +161 -0
- package/dist/lib/auth/JWTStrategy.js.map +1 -0
- package/dist/lib/auth/index.js +5 -0
- package/dist/lib/auth/index.js.map +1 -0
- package/dist/lib/database/ConnectionKinds.js +14 -0
- package/dist/lib/database/ConnectionKinds.js.map +1 -0
- package/dist/lib/database/ConnectionManager.js +161 -0
- package/dist/lib/database/ConnectionManager.js.map +1 -0
- package/dist/lib/database/MongoConnection.js +86 -0
- package/dist/lib/database/MongoConnection.js.map +1 -0
- package/dist/lib/database/MongoRepository.js +136 -0
- package/dist/lib/database/MongoRepository.js.map +1 -0
- package/dist/lib/database/MongoSchemaSync.js +136 -0
- package/dist/lib/database/MongoSchemaSync.js.map +1 -0
- package/dist/lib/database/NamingUtils.js +52 -0
- package/dist/lib/database/NamingUtils.js.map +1 -0
- package/dist/lib/database/TypeOrmSupport.js +146 -0
- package/dist/lib/database/TypeOrmSupport.js.map +1 -0
- package/dist/lib/database/index.js +7 -0
- package/dist/lib/database/index.js.map +1 -0
- package/dist/lib/decorators/DatabaseDecorators.js +52 -0
- package/dist/lib/decorators/DatabaseDecorators.js.map +1 -0
- package/dist/lib/decorators/DocDecorators.js +120 -0
- package/dist/lib/decorators/DocDecorators.js.map +1 -0
- package/dist/lib/decorators/EventDecorators.js +24 -0
- package/dist/lib/decorators/EventDecorators.js.map +1 -0
- package/dist/lib/decorators/ModelDecorators.js +173 -0
- package/dist/lib/decorators/ModelDecorators.js.map +1 -0
- package/dist/lib/decorators/PersistenceDecorators.js +177 -0
- package/dist/lib/decorators/PersistenceDecorators.js.map +1 -0
- package/dist/lib/decorators/RouteDecorators.js +324 -0
- package/dist/lib/decorators/RouteDecorators.js.map +1 -0
- package/dist/lib/decorators/index.js +7 -0
- package/dist/lib/decorators/index.js.map +1 -0
- package/dist/lib/http/Adapters.js +230 -0
- package/dist/lib/http/Adapters.js.map +1 -0
- package/dist/lib/http/Router.js +403 -0
- package/dist/lib/http/Router.js.map +1 -0
- package/dist/lib/http/WebSocket.js +82 -0
- package/dist/lib/http/WebSocket.js.map +1 -0
- package/dist/lib/http/index.js +4 -0
- package/dist/lib/http/index.js.map +1 -0
- package/dist/lib/http/types.js +5 -0
- package/dist/lib/http/types.js.map +1 -0
- package/dist/lib/index.js +18 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/models/BaseEntity.js +83 -0
- package/dist/lib/models/BaseEntity.js.map +1 -0
- package/dist/lib/models/BaseMongoEntity.js +40 -0
- package/dist/lib/models/BaseMongoEntity.js.map +1 -0
- package/dist/lib/models/ModelUtils.js +645 -0
- package/dist/lib/models/ModelUtils.js.map +1 -0
- package/dist/lib/models/RecoverableBaseEntity.js +39 -0
- package/dist/lib/models/RecoverableBaseEntity.js.map +1 -0
- package/dist/lib/models/RecoverableBaseMongoEntity.js +40 -0
- package/dist/lib/models/RecoverableBaseMongoEntity.js.map +1 -0
- package/dist/lib/models/RepoUtils.js +717 -0
- package/dist/lib/models/RepoUtils.js.map +1 -0
- package/dist/lib/models/SimpleEntity.js +42 -0
- package/dist/lib/models/SimpleEntity.js.map +1 -0
- package/dist/lib/models/SimpleMongoEntity.js +38 -0
- package/dist/lib/models/SimpleMongoEntity.js.map +1 -0
- package/dist/lib/models/StatusExtraData.js +15 -0
- package/dist/lib/models/StatusExtraData.js.map +1 -0
- package/dist/lib/models/index.js +10 -0
- package/dist/lib/models/index.js.map +1 -0
- package/dist/lib/routes/AdminRoute.js +268 -0
- package/dist/lib/routes/AdminRoute.js.map +1 -0
- package/dist/lib/routes/MetricsRoute.js +86 -0
- package/dist/lib/routes/MetricsRoute.js.map +1 -0
- package/dist/lib/routes/ModelRoute.js +481 -0
- package/dist/lib/routes/ModelRoute.js.map +1 -0
- package/dist/lib/routes/OpenAPIRoute.js +115 -0
- package/dist/lib/routes/OpenAPIRoute.js.map +1 -0
- package/dist/lib/routes/RouteUtils.js +445 -0
- package/dist/lib/routes/RouteUtils.js.map +1 -0
- package/dist/lib/routes/StatusRoute.js +55 -0
- package/dist/lib/routes/StatusRoute.js.map +1 -0
- package/dist/lib/routes/index.js +7 -0
- package/dist/lib/routes/index.js.map +1 -0
- package/dist/lib/security/ACLRouteMongo.js +194 -0
- package/dist/lib/security/ACLRouteMongo.js.map +1 -0
- package/dist/lib/security/ACLRouteSQL.js +193 -0
- package/dist/lib/security/ACLRouteSQL.js.map +1 -0
- package/dist/lib/security/ACLUtils.js +457 -0
- package/dist/lib/security/ACLUtils.js.map +1 -0
- package/dist/lib/security/AccessControlList.js +18 -0
- package/dist/lib/security/AccessControlList.js.map +1 -0
- package/dist/lib/security/AccessControlListMongo.js +155 -0
- package/dist/lib/security/AccessControlListMongo.js.map +1 -0
- package/dist/lib/security/AccessControlListSQL.js +149 -0
- package/dist/lib/security/AccessControlListSQL.js.map +1 -0
- package/dist/lib/security/index.js +3 -0
- package/dist/lib/security/index.js.map +1 -0
- package/dist/lib/test/index.js +3 -0
- package/dist/lib/test/index.js.map +1 -0
- package/dist/lib/test/request.js +99 -0
- package/dist/lib/test/request.js.map +1 -0
- package/dist/lib/test/requestws.js +173 -0
- package/dist/lib/test/requestws.js.map +1 -0
- package/dist/types/ApiErrors.d.ts +38 -0
- package/dist/types/BackgroundService.d.ts +30 -0
- package/dist/types/BackgroundServiceManager.d.ts +66 -0
- package/dist/types/BulkError.d.ts +11 -0
- package/dist/types/EventListenerManager.d.ts +36 -0
- package/dist/types/NetUtils.d.ts +29 -0
- package/dist/types/NotificationUtils.d.ts +25 -0
- package/dist/types/ObjectFactory.d.ts +17 -0
- package/dist/types/OpenApiSpec.d.ts +114 -0
- package/dist/types/Server.d.ts +180 -0
- package/dist/types/Types.d.ts +8 -0
- package/dist/types/auth/AuthMiddleware.d.ts +42 -0
- package/dist/types/auth/AuthStrategy.d.ts +32 -0
- package/dist/types/auth/BasicStrategy.d.ts +33 -0
- package/dist/types/auth/JWTStrategy.d.ts +61 -0
- package/dist/types/auth/index.d.ts +4 -0
- package/dist/types/database/ConnectionKinds.d.ts +7 -0
- package/dist/types/database/ConnectionManager.d.ts +35 -0
- package/dist/types/database/MongoConnection.d.ts +54 -0
- package/dist/types/database/MongoRepository.d.ts +92 -0
- package/dist/types/database/MongoSchemaSync.d.ts +41 -0
- package/dist/types/database/NamingUtils.d.ts +24 -0
- package/dist/types/database/TypeOrmSupport.d.ts +20 -0
- package/dist/types/database/index.d.ts +6 -0
- package/dist/types/decorators/DatabaseDecorators.d.ts +18 -0
- package/dist/types/decorators/DocDecorators.d.ts +69 -0
- package/dist/types/decorators/EventDecorators.d.ts +12 -0
- package/dist/types/decorators/ModelDecorators.d.ts +80 -0
- package/dist/types/decorators/PersistenceDecorators.d.ts +117 -0
- package/dist/types/decorators/RouteDecorators.d.ts +172 -0
- package/dist/types/decorators/index.d.ts +6 -0
- package/dist/types/http/Adapters.d.ts +68 -0
- package/dist/types/http/Router.d.ts +99 -0
- package/dist/types/http/WebSocket.d.ts +56 -0
- package/dist/types/http/index.d.ts +6 -0
- package/dist/types/http/types.d.ts +54 -0
- package/dist/types/index.d.ts +17 -0
- package/dist/types/models/BaseEntity.d.ts +29 -0
- package/dist/types/models/BaseMongoEntity.d.ts +13 -0
- package/dist/types/models/ModelUtils.d.ts +166 -0
- package/dist/types/models/RecoverableBaseEntity.d.ts +16 -0
- package/dist/types/models/RecoverableBaseMongoEntity.d.ts +16 -0
- package/dist/types/models/RepoUtils.d.ts +154 -0
- package/dist/types/models/SimpleEntity.d.ts +14 -0
- package/dist/types/models/SimpleMongoEntity.d.ts +15 -0
- package/dist/types/models/StatusExtraData.d.ts +6 -0
- package/dist/types/models/index.d.ts +9 -0
- package/dist/types/routes/AdminRoute.d.ts +47 -0
- package/dist/types/routes/MetricsRoute.d.ts +15 -0
- package/dist/types/routes/ModelRoute.d.ts +226 -0
- package/dist/types/routes/OpenAPIRoute.d.ts +17 -0
- package/dist/types/routes/RouteUtils.d.ts +55 -0
- package/dist/types/routes/StatusRoute.d.ts +11 -0
- package/dist/types/routes/index.d.ts +6 -0
- package/dist/types/security/ACLRouteMongo.d.ts +19 -0
- package/dist/types/security/ACLRouteSQL.d.ts +19 -0
- package/dist/types/security/ACLUtils.d.ts +94 -0
- package/dist/types/security/AccessControlList.d.ts +103 -0
- package/dist/types/security/AccessControlListMongo.d.ts +24 -0
- package/dist/types/security/AccessControlListSQL.d.ts +24 -0
- package/dist/types/security/index.d.ts +2 -0
- package/dist/types/test/index.d.ts +2 -0
- package/dist/types/test/request.d.ts +24 -0
- package/dist/types/test/requestws.d.ts +21 -0
- package/docs/Makefile +20 -0
- package/docs/conf.py +58 -0
- package/docs/index.rst +17 -0
- package/docs/make.bat +35 -0
- package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/README.md +13 -0
- package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/MongoRepository.md +25 -0
- package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/RedisConnection.md +25 -0
- package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/Repository.md +25 -0
- package/docs/reference/@rapidrest/namespaces/DocDecorators/README.md +23 -0
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Default.md +25 -0
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Description.md +25 -0
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Document.md +25 -0
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Example.md +25 -0
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Format.md +25 -0
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Returns.md +28 -0
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Summary.md +25 -0
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Tags.md +25 -0
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/TypeInfo.md +28 -0
- package/docs/reference/@rapidrest/namespaces/DocDecorators/interfaces/DocumentsData.md +57 -0
- package/docs/reference/@rapidrest/namespaces/EventDecorators/README.md +12 -0
- package/docs/reference/@rapidrest/namespaces/EventDecorators/functions/EventListener.md +17 -0
- package/docs/reference/@rapidrest/namespaces/EventDecorators/functions/OnEvent.md +26 -0
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/README.md +26 -0
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Cache.md +25 -0
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/ChildEntity.md +18 -0
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/DataStore.md +25 -0
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Identifier.md +27 -0
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Protect.md +35 -0
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Reference.md +25 -0
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Shard.md +27 -0
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/TrackChanges.md +26 -0
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/interfaces/PendingTypeOrmColumn.md +45 -0
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/variables/pendingTypeOrmColumns.md +14 -0
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/README.md +25 -0
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Column.md +25 -0
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Entity.md +26 -0
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Index.md +119 -0
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/PrimaryColumn.md +25 -0
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Unique.md +68 -0
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getColumnMetadata.md +26 -0
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getEntityName.md +26 -0
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getIndexMetadata.md +27 -0
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/ColumnInfo.md +41 -0
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/ColumnOptions.md +51 -0
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/IndexInfo.md +41 -0
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/IndexOptions.md +51 -0
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/README.md +36 -0
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/After.md +26 -0
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Auth.md +33 -0
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/AuthResult.md +31 -0
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Before.md +25 -0
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/ContentType.md +25 -0
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Delete.md +25 -0
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Get.md +25 -0
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Head.md +25 -0
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Header.md +25 -0
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Method.md +31 -0
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Model.md +25 -0
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Options.md +25 -0
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Param.md +26 -0
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Patch.md +25 -0
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Post.md +25 -0
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Protect.md +31 -0
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Put.md +25 -0
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Query.md +26 -0
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Request.md +31 -0
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/RequiresRole.md +26 -0
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Response.md +31 -0
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Route.md +25 -0
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Socket.md +33 -0
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/User.md +31 -0
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Validate.md +25 -0
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/WebSocket.md +25 -0
- package/docs/reference/README.md +20 -0
- package/docs/reference/classes/ACLUtils.md +251 -0
- package/docs/reference/classes/AdminRoute.md +51 -0
- package/docs/reference/classes/AuthMiddleware.md +131 -0
- package/docs/reference/classes/BackgroundService.md +117 -0
- package/docs/reference/classes/BackgroundServiceManager.md +172 -0
- package/docs/reference/classes/BaseEntity.md +82 -0
- package/docs/reference/classes/BaseMongoEntity.md +107 -0
- package/docs/reference/classes/BasicStrategy.md +89 -0
- package/docs/reference/classes/BasicStrategyOptions.md +91 -0
- package/docs/reference/classes/BulkError.md +271 -0
- package/docs/reference/classes/ConnectionManager.md +75 -0
- package/docs/reference/classes/EventListenerManager.md +88 -0
- package/docs/reference/classes/JWTStrategy.md +77 -0
- package/docs/reference/classes/JWTStrategyOptions.md +97 -0
- package/docs/reference/classes/MetricsRoute.md +27 -0
- package/docs/reference/classes/ModelRoute.md +527 -0
- package/docs/reference/classes/ModelUtils.md +448 -0
- package/docs/reference/classes/MongoConnection.md +218 -0
- package/docs/reference/classes/MongoRepository.md +354 -0
- package/docs/reference/classes/MongoSchemaSync.md +67 -0
- package/docs/reference/classes/NetUtils.md +90 -0
- package/docs/reference/classes/NotificationUtils.md +77 -0
- package/docs/reference/classes/ObjectFactory.md +336 -0
- package/docs/reference/classes/OpenAPIRoute.md +77 -0
- package/docs/reference/classes/OpenApiSpec.md +892 -0
- package/docs/reference/classes/RecoverableBaseEntity.md +114 -0
- package/docs/reference/classes/RecoverableBaseMongoEntity.md +124 -0
- package/docs/reference/classes/RedisTransport.md +2202 -0
- package/docs/reference/classes/RepoUtils.md +486 -0
- package/docs/reference/classes/RouteUtils.md +191 -0
- package/docs/reference/classes/Server.md +408 -0
- package/docs/reference/classes/SimpleEntity.md +48 -0
- package/docs/reference/classes/SimpleMongoEntity.md +66 -0
- package/docs/reference/classes/StatusExtraData.md +57 -0
- package/docs/reference/classes/StatusRoute.md +26 -0
- package/docs/reference/enumerations/ACLAction.md +63 -0
- package/docs/reference/enumerations/ApiErrorMessages.md +123 -0
- package/docs/reference/enumerations/ApiErrors.md +123 -0
- package/docs/reference/functions/isSqlDataSource.md +26 -0
- package/docs/reference/functions/resolveCollectionName.md +33 -0
- package/docs/reference/functions/snakeCase.md +28 -0
- package/docs/reference/globals.md +91 -0
- package/docs/reference/interfaces/ACLRecord.md +96 -0
- package/docs/reference/interfaces/AccessControlList.md +76 -0
- package/docs/reference/interfaces/AuthResult.md +55 -0
- package/docs/reference/interfaces/AuthStrategy.md +57 -0
- package/docs/reference/interfaces/CreateRequestOptions.md +121 -0
- package/docs/reference/interfaces/DeleteRequestOptions.md +147 -0
- package/docs/reference/interfaces/FindRequestOptions.md +133 -0
- package/docs/reference/interfaces/JWTAuthResult.md +84 -0
- package/docs/reference/interfaces/RepoCreateOptions.md +95 -0
- package/docs/reference/interfaces/RepoDeleteOptions.md +115 -0
- package/docs/reference/interfaces/RepoFindOptions.md +135 -0
- package/docs/reference/interfaces/RepoOperationOptions.md +69 -0
- package/docs/reference/interfaces/RepoUpdateOptions.md +111 -0
- package/docs/reference/interfaces/RequestOptions.md +112 -0
- package/docs/reference/interfaces/TruncateRequestOptions.md +175 -0
- package/docs/reference/interfaces/UpdateRequestOptions.md +149 -0
- package/docs/reference/type-aliases/OneOrMany.md +19 -0
- package/docs/reference/type-aliases/OneOrNull.md +19 -0
- package/docs/reference/type-aliases/PartialBaseEntity.md +17 -0
- package/docs/reference/type-aliases/PartialSimpleEntity.md +17 -0
- package/docs/reference/type-aliases/UpdateObject.md +19 -0
- package/package.json +125 -0
|
@@ -0,0 +1,408 @@
|
|
|
1
|
+
[**@rapidrest/service-core**](../README.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[@rapidrest/service-core](../globals.md) / Server
|
|
6
|
+
|
|
7
|
+
# Class: Server
|
|
8
|
+
|
|
9
|
+
Defined in: [src/Server.ts:147](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L147)
|
|
10
|
+
|
|
11
|
+
Provides an HTTP server utilizing uWebSockets.js. The server automatically registers all routes, and
|
|
12
|
+
establishes database connections for all configured data stores. Additionally provides automatic authentication
|
|
13
|
+
handling using JSON Web Token (JWT) directly — no Passport dependency required. When provided an OpenAPI
|
|
14
|
+
specification object the server will also automatically serve this specification via the `GET /openapi.json` route.
|
|
15
|
+
|
|
16
|
+
Routes are defined by creating any class definition using the various decorators found in `RouteDecorators` and
|
|
17
|
+
saving these files in the `routes` subfolder. Upon server start, the `routes` folder is scanned for any class
|
|
18
|
+
that has been decorated with `@Route` and is automatically loaded and registered. Similarly, if the
|
|
19
|
+
class is decorated with the `@Model` decorator the resulting route object will have the associated data model
|
|
20
|
+
definition object injected into the constructor.
|
|
21
|
+
|
|
22
|
+
SSL termination is supported by providing an `ssl` configuration block with `key`, `cert`, and optionally
|
|
23
|
+
`ca` and `passphrase` file paths. When `ssl` is present the server uses `uWS.SSLApp()`.
|
|
24
|
+
|
|
25
|
+
IPv6 is supported by setting `listen_host` to `"::"` in configuration (default `"0.0.0.0"`).
|
|
26
|
+
|
|
27
|
+
By default all registered endpoints that do not explicitly have an `@Auth` decorator have the `JWT`
|
|
28
|
+
authentication strategy applied. This allows users to be implicitly authenticated without requiring additional
|
|
29
|
+
configuration. Once authenticated, the provided `request` argument will have the `user` property available
|
|
30
|
+
containing information about the authenticated user. If the `user` property is `undefined` then no user has
|
|
31
|
+
been authenticated or the authentication attempt failed.
|
|
32
|
+
|
|
33
|
+
The following is an example of a simple route class.
|
|
34
|
+
|
|
35
|
+
```javascript
|
|
36
|
+
import { DefaultBehaviors, RouteDecorators } from "@rapidrest/service-core";
|
|
37
|
+
import { Get, Route } = RouteDecorators;
|
|
38
|
+
|
|
39
|
+
@Route("/hello")
|
|
40
|
+
class TestRoute extends ModelRoute {
|
|
41
|
+
constructor(model: any) {
|
|
42
|
+
super(model);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
@Get()
|
|
46
|
+
count(req: any, res: any, next: Function): any {
|
|
47
|
+
return res.send("Hello World!");
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export default TestRoute;
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
The following is an example of a route class that is bound to a data model providing basic CRUDS operations.
|
|
55
|
+
|
|
56
|
+
```javascript
|
|
57
|
+
import { DefaultBehaviors, ModelDecorators, ModelRoute, RouteDecorators } from "@rapidrest/service-core";
|
|
58
|
+
import { After, Before, Delete, Get, Post, Put, Route, Validate } = RouteDecorators;
|
|
59
|
+
import { Model } = ModelDecorators;
|
|
60
|
+
import { marshall } = DefaultBehaviors;
|
|
61
|
+
|
|
62
|
+
@Model("Item")
|
|
63
|
+
@Route("/items")
|
|
64
|
+
class ItemRoute extends ModelRoute {
|
|
65
|
+
constructor(model: any) {
|
|
66
|
+
super(model);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
@Get()
|
|
70
|
+
@Before(super.count)
|
|
71
|
+
@After(marshall)
|
|
72
|
+
count(req: any, res: any, next: Function): any {
|
|
73
|
+
return next();
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
@Post()
|
|
77
|
+
@Before([super.create])
|
|
78
|
+
@After([this.prepare, marshall])
|
|
79
|
+
create(req: any, res: any, next: Function): any {
|
|
80
|
+
return next();
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
@Delete(":id")
|
|
84
|
+
@Before([super.delete])
|
|
85
|
+
delete(req: any, res: any, next: Function): any {
|
|
86
|
+
return next();
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
@Get()
|
|
90
|
+
@Before([super.findAll])
|
|
91
|
+
@After(this.prepareAndSend)
|
|
92
|
+
findAll(req: any, res: any, next: Function): any {
|
|
93
|
+
return next();
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
@Get(":id")
|
|
97
|
+
@Before([super.findById])
|
|
98
|
+
@After([this.prepare, marshall])
|
|
99
|
+
findById(req: any, res: any, next: Function): any {
|
|
100
|
+
return next();
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
@Put(":id")
|
|
104
|
+
@Before([super.update])
|
|
105
|
+
@After([this.prepare, marshall])
|
|
106
|
+
update(req: any, res: any, next: Function): any {
|
|
107
|
+
return next();
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export default ItemRoute;
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Author
|
|
115
|
+
|
|
116
|
+
Jean-Philippe Steinmetz
|
|
117
|
+
|
|
118
|
+
## Constructors
|
|
119
|
+
|
|
120
|
+
### Constructor
|
|
121
|
+
|
|
122
|
+
> **new Server**(`config`, `basePath?`, `logger?`, `objectFactory?`): `Server`
|
|
123
|
+
|
|
124
|
+
Defined in: [src/Server.ts:209](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L209)
|
|
125
|
+
|
|
126
|
+
Creates a new instance of Server with the specified defaults.
|
|
127
|
+
|
|
128
|
+
#### Parameters
|
|
129
|
+
|
|
130
|
+
##### config
|
|
131
|
+
|
|
132
|
+
`any`
|
|
133
|
+
|
|
134
|
+
The nconf-compatible configuration object to initialize the server with.
|
|
135
|
+
|
|
136
|
+
##### basePath?
|
|
137
|
+
|
|
138
|
+
`string` = `"."`
|
|
139
|
+
|
|
140
|
+
The base file system path that models and routes will be searched from.
|
|
141
|
+
|
|
142
|
+
##### logger?
|
|
143
|
+
|
|
144
|
+
`any` = `...`
|
|
145
|
+
|
|
146
|
+
The logging utility to use for outputing to console/file.
|
|
147
|
+
|
|
148
|
+
##### objectFactory?
|
|
149
|
+
|
|
150
|
+
[`ObjectFactory`](ObjectFactory.md)
|
|
151
|
+
|
|
152
|
+
The object factory to use for automatic dependency injection (IOC).
|
|
153
|
+
|
|
154
|
+
#### Returns
|
|
155
|
+
|
|
156
|
+
`Server`
|
|
157
|
+
|
|
158
|
+
## Properties
|
|
159
|
+
|
|
160
|
+
### apiSpec?
|
|
161
|
+
|
|
162
|
+
> `protected` `optional` **apiSpec?**: [`OpenApiSpec`](OpenApiSpec.md)
|
|
163
|
+
|
|
164
|
+
Defined in: [src/Server.ts:149](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L149)
|
|
165
|
+
|
|
166
|
+
The OpenAPI specification object to use to construct the server with.
|
|
167
|
+
|
|
168
|
+
***
|
|
169
|
+
|
|
170
|
+
### app
|
|
171
|
+
|
|
172
|
+
> `protected` **app**: `HttpRouter`
|
|
173
|
+
|
|
174
|
+
Defined in: [src/Server.ts:151](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L151)
|
|
175
|
+
|
|
176
|
+
The underlying HTTP router (uWS-backed) that provides HTTP processing services.
|
|
177
|
+
|
|
178
|
+
***
|
|
179
|
+
|
|
180
|
+
### basePath
|
|
181
|
+
|
|
182
|
+
> `protected` `readonly` **basePath**: `string`
|
|
183
|
+
|
|
184
|
+
Defined in: [src/Server.ts:153](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L153)
|
|
185
|
+
|
|
186
|
+
The base file system path that will be searched for models and routes.
|
|
187
|
+
|
|
188
|
+
***
|
|
189
|
+
|
|
190
|
+
### config?
|
|
191
|
+
|
|
192
|
+
> `protected` `readonly` `optional` **config?**: `any`
|
|
193
|
+
|
|
194
|
+
Defined in: [src/Server.ts:155](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L155)
|
|
195
|
+
|
|
196
|
+
The global object containing configuration information to use.
|
|
197
|
+
|
|
198
|
+
***
|
|
199
|
+
|
|
200
|
+
### connectionManager?
|
|
201
|
+
|
|
202
|
+
> `protected` `optional` **connectionManager?**: [`ConnectionManager`](ConnectionManager.md)
|
|
203
|
+
|
|
204
|
+
Defined in: [src/Server.ts:157](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L157)
|
|
205
|
+
|
|
206
|
+
The manager for handling database connections.
|
|
207
|
+
|
|
208
|
+
***
|
|
209
|
+
|
|
210
|
+
### eventListenerManager?
|
|
211
|
+
|
|
212
|
+
> `protected` `optional` **eventListenerManager?**: [`EventListenerManager`](EventListenerManager.md)
|
|
213
|
+
|
|
214
|
+
Defined in: [src/Server.ts:159](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L159)
|
|
215
|
+
|
|
216
|
+
The manager for handling events.
|
|
217
|
+
|
|
218
|
+
***
|
|
219
|
+
|
|
220
|
+
### logger
|
|
221
|
+
|
|
222
|
+
> `protected` `readonly` **logger**: `any`
|
|
223
|
+
|
|
224
|
+
Defined in: [src/Server.ts:161](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L161)
|
|
225
|
+
|
|
226
|
+
The logging utility to use when outputing to console/file.
|
|
227
|
+
|
|
228
|
+
***
|
|
229
|
+
|
|
230
|
+
### metricCompletedRequests
|
|
231
|
+
|
|
232
|
+
> `protected` **metricCompletedRequests**: `Counter`\<`string`\>
|
|
233
|
+
|
|
234
|
+
Defined in: [src/Server.ts:188](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L188)
|
|
235
|
+
|
|
236
|
+
***
|
|
237
|
+
|
|
238
|
+
### metricFailedRequests
|
|
239
|
+
|
|
240
|
+
> `protected` **metricFailedRequests**: `Counter`\<`string`\>
|
|
241
|
+
|
|
242
|
+
Defined in: [src/Server.ts:192](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L192)
|
|
243
|
+
|
|
244
|
+
***
|
|
245
|
+
|
|
246
|
+
### metricRequestPath
|
|
247
|
+
|
|
248
|
+
> `protected` **metricRequestPath**: `Counter`\<`string`\>
|
|
249
|
+
|
|
250
|
+
Defined in: [src/Server.ts:172](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L172)
|
|
251
|
+
|
|
252
|
+
***
|
|
253
|
+
|
|
254
|
+
### metricRequestStatus
|
|
255
|
+
|
|
256
|
+
> `protected` **metricRequestStatus**: `Counter`\<`string`\>
|
|
257
|
+
|
|
258
|
+
Defined in: [src/Server.ts:177](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L177)
|
|
259
|
+
|
|
260
|
+
***
|
|
261
|
+
|
|
262
|
+
### metricRequestTime
|
|
263
|
+
|
|
264
|
+
> `protected` **metricRequestTime**: `Histogram`\<`string`\>
|
|
265
|
+
|
|
266
|
+
Defined in: [src/Server.ts:182](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L182)
|
|
267
|
+
|
|
268
|
+
***
|
|
269
|
+
|
|
270
|
+
### metricTotalRequests
|
|
271
|
+
|
|
272
|
+
> `protected` **metricTotalRequests**: `Counter`\<`string`\>
|
|
273
|
+
|
|
274
|
+
Defined in: [src/Server.ts:196](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L196)
|
|
275
|
+
|
|
276
|
+
***
|
|
277
|
+
|
|
278
|
+
### objectFactory
|
|
279
|
+
|
|
280
|
+
> `protected` `readonly` **objectFactory**: [`ObjectFactory`](ObjectFactory.md)
|
|
281
|
+
|
|
282
|
+
Defined in: [src/Server.ts:163](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L163)
|
|
283
|
+
|
|
284
|
+
The object factory to use when injecting dependencies.
|
|
285
|
+
|
|
286
|
+
***
|
|
287
|
+
|
|
288
|
+
### port
|
|
289
|
+
|
|
290
|
+
> `readonly` **port**: `number`
|
|
291
|
+
|
|
292
|
+
Defined in: [src/Server.ts:165](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L165)
|
|
293
|
+
|
|
294
|
+
The port that the server is listening on.
|
|
295
|
+
|
|
296
|
+
***
|
|
297
|
+
|
|
298
|
+
### routeUtils?
|
|
299
|
+
|
|
300
|
+
> `protected` `optional` **routeUtils?**: [`RouteUtils`](RouteUtils.md)
|
|
301
|
+
|
|
302
|
+
Defined in: [src/Server.ts:166](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L166)
|
|
303
|
+
|
|
304
|
+
***
|
|
305
|
+
|
|
306
|
+
### serviceManager?
|
|
307
|
+
|
|
308
|
+
> `protected` `optional` **serviceManager?**: [`BackgroundServiceManager`](BackgroundServiceManager.md)
|
|
309
|
+
|
|
310
|
+
Defined in: [src/Server.ts:167](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L167)
|
|
311
|
+
|
|
312
|
+
## Methods
|
|
313
|
+
|
|
314
|
+
### getApplication()
|
|
315
|
+
|
|
316
|
+
> **getApplication**(): `HttpRouter`
|
|
317
|
+
|
|
318
|
+
Defined in: [src/Server.ts:220](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L220)
|
|
319
|
+
|
|
320
|
+
Returns the HTTP router instance.
|
|
321
|
+
|
|
322
|
+
#### Returns
|
|
323
|
+
|
|
324
|
+
`HttpRouter`
|
|
325
|
+
|
|
326
|
+
***
|
|
327
|
+
|
|
328
|
+
### isRunning()
|
|
329
|
+
|
|
330
|
+
> **isRunning**(): `boolean`
|
|
331
|
+
|
|
332
|
+
Defined in: [src/Server.ts:227](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L227)
|
|
333
|
+
|
|
334
|
+
Returns `true` if the server is running, otherwise `false`.
|
|
335
|
+
|
|
336
|
+
#### Returns
|
|
337
|
+
|
|
338
|
+
`boolean`
|
|
339
|
+
|
|
340
|
+
***
|
|
341
|
+
|
|
342
|
+
### postStart()
|
|
343
|
+
|
|
344
|
+
> `protected` **postStart**(): `void` \| `Promise`\<`void`\>
|
|
345
|
+
|
|
346
|
+
Defined in: [src/Server.ts:241](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L241)
|
|
347
|
+
|
|
348
|
+
Override this function to add custom behavior after the server is started.
|
|
349
|
+
|
|
350
|
+
#### Returns
|
|
351
|
+
|
|
352
|
+
`void` \| `Promise`\<`void`\>
|
|
353
|
+
|
|
354
|
+
***
|
|
355
|
+
|
|
356
|
+
### preStart()
|
|
357
|
+
|
|
358
|
+
> `protected` **preStart**(): `void` \| `Promise`\<`void`\>
|
|
359
|
+
|
|
360
|
+
Defined in: [src/Server.ts:234](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L234)
|
|
361
|
+
|
|
362
|
+
Override this function to add custom behavior before the server is started.
|
|
363
|
+
|
|
364
|
+
#### Returns
|
|
365
|
+
|
|
366
|
+
`void` \| `Promise`\<`void`\>
|
|
367
|
+
|
|
368
|
+
***
|
|
369
|
+
|
|
370
|
+
### restart()
|
|
371
|
+
|
|
372
|
+
> **restart**(): `Promise`\<`void`\>
|
|
373
|
+
|
|
374
|
+
Defined in: [src/Server.ts:622](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L622)
|
|
375
|
+
|
|
376
|
+
Restarts the HTTP listen server using the provided configuration and OpenAPI specification.
|
|
377
|
+
|
|
378
|
+
#### Returns
|
|
379
|
+
|
|
380
|
+
`Promise`\<`void`\>
|
|
381
|
+
|
|
382
|
+
***
|
|
383
|
+
|
|
384
|
+
### start()
|
|
385
|
+
|
|
386
|
+
> **start**(): `Promise`\<`void`\>
|
|
387
|
+
|
|
388
|
+
Defined in: [src/Server.ts:248](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L248)
|
|
389
|
+
|
|
390
|
+
Starts an HTTP listen server based on the provided configuration and OpenAPI specification.
|
|
391
|
+
|
|
392
|
+
#### Returns
|
|
393
|
+
|
|
394
|
+
`Promise`\<`void`\>
|
|
395
|
+
|
|
396
|
+
***
|
|
397
|
+
|
|
398
|
+
### stop()
|
|
399
|
+
|
|
400
|
+
> **stop**(): `Promise`\<`void`\>
|
|
401
|
+
|
|
402
|
+
Defined in: [src/Server.ts:594](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L594)
|
|
403
|
+
|
|
404
|
+
Stops the HTTP listen server.
|
|
405
|
+
|
|
406
|
+
#### Returns
|
|
407
|
+
|
|
408
|
+
`Promise`\<`void`\>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
[**@rapidrest/service-core**](../README.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[@rapidrest/service-core](../globals.md) / SimpleEntity
|
|
6
|
+
|
|
7
|
+
# Abstract Class: SimpleEntity
|
|
8
|
+
|
|
9
|
+
Defined in: [src/models/SimpleEntity.ts:15](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/SimpleEntity.ts#L15)
|
|
10
|
+
|
|
11
|
+
Provides a simple base class for all entity's that will be persisted with TypeORM. Unlike `BaseEntity` this class
|
|
12
|
+
does not provide optimistic locking or date created and modified tracking.
|
|
13
|
+
|
|
14
|
+
## Author
|
|
15
|
+
|
|
16
|
+
Jean-Philippe Steinmetz <rapidrests@gmail.com>
|
|
17
|
+
|
|
18
|
+
## Extended by
|
|
19
|
+
|
|
20
|
+
- [`SimpleMongoEntity`](SimpleMongoEntity.md)
|
|
21
|
+
|
|
22
|
+
## Constructors
|
|
23
|
+
|
|
24
|
+
### Constructor
|
|
25
|
+
|
|
26
|
+
> **new SimpleEntity**(`other?`): `SimpleEntity`
|
|
27
|
+
|
|
28
|
+
Defined in: [src/models/SimpleEntity.ts:26](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/SimpleEntity.ts#L26)
|
|
29
|
+
|
|
30
|
+
#### Parameters
|
|
31
|
+
|
|
32
|
+
##### other?
|
|
33
|
+
|
|
34
|
+
`Partial`\<`SimpleEntity`\>
|
|
35
|
+
|
|
36
|
+
#### Returns
|
|
37
|
+
|
|
38
|
+
`SimpleEntity`
|
|
39
|
+
|
|
40
|
+
## Properties
|
|
41
|
+
|
|
42
|
+
### uid
|
|
43
|
+
|
|
44
|
+
> **uid**: `string`
|
|
45
|
+
|
|
46
|
+
Defined in: [src/models/SimpleEntity.ts:24](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/SimpleEntity.ts#L24)
|
|
47
|
+
|
|
48
|
+
The universally unique identifier of the entity.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
[**@rapidrest/service-core**](../README.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[@rapidrest/service-core](../globals.md) / SimpleMongoEntity
|
|
6
|
+
|
|
7
|
+
# Abstract Class: SimpleMongoEntity
|
|
8
|
+
|
|
9
|
+
Defined in: [src/models/SimpleMongoEntity.ts:14](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/SimpleMongoEntity.ts#L14)
|
|
10
|
+
|
|
11
|
+
Provides a simple base class for all entity's that will be persisted in a MongoDB database. Unlike
|
|
12
|
+
`BaseMongoEntity` this class does not provide optimistic locking or date created and modified tracking.
|
|
13
|
+
|
|
14
|
+
## Author
|
|
15
|
+
|
|
16
|
+
Jean-Philippe Steinmetz <rapidrests@gmail.com>
|
|
17
|
+
|
|
18
|
+
## Extends
|
|
19
|
+
|
|
20
|
+
- [`SimpleEntity`](SimpleEntity.md)
|
|
21
|
+
|
|
22
|
+
## Constructors
|
|
23
|
+
|
|
24
|
+
### Constructor
|
|
25
|
+
|
|
26
|
+
> **new SimpleMongoEntity**(`other?`): `SimpleMongoEntity`
|
|
27
|
+
|
|
28
|
+
Defined in: [src/models/SimpleMongoEntity.ts:21](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/SimpleMongoEntity.ts#L21)
|
|
29
|
+
|
|
30
|
+
#### Parameters
|
|
31
|
+
|
|
32
|
+
##### other?
|
|
33
|
+
|
|
34
|
+
`Partial`\<`SimpleMongoEntity`\>
|
|
35
|
+
|
|
36
|
+
#### Returns
|
|
37
|
+
|
|
38
|
+
`SimpleMongoEntity`
|
|
39
|
+
|
|
40
|
+
#### Overrides
|
|
41
|
+
|
|
42
|
+
[`SimpleEntity`](SimpleEntity.md).[`constructor`](SimpleEntity.md#constructor)
|
|
43
|
+
|
|
44
|
+
## Properties
|
|
45
|
+
|
|
46
|
+
### \_id?
|
|
47
|
+
|
|
48
|
+
> `optional` **\_id?**: `ObjectId`
|
|
49
|
+
|
|
50
|
+
Defined in: [src/models/SimpleMongoEntity.ts:19](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/SimpleMongoEntity.ts#L19)
|
|
51
|
+
|
|
52
|
+
The internal unique identifier used by MongoDB.
|
|
53
|
+
|
|
54
|
+
***
|
|
55
|
+
|
|
56
|
+
### uid
|
|
57
|
+
|
|
58
|
+
> **uid**: `string`
|
|
59
|
+
|
|
60
|
+
Defined in: [src/models/SimpleEntity.ts:24](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/SimpleEntity.ts#L24)
|
|
61
|
+
|
|
62
|
+
The universally unique identifier of the entity.
|
|
63
|
+
|
|
64
|
+
#### Inherited from
|
|
65
|
+
|
|
66
|
+
[`SimpleEntity`](SimpleEntity.md).[`uid`](SimpleEntity.md#uid)
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
[**@rapidrest/service-core**](../README.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[@rapidrest/service-core](../globals.md) / StatusExtraData
|
|
6
|
+
|
|
7
|
+
# Class: StatusExtraData
|
|
8
|
+
|
|
9
|
+
Defined in: [src/models/StatusExtraData.ts:1](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/StatusExtraData.ts#L1)
|
|
10
|
+
|
|
11
|
+
## Constructors
|
|
12
|
+
|
|
13
|
+
### Constructor
|
|
14
|
+
|
|
15
|
+
> **new StatusExtraData**(`other`): `StatusExtraData`
|
|
16
|
+
|
|
17
|
+
Defined in: [src/models/StatusExtraData.ts:9](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/StatusExtraData.ts#L9)
|
|
18
|
+
|
|
19
|
+
#### Parameters
|
|
20
|
+
|
|
21
|
+
##### other
|
|
22
|
+
|
|
23
|
+
`Partial`\<`StatusExtraData`\>
|
|
24
|
+
|
|
25
|
+
#### Returns
|
|
26
|
+
|
|
27
|
+
`StatusExtraData`
|
|
28
|
+
|
|
29
|
+
## Accessors
|
|
30
|
+
|
|
31
|
+
### data
|
|
32
|
+
|
|
33
|
+
#### Get Signature
|
|
34
|
+
|
|
35
|
+
> **get** **data**(): `any`
|
|
36
|
+
|
|
37
|
+
Defined in: [src/models/StatusExtraData.ts:3](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/StatusExtraData.ts#L3)
|
|
38
|
+
|
|
39
|
+
##### Returns
|
|
40
|
+
|
|
41
|
+
`any`
|
|
42
|
+
|
|
43
|
+
#### Set Signature
|
|
44
|
+
|
|
45
|
+
> **set** **data**(`data`): `void`
|
|
46
|
+
|
|
47
|
+
Defined in: [src/models/StatusExtraData.ts:6](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/StatusExtraData.ts#L6)
|
|
48
|
+
|
|
49
|
+
##### Parameters
|
|
50
|
+
|
|
51
|
+
###### data
|
|
52
|
+
|
|
53
|
+
`any`
|
|
54
|
+
|
|
55
|
+
##### Returns
|
|
56
|
+
|
|
57
|
+
`void`
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
[**@rapidrest/service-core**](../README.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[@rapidrest/service-core](../globals.md) / StatusRoute
|
|
6
|
+
|
|
7
|
+
# Class: StatusRoute
|
|
8
|
+
|
|
9
|
+
Defined in: [src/routes/StatusRoute.ts:17](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/routes/StatusRoute.ts#L17)
|
|
10
|
+
|
|
11
|
+
The `StatusRoute` provides a default `/status` endpoint the returns metadata information about the service such as
|
|
12
|
+
name, version.
|
|
13
|
+
|
|
14
|
+
## Author
|
|
15
|
+
|
|
16
|
+
Jean-Philippe Steinmetz
|
|
17
|
+
|
|
18
|
+
## Constructors
|
|
19
|
+
|
|
20
|
+
### Constructor
|
|
21
|
+
|
|
22
|
+
> **new StatusRoute**(): `StatusRoute`
|
|
23
|
+
|
|
24
|
+
#### Returns
|
|
25
|
+
|
|
26
|
+
`StatusRoute`
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
[**@rapidrest/service-core**](../README.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[@rapidrest/service-core](../globals.md) / ACLAction
|
|
6
|
+
|
|
7
|
+
# Enumeration: ACLAction
|
|
8
|
+
|
|
9
|
+
Defined in: [src/security/AccessControlList.ts:10](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/security/AccessControlList.ts#L10)
|
|
10
|
+
|
|
11
|
+
Describes the various permission actions that can be performed against an entity.
|
|
12
|
+
|
|
13
|
+
## Author
|
|
14
|
+
|
|
15
|
+
Jean-Philippe Steinmetz <rapidrests@gmail.com>
|
|
16
|
+
|
|
17
|
+
## Enumeration Members
|
|
18
|
+
|
|
19
|
+
### CREATE
|
|
20
|
+
|
|
21
|
+
> **CREATE**: `"CREATE"`
|
|
22
|
+
|
|
23
|
+
Defined in: [src/security/AccessControlList.ts:11](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/security/AccessControlList.ts#L11)
|
|
24
|
+
|
|
25
|
+
***
|
|
26
|
+
|
|
27
|
+
### DELETE
|
|
28
|
+
|
|
29
|
+
> **DELETE**: `"DELETE"`
|
|
30
|
+
|
|
31
|
+
Defined in: [src/security/AccessControlList.ts:12](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/security/AccessControlList.ts#L12)
|
|
32
|
+
|
|
33
|
+
***
|
|
34
|
+
|
|
35
|
+
### FULL
|
|
36
|
+
|
|
37
|
+
> **FULL**: `"FULL"`
|
|
38
|
+
|
|
39
|
+
Defined in: [src/security/AccessControlList.ts:13](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/security/AccessControlList.ts#L13)
|
|
40
|
+
|
|
41
|
+
***
|
|
42
|
+
|
|
43
|
+
### READ
|
|
44
|
+
|
|
45
|
+
> **READ**: `"READ"`
|
|
46
|
+
|
|
47
|
+
Defined in: [src/security/AccessControlList.ts:14](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/security/AccessControlList.ts#L14)
|
|
48
|
+
|
|
49
|
+
***
|
|
50
|
+
|
|
51
|
+
### SPECIAL
|
|
52
|
+
|
|
53
|
+
> **SPECIAL**: `"SPECIAL"`
|
|
54
|
+
|
|
55
|
+
Defined in: [src/security/AccessControlList.ts:15](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/security/AccessControlList.ts#L15)
|
|
56
|
+
|
|
57
|
+
***
|
|
58
|
+
|
|
59
|
+
### UPDATE
|
|
60
|
+
|
|
61
|
+
> **UPDATE**: `"UPDATE"`
|
|
62
|
+
|
|
63
|
+
Defined in: [src/security/AccessControlList.ts:16](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/security/AccessControlList.ts#L16)
|