@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,448 @@
|
|
|
1
|
+
[**@rapidrest/service-core**](../README.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[@rapidrest/service-core](../globals.md) / ModelUtils
|
|
6
|
+
|
|
7
|
+
# Class: ModelUtils
|
|
8
|
+
|
|
9
|
+
Defined in: [src/models/ModelUtils.ts:24](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/ModelUtils.ts#L24)
|
|
10
|
+
|
|
11
|
+
Utility class for working with data model classes.
|
|
12
|
+
|
|
13
|
+
## Author
|
|
14
|
+
|
|
15
|
+
Jean-Philippe Steinmetz
|
|
16
|
+
|
|
17
|
+
## Constructors
|
|
18
|
+
|
|
19
|
+
### Constructor
|
|
20
|
+
|
|
21
|
+
> **new ModelUtils**(): `ModelUtils`
|
|
22
|
+
|
|
23
|
+
#### Returns
|
|
24
|
+
|
|
25
|
+
`ModelUtils`
|
|
26
|
+
|
|
27
|
+
## Methods
|
|
28
|
+
|
|
29
|
+
### buildIdSearchQuery()
|
|
30
|
+
|
|
31
|
+
> `static` **buildIdSearchQuery**\<`T`\>(`repo`, `modelClass`, `id`, `version?`, `productUid?`): `any`
|
|
32
|
+
|
|
33
|
+
Defined in: [src/models/ModelUtils.ts:88](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/ModelUtils.ts#L88)
|
|
34
|
+
|
|
35
|
+
Builds a query object for use with `find` functions of the given repository for retrieving objects matching the
|
|
36
|
+
specified unique identifier.
|
|
37
|
+
|
|
38
|
+
#### Type Parameters
|
|
39
|
+
|
|
40
|
+
##### T
|
|
41
|
+
|
|
42
|
+
`T` *extends* `object`
|
|
43
|
+
|
|
44
|
+
#### Parameters
|
|
45
|
+
|
|
46
|
+
##### repo
|
|
47
|
+
|
|
48
|
+
`Repository`\<`T`\> \| [`MongoRepository`](MongoRepository.md)\<`T`\> \| `undefined`
|
|
49
|
+
|
|
50
|
+
The repository to build the query for.
|
|
51
|
+
|
|
52
|
+
##### modelClass
|
|
53
|
+
|
|
54
|
+
`any`
|
|
55
|
+
|
|
56
|
+
The class definition of the data model to build a search query for.
|
|
57
|
+
|
|
58
|
+
##### id
|
|
59
|
+
|
|
60
|
+
`any`
|
|
61
|
+
|
|
62
|
+
The unique identifier to search for.
|
|
63
|
+
|
|
64
|
+
##### version?
|
|
65
|
+
|
|
66
|
+
`number`
|
|
67
|
+
|
|
68
|
+
The version number of the document to search for.
|
|
69
|
+
|
|
70
|
+
##### productUid?
|
|
71
|
+
|
|
72
|
+
`string`
|
|
73
|
+
|
|
74
|
+
The optional product uid that is associated with the uid (when a compound key is used).
|
|
75
|
+
|
|
76
|
+
#### Returns
|
|
77
|
+
|
|
78
|
+
`any`
|
|
79
|
+
|
|
80
|
+
An object that can be passed to a TypeORM `find` function.
|
|
81
|
+
|
|
82
|
+
***
|
|
83
|
+
|
|
84
|
+
### buildIdSearchQueryMongo()
|
|
85
|
+
|
|
86
|
+
> `static` **buildIdSearchQueryMongo**(`modelClass`, `id`, `version?`, `productUid?`): `any`
|
|
87
|
+
|
|
88
|
+
Defined in: [src/models/ModelUtils.ts:145](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/ModelUtils.ts#L145)
|
|
89
|
+
|
|
90
|
+
Builds a MongoDB compatible query object for use in `find` functions for retrieving objects matching the
|
|
91
|
+
specified unique identifier.
|
|
92
|
+
|
|
93
|
+
#### Parameters
|
|
94
|
+
|
|
95
|
+
##### modelClass
|
|
96
|
+
|
|
97
|
+
`any`
|
|
98
|
+
|
|
99
|
+
The class definition of the data model to build a search query for.
|
|
100
|
+
|
|
101
|
+
##### id
|
|
102
|
+
|
|
103
|
+
`any`
|
|
104
|
+
|
|
105
|
+
The unique identifier to search for.
|
|
106
|
+
|
|
107
|
+
##### version?
|
|
108
|
+
|
|
109
|
+
`number`
|
|
110
|
+
|
|
111
|
+
The version number of the document to search for.
|
|
112
|
+
|
|
113
|
+
##### productUid?
|
|
114
|
+
|
|
115
|
+
`string`
|
|
116
|
+
|
|
117
|
+
The optional product uid that is associated with the uid (when a compound key is used).
|
|
118
|
+
|
|
119
|
+
#### Returns
|
|
120
|
+
|
|
121
|
+
`any`
|
|
122
|
+
|
|
123
|
+
An object that can be passed to a MongoDB `find` function.
|
|
124
|
+
|
|
125
|
+
***
|
|
126
|
+
|
|
127
|
+
### buildIdSearchQuerySQL()
|
|
128
|
+
|
|
129
|
+
> `static` **buildIdSearchQuerySQL**(`modelClass`, `id`, `version?`, `productUid?`): `any`
|
|
130
|
+
|
|
131
|
+
Defined in: [src/models/ModelUtils.ts:112](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/ModelUtils.ts#L112)
|
|
132
|
+
|
|
133
|
+
Builds a TypeORM compatible query object for use in `find` functions for retrieving objects matching the
|
|
134
|
+
specified unique identifier.
|
|
135
|
+
|
|
136
|
+
#### Parameters
|
|
137
|
+
|
|
138
|
+
##### modelClass
|
|
139
|
+
|
|
140
|
+
`any`
|
|
141
|
+
|
|
142
|
+
The class definition of the data model to build a search query for.
|
|
143
|
+
|
|
144
|
+
##### id
|
|
145
|
+
|
|
146
|
+
`any`
|
|
147
|
+
|
|
148
|
+
The unique identifier to search for.
|
|
149
|
+
|
|
150
|
+
##### version?
|
|
151
|
+
|
|
152
|
+
`number`
|
|
153
|
+
|
|
154
|
+
The version number of the document to search for.
|
|
155
|
+
|
|
156
|
+
##### productUid?
|
|
157
|
+
|
|
158
|
+
`string`
|
|
159
|
+
|
|
160
|
+
The optional product uid that is associated with the uid (when a compound key is used).
|
|
161
|
+
|
|
162
|
+
#### Returns
|
|
163
|
+
|
|
164
|
+
`any`
|
|
165
|
+
|
|
166
|
+
An object that can be passed to a TypeORM `find` function.
|
|
167
|
+
|
|
168
|
+
***
|
|
169
|
+
|
|
170
|
+
### buildSearchQuery()
|
|
171
|
+
|
|
172
|
+
> `static` **buildSearchQuery**\<`T`\>(`modelClass`, `repo`, `params?`, `queryParams?`, `exactMatch?`, `user?`): `any`
|
|
173
|
+
|
|
174
|
+
Defined in: [src/models/ModelUtils.ts:380](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/ModelUtils.ts#L380)
|
|
175
|
+
|
|
176
|
+
Builds a query object for the given criteria and repository. Query params can have a value containing a
|
|
177
|
+
conditional operator to apply for the search. The operator is encoded with the format `op(value)`. The following
|
|
178
|
+
operators are supported:
|
|
179
|
+
* `eq` - Returns matches whose parameter exactly matches of the given value. e.g. `param = value`
|
|
180
|
+
* `gt` - Returns matches whose parameter is greater than the given value. e.g. `param > value`
|
|
181
|
+
* `gte` - Returns matches whose parameter is greater than or equal to the given value. e.g. `param >= value`
|
|
182
|
+
* `in` - Returns matches whose parameter includes one of the given values. e.g. `param in ('value1', 'value2', 'value3', ...)`
|
|
183
|
+
* `like` - Returns matches whose parameter is lexographically similar to the given value. `param like value`
|
|
184
|
+
* `lt` - Returns matches whose parameter is less than the given value. e.g. `param < value`
|
|
185
|
+
* `lte` - Returns matches whose parameter is less than or equal to than the given value. e.g. `param < value`
|
|
186
|
+
* `not` - Returns matches whose parameter is not equal to the given value. e.g. `param not value`
|
|
187
|
+
* `range` - Returns matches whose parameter is greater than or equal to first given value and less than or equal to the second. e.g. `param between(1,100)`
|
|
188
|
+
|
|
189
|
+
When no operator is provided the comparison will always be evaluated as `eq`.
|
|
190
|
+
|
|
191
|
+
NOTE: The result of this function is only compatible with the `aggregate()` function when MongoDB is used.
|
|
192
|
+
|
|
193
|
+
#### Type Parameters
|
|
194
|
+
|
|
195
|
+
##### T
|
|
196
|
+
|
|
197
|
+
`T` *extends* `object`
|
|
198
|
+
|
|
199
|
+
#### Parameters
|
|
200
|
+
|
|
201
|
+
##### modelClass
|
|
202
|
+
|
|
203
|
+
`any`
|
|
204
|
+
|
|
205
|
+
The class definition of the data model to build a search query for.
|
|
206
|
+
|
|
207
|
+
##### repo
|
|
208
|
+
|
|
209
|
+
`Repository`\<`T`\> \| [`MongoRepository`](MongoRepository.md)\<`T`\> \| `undefined`
|
|
210
|
+
|
|
211
|
+
The repository to build a search query for.
|
|
212
|
+
|
|
213
|
+
##### params?
|
|
214
|
+
|
|
215
|
+
`any`
|
|
216
|
+
|
|
217
|
+
The URI parameters for the endpoint that was requested.
|
|
218
|
+
|
|
219
|
+
##### queryParams?
|
|
220
|
+
|
|
221
|
+
`any`
|
|
222
|
+
|
|
223
|
+
The URI query parameters that were included in the request.
|
|
224
|
+
|
|
225
|
+
##### exactMatch?
|
|
226
|
+
|
|
227
|
+
`boolean` = `false`
|
|
228
|
+
|
|
229
|
+
Set to true to create a query where parameters are to be matched exactly, otherwise set to false to use a 'contains' search.
|
|
230
|
+
|
|
231
|
+
##### user?
|
|
232
|
+
|
|
233
|
+
`any`
|
|
234
|
+
|
|
235
|
+
The user that is performing the request.
|
|
236
|
+
|
|
237
|
+
#### Returns
|
|
238
|
+
|
|
239
|
+
`any`
|
|
240
|
+
|
|
241
|
+
The TypeORM compatible query object.
|
|
242
|
+
|
|
243
|
+
***
|
|
244
|
+
|
|
245
|
+
### buildSearchQueryMongo()
|
|
246
|
+
|
|
247
|
+
> `static` **buildSearchQueryMongo**(`modelClass`, `params?`, `queryParams?`, `exactMatch?`, `user?`): `any`
|
|
248
|
+
|
|
249
|
+
Defined in: [src/models/ModelUtils.ts:570](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/ModelUtils.ts#L570)
|
|
250
|
+
|
|
251
|
+
Builds a MongoDB compatible query object for the given criteria. Query params can have a value containing a
|
|
252
|
+
conditional operator to apply for the search. The operator is encoded with the format `op(value)`. The following
|
|
253
|
+
operators are supported:
|
|
254
|
+
* `eq` - Returns matches whose parameter exactly matches of the given value. e.g. `param = value`
|
|
255
|
+
* `gt` - Returns matches whose parameter is greater than the given value. e.g. `param > value`
|
|
256
|
+
* `gte` - Returns matches whose parameter is greater than or equal to the given value. e.g. `param >= value`
|
|
257
|
+
* `in` - Returns matches whose parameter includes one of the given values. e.g. `param in ('value1', 'value2', 'value3', ...)`
|
|
258
|
+
* `like` - Returns matches whose parameter is lexographically similar to the given value. `param like value`
|
|
259
|
+
* `lt` - Returns matches whose parameter is less than the given value. e.g. `param < value`
|
|
260
|
+
* `lte` - Returns matches whose parameter is less than or equal to than the given value. e.g. `param < value`
|
|
261
|
+
* `not` - Returns matches whose parameter is not equal to the given value. e.g. `param not value`
|
|
262
|
+
* `range` - Returns matches whose parameter is greater than or equal to first given value and less than or equal to the second. e.g. `param between(1,100)`
|
|
263
|
+
|
|
264
|
+
When no operator is provided the comparison will always be evaluated as `eq`.
|
|
265
|
+
|
|
266
|
+
NOTE: The result of this function is only compatible with the `aggregate()` function.
|
|
267
|
+
|
|
268
|
+
#### Parameters
|
|
269
|
+
|
|
270
|
+
##### modelClass
|
|
271
|
+
|
|
272
|
+
`any`
|
|
273
|
+
|
|
274
|
+
The class definition of the data model to build a search query for.
|
|
275
|
+
|
|
276
|
+
##### params?
|
|
277
|
+
|
|
278
|
+
`any`
|
|
279
|
+
|
|
280
|
+
The URI parameters for the endpoint that was requested.
|
|
281
|
+
|
|
282
|
+
##### queryParams?
|
|
283
|
+
|
|
284
|
+
`any`
|
|
285
|
+
|
|
286
|
+
The URI query parameters that were included in the request.
|
|
287
|
+
|
|
288
|
+
##### exactMatch?
|
|
289
|
+
|
|
290
|
+
`boolean` = `false`
|
|
291
|
+
|
|
292
|
+
Set to true to create a query where parameters are to be matched exactly, otherwise set to false to use a 'contains' search.
|
|
293
|
+
|
|
294
|
+
##### user?
|
|
295
|
+
|
|
296
|
+
`any`
|
|
297
|
+
|
|
298
|
+
The user that is performing the request.
|
|
299
|
+
|
|
300
|
+
#### Returns
|
|
301
|
+
|
|
302
|
+
`any`
|
|
303
|
+
|
|
304
|
+
The TypeORM compatible query object.
|
|
305
|
+
|
|
306
|
+
***
|
|
307
|
+
|
|
308
|
+
### buildSearchQuerySQL()
|
|
309
|
+
|
|
310
|
+
> `static` **buildSearchQuerySQL**(`modelClass`, `params?`, `queryParams?`, `exactMatch?`, `user?`): `any`
|
|
311
|
+
|
|
312
|
+
Defined in: [src/models/ModelUtils.ts:426](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/ModelUtils.ts#L426)
|
|
313
|
+
|
|
314
|
+
Builds a TypeORM compatible query object for the given criteria. Query params can have a value containing a
|
|
315
|
+
conditional operator to apply for the search. The operator is encoded with the format `op(value)`. The following
|
|
316
|
+
operators are supported:
|
|
317
|
+
* `eq` - Returns matches whose parameter exactly matches of the given value. e.g. `param = value`
|
|
318
|
+
* `gt` - Returns matches whose parameter is greater than the given value. e.g. `param > value`
|
|
319
|
+
* `gte` - Returns matches whose parameter is greater than or equal to the given value. e.g. `param >= value`
|
|
320
|
+
* `in` - Returns matches whose parameter includes one of the given values. e.g. `param in ('value1', 'value2', 'value3', ...)`
|
|
321
|
+
* `like` - Returns matches whose parameter is lexographically similar to the given value. `param like value`
|
|
322
|
+
* `lt` - Returns matches whose parameter is less than the given value. e.g. `param < value`
|
|
323
|
+
* `lte` - Returns matches whose parameter is less than or equal to than the given value. e.g. `param < value`
|
|
324
|
+
* `not` - Returns matches whose parameter is not equal to the given value. e.g. `param not value`
|
|
325
|
+
* `range` - Returns matches whose parameter is greater than or equal to first given value and less than or equal to the second. e.g. `param between(1,100)`
|
|
326
|
+
|
|
327
|
+
When no operator is provided the comparison will always be evaluated as `eq`.
|
|
328
|
+
|
|
329
|
+
#### Parameters
|
|
330
|
+
|
|
331
|
+
##### modelClass
|
|
332
|
+
|
|
333
|
+
`any`
|
|
334
|
+
|
|
335
|
+
The class definition of the data model to build a search query for.
|
|
336
|
+
|
|
337
|
+
##### params?
|
|
338
|
+
|
|
339
|
+
`any`
|
|
340
|
+
|
|
341
|
+
The URI parameters for the endpoint that was requested.
|
|
342
|
+
|
|
343
|
+
##### queryParams?
|
|
344
|
+
|
|
345
|
+
`any`
|
|
346
|
+
|
|
347
|
+
The URI query parameters that were included in the request.
|
|
348
|
+
|
|
349
|
+
##### exactMatch?
|
|
350
|
+
|
|
351
|
+
`boolean` = `false`
|
|
352
|
+
|
|
353
|
+
Set to true to create a query where parameters are to be matched exactly, otherwise set to false to use a 'contains' search.
|
|
354
|
+
|
|
355
|
+
##### user?
|
|
356
|
+
|
|
357
|
+
`any`
|
|
358
|
+
|
|
359
|
+
The user that is performing the request.
|
|
360
|
+
|
|
361
|
+
#### Returns
|
|
362
|
+
|
|
363
|
+
`any`
|
|
364
|
+
|
|
365
|
+
The TypeORM compatible query object.
|
|
366
|
+
|
|
367
|
+
***
|
|
368
|
+
|
|
369
|
+
### getIdPropertyNames()
|
|
370
|
+
|
|
371
|
+
> `static` **getIdPropertyNames**(`modelClass`): `string`[]
|
|
372
|
+
|
|
373
|
+
Defined in: [src/models/ModelUtils.ts:56](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/ModelUtils.ts#L56)
|
|
374
|
+
|
|
375
|
+
Retrieves a list of all of the specified class's properties that have the
|
|
376
|
+
|
|
377
|
+
#### Parameters
|
|
378
|
+
|
|
379
|
+
##### modelClass
|
|
380
|
+
|
|
381
|
+
`any`
|
|
382
|
+
|
|
383
|
+
The class definition to search for identifiers from.
|
|
384
|
+
|
|
385
|
+
#### Returns
|
|
386
|
+
|
|
387
|
+
`string`[]
|
|
388
|
+
|
|
389
|
+
The list of all property names that have the
|
|
390
|
+
|
|
391
|
+
#### Identifier
|
|
392
|
+
|
|
393
|
+
decorator applied.
|
|
394
|
+
|
|
395
|
+
#### Identifier
|
|
396
|
+
|
|
397
|
+
decorator applied.
|
|
398
|
+
|
|
399
|
+
***
|
|
400
|
+
|
|
401
|
+
### loadModels()
|
|
402
|
+
|
|
403
|
+
> `static` **loadModels**(`src`, `result?`): `Promise`\<`Map`\<`string`, `any`\>\>
|
|
404
|
+
|
|
405
|
+
Defined in: [src/models/ModelUtils.ts:710](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/ModelUtils.ts#L710)
|
|
406
|
+
|
|
407
|
+
Loads all model schema files from the specified path and returns a map containing all the definitions.
|
|
408
|
+
|
|
409
|
+
#### Parameters
|
|
410
|
+
|
|
411
|
+
##### src
|
|
412
|
+
|
|
413
|
+
`string`
|
|
414
|
+
|
|
415
|
+
The path to the model files to load.
|
|
416
|
+
|
|
417
|
+
##### result?
|
|
418
|
+
|
|
419
|
+
`Map`\<`string`, `any`\> = `...`
|
|
420
|
+
|
|
421
|
+
#### Returns
|
|
422
|
+
|
|
423
|
+
`Promise`\<`Map`\<`string`, `any`\>\>
|
|
424
|
+
|
|
425
|
+
A map containing of all loaded model names to their class definitions.
|
|
426
|
+
|
|
427
|
+
***
|
|
428
|
+
|
|
429
|
+
### setTypeOrm()
|
|
430
|
+
|
|
431
|
+
> `static` **setTypeOrm**(`module`): `void`
|
|
432
|
+
|
|
433
|
+
Defined in: [src/models/ModelUtils.ts:34](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/ModelUtils.ts#L34)
|
|
434
|
+
|
|
435
|
+
Provides the `typeorm` module to use when building SQL queries. This is called automatically when a SQL
|
|
436
|
+
datastore connection is established.
|
|
437
|
+
|
|
438
|
+
#### Parameters
|
|
439
|
+
|
|
440
|
+
##### module
|
|
441
|
+
|
|
442
|
+
`any`
|
|
443
|
+
|
|
444
|
+
The `typeorm` module.
|
|
445
|
+
|
|
446
|
+
#### Returns
|
|
447
|
+
|
|
448
|
+
`void`
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
[**@rapidrest/service-core**](../README.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[@rapidrest/service-core](../globals.md) / MongoConnection
|
|
6
|
+
|
|
7
|
+
# Class: MongoConnection
|
|
8
|
+
|
|
9
|
+
Defined in: [src/database/MongoConnection.ts:17](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/database/MongoConnection.ts#L17)
|
|
10
|
+
|
|
11
|
+
Represents a single named connection to a MongoDB database using the native `mongodb` driver, including the
|
|
12
|
+
registry of all model classes assigned to the connection's datastore.
|
|
13
|
+
|
|
14
|
+
Note that this class only references the `mongodb` package via type-only imports and is therefore safe to load
|
|
15
|
+
when the optional `mongodb` peer dependency is not installed.
|
|
16
|
+
|
|
17
|
+
## Author
|
|
18
|
+
|
|
19
|
+
Jean-Philippe Steinmetz <rapidrests@gmail.com>
|
|
20
|
+
|
|
21
|
+
## Constructors
|
|
22
|
+
|
|
23
|
+
### Constructor
|
|
24
|
+
|
|
25
|
+
> **new MongoConnection**(`name`, `client`, `db`, `entities?`): `MongoConnection`
|
|
26
|
+
|
|
27
|
+
Defined in: [src/database/MongoConnection.ts:29](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/database/MongoConnection.ts#L29)
|
|
28
|
+
|
|
29
|
+
#### Parameters
|
|
30
|
+
|
|
31
|
+
##### name
|
|
32
|
+
|
|
33
|
+
`string`
|
|
34
|
+
|
|
35
|
+
##### client
|
|
36
|
+
|
|
37
|
+
`MongoClient`
|
|
38
|
+
|
|
39
|
+
##### db
|
|
40
|
+
|
|
41
|
+
`Db`
|
|
42
|
+
|
|
43
|
+
##### entities?
|
|
44
|
+
|
|
45
|
+
`Iterable`\<`any`, `any`, `any`\>
|
|
46
|
+
|
|
47
|
+
#### Returns
|
|
48
|
+
|
|
49
|
+
`MongoConnection`
|
|
50
|
+
|
|
51
|
+
## Properties
|
|
52
|
+
|
|
53
|
+
### client
|
|
54
|
+
|
|
55
|
+
> `readonly` **client**: `MongoClient`
|
|
56
|
+
|
|
57
|
+
Defined in: [src/database/MongoConnection.ts:19](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/database/MongoConnection.ts#L19)
|
|
58
|
+
|
|
59
|
+
The underlying MongoDB client.
|
|
60
|
+
|
|
61
|
+
***
|
|
62
|
+
|
|
63
|
+
### db
|
|
64
|
+
|
|
65
|
+
> `readonly` **db**: `Db`
|
|
66
|
+
|
|
67
|
+
Defined in: [src/database/MongoConnection.ts:21](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/database/MongoConnection.ts#L21)
|
|
68
|
+
|
|
69
|
+
The database that this connection is bound to.
|
|
70
|
+
|
|
71
|
+
***
|
|
72
|
+
|
|
73
|
+
### name
|
|
74
|
+
|
|
75
|
+
> `readonly` **name**: `string`
|
|
76
|
+
|
|
77
|
+
Defined in: [src/database/MongoConnection.ts:23](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/database/MongoConnection.ts#L23)
|
|
78
|
+
|
|
79
|
+
The name of the datastore that this connection was created for.
|
|
80
|
+
|
|
81
|
+
## Accessors
|
|
82
|
+
|
|
83
|
+
### entityClasses
|
|
84
|
+
|
|
85
|
+
#### Get Signature
|
|
86
|
+
|
|
87
|
+
> **get** **entityClasses**(): `any`[]
|
|
88
|
+
|
|
89
|
+
Defined in: [src/database/MongoConnection.ts:71](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/database/MongoConnection.ts#L71)
|
|
90
|
+
|
|
91
|
+
Returns the list of all model classes registered with this connection.
|
|
92
|
+
|
|
93
|
+
##### Returns
|
|
94
|
+
|
|
95
|
+
`any`[]
|
|
96
|
+
|
|
97
|
+
***
|
|
98
|
+
|
|
99
|
+
### isConnected
|
|
100
|
+
|
|
101
|
+
#### Get Signature
|
|
102
|
+
|
|
103
|
+
> **get** **isConnected**(): `boolean`
|
|
104
|
+
|
|
105
|
+
Defined in: [src/database/MongoConnection.ts:42](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/database/MongoConnection.ts#L42)
|
|
106
|
+
|
|
107
|
+
Indicates whether or not the connection is currently active.
|
|
108
|
+
|
|
109
|
+
##### Returns
|
|
110
|
+
|
|
111
|
+
`boolean`
|
|
112
|
+
|
|
113
|
+
## Methods
|
|
114
|
+
|
|
115
|
+
### admin()
|
|
116
|
+
|
|
117
|
+
> **admin**(): `Admin`
|
|
118
|
+
|
|
119
|
+
Defined in: [src/database/MongoConnection.ts:47](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/database/MongoConnection.ts#L47)
|
|
120
|
+
|
|
121
|
+
Returns the admin interface of the underlying database.
|
|
122
|
+
|
|
123
|
+
#### Returns
|
|
124
|
+
|
|
125
|
+
`Admin`
|
|
126
|
+
|
|
127
|
+
***
|
|
128
|
+
|
|
129
|
+
### close()
|
|
130
|
+
|
|
131
|
+
> **close**(): `Promise`\<`void`\>
|
|
132
|
+
|
|
133
|
+
Defined in: [src/database/MongoConnection.ts:54](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/database/MongoConnection.ts#L54)
|
|
134
|
+
|
|
135
|
+
Closes the connection to the database server.
|
|
136
|
+
|
|
137
|
+
#### Returns
|
|
138
|
+
|
|
139
|
+
`Promise`\<`void`\>
|
|
140
|
+
|
|
141
|
+
***
|
|
142
|
+
|
|
143
|
+
### collectionNameFor()
|
|
144
|
+
|
|
145
|
+
> **collectionNameFor**(`clazz`): `string`
|
|
146
|
+
|
|
147
|
+
Defined in: [src/database/MongoConnection.ts:64](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/database/MongoConnection.ts#L64)
|
|
148
|
+
|
|
149
|
+
Returns the name of the collection that records of the given model class are stored in.
|
|
150
|
+
|
|
151
|
+
#### Parameters
|
|
152
|
+
|
|
153
|
+
##### clazz
|
|
154
|
+
|
|
155
|
+
`any`
|
|
156
|
+
|
|
157
|
+
The model class to resolve the collection name for.
|
|
158
|
+
|
|
159
|
+
#### Returns
|
|
160
|
+
|
|
161
|
+
`string`
|
|
162
|
+
|
|
163
|
+
***
|
|
164
|
+
|
|
165
|
+
### getMongoRepository()
|
|
166
|
+
|
|
167
|
+
> **getMongoRepository**\<`T`\>(`classOrName`): [`MongoRepository`](MongoRepository.md)\<`T`\>
|
|
168
|
+
|
|
169
|
+
Defined in: [src/database/MongoConnection.ts:105](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/database/MongoConnection.ts#L105)
|
|
170
|
+
|
|
171
|
+
Returns a repository for performing operations against the collection associated with the given model class.
|
|
172
|
+
This is an alias of `getRepository` provided for compatibility with TypeORM's `DataSource` interface.
|
|
173
|
+
|
|
174
|
+
#### Type Parameters
|
|
175
|
+
|
|
176
|
+
##### T
|
|
177
|
+
|
|
178
|
+
`T` *extends* `object` = `any`
|
|
179
|
+
|
|
180
|
+
#### Parameters
|
|
181
|
+
|
|
182
|
+
##### classOrName
|
|
183
|
+
|
|
184
|
+
`any`
|
|
185
|
+
|
|
186
|
+
The model class, or the name of a registered model class, to retrieve a repository for.
|
|
187
|
+
|
|
188
|
+
#### Returns
|
|
189
|
+
|
|
190
|
+
[`MongoRepository`](MongoRepository.md)\<`T`\>
|
|
191
|
+
|
|
192
|
+
***
|
|
193
|
+
|
|
194
|
+
### getRepository()
|
|
195
|
+
|
|
196
|
+
> **getRepository**\<`T`\>(`classOrName`): [`MongoRepository`](MongoRepository.md)\<`T`\>
|
|
197
|
+
|
|
198
|
+
Defined in: [src/database/MongoConnection.ts:80](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/database/MongoConnection.ts#L80)
|
|
199
|
+
|
|
200
|
+
Returns a repository for performing operations against the collection associated with the given model class.
|
|
201
|
+
|
|
202
|
+
#### Type Parameters
|
|
203
|
+
|
|
204
|
+
##### T
|
|
205
|
+
|
|
206
|
+
`T` *extends* `object` = `any`
|
|
207
|
+
|
|
208
|
+
#### Parameters
|
|
209
|
+
|
|
210
|
+
##### classOrName
|
|
211
|
+
|
|
212
|
+
`any`
|
|
213
|
+
|
|
214
|
+
The model class, or the name of a registered model class, to retrieve a repository for.
|
|
215
|
+
|
|
216
|
+
#### Returns
|
|
217
|
+
|
|
218
|
+
[`MongoRepository`](MongoRepository.md)\<`T`\>
|