@rapidrest/service-core 1.0.0-beta.1 → 1.0.0-beta.2
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/dist/lib/auth/AuthMiddleware.js +33 -3
- package/dist/lib/auth/AuthMiddleware.js.map +1 -1
- package/dist/lib/auth/BasicStrategy.js +46 -39
- package/dist/lib/auth/BasicStrategy.js.map +1 -1
- package/dist/lib/auth/JWTStrategy.js +69 -60
- package/dist/lib/auth/JWTStrategy.js.map +1 -1
- package/dist/lib/index.js +2 -1
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/routes/RouteUtils.js +8 -7
- package/dist/lib/routes/RouteUtils.js.map +1 -1
- package/dist/types/auth/AuthMiddleware.d.ts +12 -1
- package/dist/types/auth/AuthStrategy.d.ts +13 -1
- package/dist/types/auth/BasicStrategy.d.ts +7 -3
- package/dist/types/auth/JWTStrategy.d.ts +6 -3
- package/dist/types/index.d.ts +2 -1
- package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/MongoRepository.md +1 -1
- package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/RedisConnection.md +1 -1
- package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/Repository.md +1 -1
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Default.md +1 -1
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Description.md +1 -1
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Document.md +1 -1
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Example.md +1 -1
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Format.md +1 -1
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Returns.md +1 -1
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Summary.md +1 -1
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Tags.md +1 -1
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/TypeInfo.md +1 -1
- package/docs/reference/@rapidrest/namespaces/DocDecorators/interfaces/DocumentsData.md +7 -7
- package/docs/reference/@rapidrest/namespaces/EventDecorators/functions/EventListener.md +1 -1
- package/docs/reference/@rapidrest/namespaces/EventDecorators/functions/OnEvent.md +1 -1
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Cache.md +1 -1
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/ChildEntity.md +1 -1
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/DataStore.md +1 -1
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Identifier.md +1 -1
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Protect.md +1 -1
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Reference.md +1 -1
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Shard.md +1 -1
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/TrackChanges.md +1 -1
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/interfaces/PendingTypeOrmColumn.md +5 -5
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/variables/pendingTypeOrmColumns.md +1 -1
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Column.md +1 -1
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Entity.md +1 -1
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Index.md +3 -3
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/PrimaryColumn.md +1 -1
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Unique.md +3 -3
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getColumnMetadata.md +1 -1
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getEntityName.md +1 -1
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getIndexMetadata.md +1 -1
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/ColumnInfo.md +4 -4
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/ColumnOptions.md +5 -5
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/IndexInfo.md +4 -4
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/IndexOptions.md +5 -5
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/After.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Auth.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/AuthResult.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Before.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/ContentType.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Delete.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Get.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Head.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Header.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Method.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Model.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Options.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Param.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Patch.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Post.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Protect.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Put.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Query.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Request.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/RequiresRole.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Response.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Route.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Socket.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/User.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Validate.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/WebSocket.md +1 -1
- package/docs/reference/classes/ACLUtils.md +10 -10
- package/docs/reference/classes/AdminRoute.md +3 -3
- package/docs/reference/classes/AuthMiddleware.md +55 -13
- package/docs/reference/classes/BackgroundService.md +8 -8
- package/docs/reference/classes/BackgroundServiceManager.md +7 -7
- package/docs/reference/classes/BaseEntity.md +6 -6
- package/docs/reference/classes/BaseMongoEntity.md +7 -7
- package/docs/reference/classes/BasicStrategy.md +52 -10
- package/docs/reference/classes/BasicStrategyOptions.md +35 -11
- package/docs/reference/classes/BulkError.md +3 -3
- package/docs/reference/classes/ConnectionManager.md +4 -4
- package/docs/reference/classes/EventListenerManager.md +5 -5
- package/docs/reference/classes/HttpRouter.md +343 -0
- package/docs/reference/classes/JWTStrategy.md +37 -14
- package/docs/reference/classes/JWTStrategyOptions.md +10 -10
- package/docs/reference/classes/MetricsRoute.md +2 -2
- package/docs/reference/classes/ModelRoute.md +28 -28
- package/docs/reference/classes/ModelUtils.md +10 -10
- package/docs/reference/classes/MongoConnection.md +12 -12
- package/docs/reference/classes/MongoRepository.md +17 -17
- package/docs/reference/classes/MongoSchemaSync.md +3 -3
- package/docs/reference/classes/NetUtils.md +4 -4
- package/docs/reference/classes/NotificationUtils.md +3 -3
- package/docs/reference/classes/ObjectFactory.md +10 -10
- package/docs/reference/classes/OpenAPIRoute.md +5 -5
- package/docs/reference/classes/OpenApiSpec.md +45 -45
- package/docs/reference/classes/RecoverableBaseEntity.md +7 -7
- package/docs/reference/classes/RecoverableBaseMongoEntity.md +8 -8
- package/docs/reference/classes/RedisTransport.md +4 -4
- package/docs/reference/classes/RepoUtils.md +28 -28
- package/docs/reference/classes/RouteUtils.md +17 -17
- package/docs/reference/classes/Server.md +29 -29
- package/docs/reference/classes/SimpleEntity.md +3 -3
- package/docs/reference/classes/SimpleMongoEntity.md +4 -4
- package/docs/reference/classes/StatusExtraData.md +4 -4
- package/docs/reference/classes/StatusRoute.md +1 -1
- package/docs/reference/classes/UWSRequest.md +226 -0
- package/docs/reference/classes/UWSResponse.md +257 -0
- package/docs/reference/classes/UWSWebSocketShim.md +958 -0
- package/docs/reference/enumerations/ACLAction.md +7 -7
- package/docs/reference/enumerations/ApiErrorMessages.md +15 -15
- package/docs/reference/enumerations/ApiErrors.md +15 -15
- package/docs/reference/functions/createWebSocketStream.md +27 -0
- package/docs/reference/functions/isSqlDataSource.md +1 -1
- package/docs/reference/functions/readBody.md +29 -0
- package/docs/reference/functions/resolveCollectionName.md +1 -1
- package/docs/reference/functions/runChain.md +40 -0
- package/docs/reference/functions/snakeCase.md +1 -1
- package/docs/reference/globals.md +15 -0
- package/docs/reference/interfaces/ACLRecord.md +8 -8
- package/docs/reference/interfaces/AccessControlList.md +5 -5
- package/docs/reference/interfaces/AuthResult.md +5 -5
- package/docs/reference/interfaces/AuthStrategy.md +47 -9
- package/docs/reference/interfaces/CreateRequestOptions.md +11 -11
- package/docs/reference/interfaces/DeleteRequestOptions.md +13 -13
- package/docs/reference/interfaces/FindRequestOptions.md +12 -12
- package/docs/reference/interfaces/HttpRequest.md +147 -0
- package/docs/reference/interfaces/HttpResponse.md +164 -0
- package/docs/reference/interfaces/JWTAuthResult.md +9 -9
- package/docs/reference/interfaces/RepoCreateOptions.md +7 -7
- package/docs/reference/interfaces/RepoDeleteOptions.md +9 -9
- package/docs/reference/interfaces/RepoFindOptions.md +11 -11
- package/docs/reference/interfaces/RepoOperationOptions.md +6 -6
- package/docs/reference/interfaces/RepoUpdateOptions.md +8 -8
- package/docs/reference/interfaces/RequestOptions.md +10 -10
- package/docs/reference/interfaces/RequestWS.md +225 -0
- package/docs/reference/interfaces/TruncateRequestOptions.md +15 -15
- package/docs/reference/interfaces/UpdateRequestOptions.md +13 -13
- package/docs/reference/type-aliases/ErrorHandler.md +35 -0
- package/docs/reference/type-aliases/NextFunction.md +23 -0
- package/docs/reference/type-aliases/OneOrMany.md +1 -1
- package/docs/reference/type-aliases/OneOrNull.md +1 -1
- package/docs/reference/type-aliases/PartialBaseEntity.md +1 -1
- package/docs/reference/type-aliases/PartialSimpleEntity.md +1 -1
- package/docs/reference/type-aliases/RequestHandler.md +31 -0
- package/docs/reference/type-aliases/UpdateObject.md +1 -1
- package/docs/reference/type-aliases/WsUpgradeAuth.md +27 -0
- package/docs/reference/type-aliases/WsUpgradeAuthResult.md +47 -0
- package/package.json +2 -2
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
# Abstract Class: ModelRoute\<T\>
|
|
8
8
|
|
|
9
|
-
Defined in: [src/routes/ModelRoute.ts:117](https://github.com/rapidrest/service-core/blob/
|
|
9
|
+
Defined in: [src/routes/ModelRoute.ts:117](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/routes/ModelRoute.ts#L117)
|
|
10
10
|
|
|
11
11
|
The `ModelRoute` is an abstract base class that provides a set of built-in route behavior functions for handling
|
|
12
12
|
requests for a given data model that is managed by a persistent datastore.
|
|
@@ -46,7 +46,7 @@ Jean-Philippe Steinmetz
|
|
|
46
46
|
|
|
47
47
|
> `protected` `optional` **aclUtils?**: [`ACLUtils`](ACLUtils.md)
|
|
48
48
|
|
|
49
|
-
Defined in: [src/routes/ModelRoute.ts:119](https://github.com/rapidrest/service-core/blob/
|
|
49
|
+
Defined in: [src/routes/ModelRoute.ts:119](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/routes/ModelRoute.ts#L119)
|
|
50
50
|
|
|
51
51
|
***
|
|
52
52
|
|
|
@@ -54,7 +54,7 @@ Defined in: [src/routes/ModelRoute.ts:119](https://github.com/rapidrest/service-
|
|
|
54
54
|
|
|
55
55
|
> `protected` `optional` **cacheClient?**: `Redis`
|
|
56
56
|
|
|
57
|
-
Defined in: [src/routes/ModelRoute.ts:123](https://github.com/rapidrest/service-core/blob/
|
|
57
|
+
Defined in: [src/routes/ModelRoute.ts:123](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/routes/ModelRoute.ts#L123)
|
|
58
58
|
|
|
59
59
|
The redis client that will be used as a 2nd level cache for all cacheable models.
|
|
60
60
|
|
|
@@ -64,7 +64,7 @@ The redis client that will be used as a 2nd level cache for all cacheable models
|
|
|
64
64
|
|
|
65
65
|
> `protected` `optional` **config?**: `any`
|
|
66
66
|
|
|
67
|
-
Defined in: [src/routes/ModelRoute.ts:127](https://github.com/rapidrest/service-core/blob/
|
|
67
|
+
Defined in: [src/routes/ModelRoute.ts:127](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/routes/ModelRoute.ts#L127)
|
|
68
68
|
|
|
69
69
|
The global application configuration.
|
|
70
70
|
|
|
@@ -74,7 +74,7 @@ The global application configuration.
|
|
|
74
74
|
|
|
75
75
|
> `protected` **defaultACLUid**: `string` = `""`
|
|
76
76
|
|
|
77
|
-
Defined in: [src/routes/ModelRoute.ts:130](https://github.com/rapidrest/service-core/blob/
|
|
77
|
+
Defined in: [src/routes/ModelRoute.ts:130](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/routes/ModelRoute.ts#L130)
|
|
78
78
|
|
|
79
79
|
The unique identifier of the default ACL for the model type.
|
|
80
80
|
|
|
@@ -84,7 +84,7 @@ The unique identifier of the default ACL for the model type.
|
|
|
84
84
|
|
|
85
85
|
> `protected` **logger**: `any`
|
|
86
86
|
|
|
87
|
-
Defined in: [src/routes/ModelRoute.ts:133](https://github.com/rapidrest/service-core/blob/
|
|
87
|
+
Defined in: [src/routes/ModelRoute.ts:133](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/routes/ModelRoute.ts#L133)
|
|
88
88
|
|
|
89
89
|
***
|
|
90
90
|
|
|
@@ -92,7 +92,7 @@ Defined in: [src/routes/ModelRoute.ts:133](https://github.com/rapidrest/service-
|
|
|
92
92
|
|
|
93
93
|
> `protected` `optional` **notificationUtils?**: [`NotificationUtils`](NotificationUtils.md)
|
|
94
94
|
|
|
95
|
-
Defined in: [src/routes/ModelRoute.ts:136](https://github.com/rapidrest/service-core/blob/
|
|
95
|
+
Defined in: [src/routes/ModelRoute.ts:136](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/routes/ModelRoute.ts#L136)
|
|
96
96
|
|
|
97
97
|
***
|
|
98
98
|
|
|
@@ -100,7 +100,7 @@ Defined in: [src/routes/ModelRoute.ts:136](https://github.com/rapidrest/service-
|
|
|
100
100
|
|
|
101
101
|
> `protected` `optional` **objectFactory?**: [`ObjectFactory`](ObjectFactory.md)
|
|
102
102
|
|
|
103
|
-
Defined in: [src/routes/ModelRoute.ts:139](https://github.com/rapidrest/service-core/blob/
|
|
103
|
+
Defined in: [src/routes/ModelRoute.ts:139](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/routes/ModelRoute.ts#L139)
|
|
104
104
|
|
|
105
105
|
***
|
|
106
106
|
|
|
@@ -108,7 +108,7 @@ Defined in: [src/routes/ModelRoute.ts:139](https://github.com/rapidrest/service-
|
|
|
108
108
|
|
|
109
109
|
> `protected` `optional` **repoUtils?**: [`RepoUtils`](RepoUtils.md)\<`T`\>
|
|
110
110
|
|
|
111
|
-
Defined in: [src/routes/ModelRoute.ts:145](https://github.com/rapidrest/service-core/blob/
|
|
111
|
+
Defined in: [src/routes/ModelRoute.ts:145](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/routes/ModelRoute.ts#L145)
|
|
112
112
|
|
|
113
113
|
The repository utility class to use for common operations.
|
|
114
114
|
|
|
@@ -118,7 +118,7 @@ The repository utility class to use for common operations.
|
|
|
118
118
|
|
|
119
119
|
> `abstract` `protected` `readonly` **repoUtilsClass**: `any`
|
|
120
120
|
|
|
121
|
-
Defined in: [src/routes/ModelRoute.ts:142](https://github.com/rapidrest/service-core/blob/
|
|
121
|
+
Defined in: [src/routes/ModelRoute.ts:142](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/routes/ModelRoute.ts#L142)
|
|
122
122
|
|
|
123
123
|
The class of the RepoUtils to use when instantiating the utility.
|
|
124
124
|
|
|
@@ -128,7 +128,7 @@ The class of the RepoUtils to use when instantiating the utility.
|
|
|
128
128
|
|
|
129
129
|
> `protected` **trackChanges**: `number` = `0`
|
|
130
130
|
|
|
131
|
-
Defined in: [src/routes/ModelRoute.ts:151](https://github.com/rapidrest/service-core/blob/
|
|
131
|
+
Defined in: [src/routes/ModelRoute.ts:151](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/routes/ModelRoute.ts#L151)
|
|
132
132
|
|
|
133
133
|
The number of previous document versions to store in the database. A negative value indicates storing all
|
|
134
134
|
versions, a value of `0` stores no versions.
|
|
@@ -139,7 +139,7 @@ versions, a value of `0` stores no versions.
|
|
|
139
139
|
|
|
140
140
|
> `protected` **trustedRoles**: `string`[]
|
|
141
141
|
|
|
142
|
-
Defined in: [src/routes/ModelRoute.ts:154](https://github.com/rapidrest/service-core/blob/
|
|
142
|
+
Defined in: [src/routes/ModelRoute.ts:154](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/routes/ModelRoute.ts#L154)
|
|
143
143
|
|
|
144
144
|
## Accessors
|
|
145
145
|
|
|
@@ -149,7 +149,7 @@ Defined in: [src/routes/ModelRoute.ts:154](https://github.com/rapidrest/service-
|
|
|
149
149
|
|
|
150
150
|
> **get** `protected` **modelClass**(): `any`
|
|
151
151
|
|
|
152
|
-
Defined in: [src/routes/ModelRoute.ts:159](https://github.com/rapidrest/service-core/blob/
|
|
152
|
+
Defined in: [src/routes/ModelRoute.ts:159](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/routes/ModelRoute.ts#L159)
|
|
153
153
|
|
|
154
154
|
The class type of the model this route is associated with.
|
|
155
155
|
|
|
@@ -163,7 +163,7 @@ The class type of the model this route is associated with.
|
|
|
163
163
|
|
|
164
164
|
> `protected` **doBulkCreate**(`objs`, `options`): `Promise`\<`T`[]\>
|
|
165
165
|
|
|
166
|
-
Defined in: [src/routes/ModelRoute.ts:258](https://github.com/rapidrest/service-core/blob/
|
|
166
|
+
Defined in: [src/routes/ModelRoute.ts:258](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/routes/ModelRoute.ts#L258)
|
|
167
167
|
|
|
168
168
|
Attempts to store a collection of objects provided in `options.req.body` into the datastore. Upon success, sets the newly persisted
|
|
169
169
|
object(s) to the `result` property of the `options.res` argument, otherwise sends a `400 BAD REQUEST` response to the
|
|
@@ -193,7 +193,7 @@ The options to process the request using.
|
|
|
193
193
|
|
|
194
194
|
> `protected` **doBulkUpdate**(`objs`, `options`): `Promise`\<`T`[]\>
|
|
195
195
|
|
|
196
|
-
Defined in: [src/routes/ModelRoute.ts:517](https://github.com/rapidrest/service-core/blob/
|
|
196
|
+
Defined in: [src/routes/ModelRoute.ts:517](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/routes/ModelRoute.ts#L517)
|
|
197
197
|
|
|
198
198
|
Attempts to modify a collection of existing data model objects.
|
|
199
199
|
|
|
@@ -219,9 +219,9 @@ The options to process the request using.
|
|
|
219
219
|
|
|
220
220
|
### doCount()
|
|
221
221
|
|
|
222
|
-
> `protected` **doCount**(`options`): `Promise
|
|
222
|
+
> `protected` **doCount**(`options`): `Promise`\<[`HttpResponse`](../interfaces/HttpResponse.md)\>
|
|
223
223
|
|
|
224
|
-
Defined in: [src/routes/ModelRoute.ts:191](https://github.com/rapidrest/service-core/blob/
|
|
224
|
+
Defined in: [src/routes/ModelRoute.ts:191](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/routes/ModelRoute.ts#L191)
|
|
225
225
|
|
|
226
226
|
Attempts to retrieve the number of data model objects matching the given set of criteria as specified in the
|
|
227
227
|
request `query`. Any results that have been found are set to the `content-length` header of the `res` argument.
|
|
@@ -236,7 +236,7 @@ The options to process the request using.
|
|
|
236
236
|
|
|
237
237
|
#### Returns
|
|
238
238
|
|
|
239
|
-
`Promise
|
|
239
|
+
`Promise`\<[`HttpResponse`](../interfaces/HttpResponse.md)\>
|
|
240
240
|
|
|
241
241
|
***
|
|
242
242
|
|
|
@@ -244,7 +244,7 @@ The options to process the request using.
|
|
|
244
244
|
|
|
245
245
|
> `protected` **doCreate**(`obj`, `options`): `Promise`\<`T` \| `T`[]\>
|
|
246
246
|
|
|
247
|
-
Defined in: [src/routes/ModelRoute.ts:288](https://github.com/rapidrest/service-core/blob/
|
|
247
|
+
Defined in: [src/routes/ModelRoute.ts:288](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/routes/ModelRoute.ts#L288)
|
|
248
248
|
|
|
249
249
|
Attempts to store one or more objects provided in `options.req.body` into the datastore. Upon success, sets the newly persisted
|
|
250
250
|
object(s) to the `result` property of the `options.res` argument, otherwise sends a `400 BAD REQUEST` response to the
|
|
@@ -274,7 +274,7 @@ The options to process the request using.
|
|
|
274
274
|
|
|
275
275
|
> `protected` **doCreateObject**(`obj`, `options`): `Promise`\<`T`\>
|
|
276
276
|
|
|
277
|
-
Defined in: [src/routes/ModelRoute.ts:228](https://github.com/rapidrest/service-core/blob/
|
|
277
|
+
Defined in: [src/routes/ModelRoute.ts:228](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/routes/ModelRoute.ts#L228)
|
|
278
278
|
|
|
279
279
|
Attempts to store an object provided in `options.req.body` into the datastore. Upon success, sets the newly persisted
|
|
280
280
|
object(s) to the `result` property of the `options.res` argument, otherwise sends a `400 BAD REQUEST` response to the
|
|
@@ -304,7 +304,7 @@ The options to process the request using.
|
|
|
304
304
|
|
|
305
305
|
> `protected` **doDelete**(`id`, `options`): `Promise`\<`void`\>
|
|
306
306
|
|
|
307
|
-
Defined in: [src/routes/ModelRoute.ts:313](https://github.com/rapidrest/service-core/blob/
|
|
307
|
+
Defined in: [src/routes/ModelRoute.ts:313](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/routes/ModelRoute.ts#L313)
|
|
308
308
|
|
|
309
309
|
Attempts to delete an existing data model object with a given unique identifier encoded by the URI parameter
|
|
310
310
|
`id`.
|
|
@@ -333,7 +333,7 @@ The options to process the request using.
|
|
|
333
333
|
|
|
334
334
|
> `protected` **doExists**(`id`, `options`): `Promise`\<`any`\>
|
|
335
335
|
|
|
336
|
-
Defined in: [src/routes/ModelRoute.ts:359](https://github.com/rapidrest/service-core/blob/
|
|
336
|
+
Defined in: [src/routes/ModelRoute.ts:359](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/routes/ModelRoute.ts#L359)
|
|
337
337
|
|
|
338
338
|
Attempts to determine if an existing object with the given unique identifier exists.
|
|
339
339
|
|
|
@@ -361,7 +361,7 @@ The options to process the request using.
|
|
|
361
361
|
|
|
362
362
|
> `protected` **doFindAll**(`options`): `Promise`\<`T`[]\>
|
|
363
363
|
|
|
364
|
-
Defined in: [src/routes/ModelRoute.ts:400](https://github.com/rapidrest/service-core/blob/
|
|
364
|
+
Defined in: [src/routes/ModelRoute.ts:400](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/routes/ModelRoute.ts#L400)
|
|
365
365
|
|
|
366
366
|
Attempts to retrieve all data model objects matching the given set of criteria as specified in the request
|
|
367
367
|
`query`. Any results that have been found are set to the `result` property of the `res` argument. `result` is
|
|
@@ -385,7 +385,7 @@ The options to process the request using.
|
|
|
385
385
|
|
|
386
386
|
> `protected` **doFindById**(`id`, `options`): `Promise`\<`T` \| `null`\>
|
|
387
387
|
|
|
388
|
-
Defined in: [src/routes/ModelRoute.ts:435](https://github.com/rapidrest/service-core/blob/
|
|
388
|
+
Defined in: [src/routes/ModelRoute.ts:435](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/routes/ModelRoute.ts#L435)
|
|
389
389
|
|
|
390
390
|
Attempts to retrieve a single data model object as identified by the `id` parameter in the URI.
|
|
391
391
|
|
|
@@ -411,7 +411,7 @@ The options to process the request using.
|
|
|
411
411
|
|
|
412
412
|
> `protected` **doTruncate**(`options`): `Promise`\<`void`\>
|
|
413
413
|
|
|
414
|
-
Defined in: [src/routes/ModelRoute.ts:477](https://github.com/rapidrest/service-core/blob/
|
|
414
|
+
Defined in: [src/routes/ModelRoute.ts:477](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/routes/ModelRoute.ts#L477)
|
|
415
415
|
|
|
416
416
|
Attempts to remove all entries of the data model type from the datastore matching the given
|
|
417
417
|
parameters and query.
|
|
@@ -434,7 +434,7 @@ The options to process the request using.
|
|
|
434
434
|
|
|
435
435
|
> `protected` **doUpdate**(`id`, `obj`, `options`): `Promise`\<`T`\>
|
|
436
436
|
|
|
437
|
-
Defined in: [src/routes/ModelRoute.ts:545](https://github.com/rapidrest/service-core/blob/
|
|
437
|
+
Defined in: [src/routes/ModelRoute.ts:545](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/routes/ModelRoute.ts#L545)
|
|
438
438
|
|
|
439
439
|
Attempts to modify an existing data model object as identified by the `id` parameter in the URI.
|
|
440
440
|
|
|
@@ -466,7 +466,7 @@ The options to process the request using.
|
|
|
466
466
|
|
|
467
467
|
> `protected` **doUpdateProperty**(`id`, `propertyName`, `value`, `options`): `Promise`\<`T`\>
|
|
468
468
|
|
|
469
|
-
Defined in: [src/routes/ModelRoute.ts:596](https://github.com/rapidrest/service-core/blob/
|
|
469
|
+
Defined in: [src/routes/ModelRoute.ts:596](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/routes/ModelRoute.ts#L596)
|
|
470
470
|
|
|
471
471
|
Attempts to modify a single property of an existing data model object as identified by the `id` parameter in the URI.
|
|
472
472
|
|
|
@@ -508,7 +508,7 @@ The options to process the request using.
|
|
|
508
508
|
|
|
509
509
|
> `protected` **doValidate**(`objs`, `options?`): `Promise`\<`void`\>
|
|
510
510
|
|
|
511
|
-
Defined in: [src/routes/ModelRoute.ts:642](https://github.com/rapidrest/service-core/blob/
|
|
511
|
+
Defined in: [src/routes/ModelRoute.ts:642](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/routes/ModelRoute.ts#L642)
|
|
512
512
|
|
|
513
513
|
Calls `repoUtils.validate()` to validate the object(s) provided.
|
|
514
514
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
# Class: ModelUtils
|
|
8
8
|
|
|
9
|
-
Defined in: [src/models/ModelUtils.ts:24](https://github.com/rapidrest/service-core/blob/
|
|
9
|
+
Defined in: [src/models/ModelUtils.ts:24](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/models/ModelUtils.ts#L24)
|
|
10
10
|
|
|
11
11
|
Utility class for working with data model classes.
|
|
12
12
|
|
|
@@ -30,7 +30,7 @@ Jean-Philippe Steinmetz
|
|
|
30
30
|
|
|
31
31
|
> `static` **buildIdSearchQuery**\<`T`\>(`repo`, `modelClass`, `id`, `version?`, `productUid?`): `any`
|
|
32
32
|
|
|
33
|
-
Defined in: [src/models/ModelUtils.ts:88](https://github.com/rapidrest/service-core/blob/
|
|
33
|
+
Defined in: [src/models/ModelUtils.ts:88](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/models/ModelUtils.ts#L88)
|
|
34
34
|
|
|
35
35
|
Builds a query object for use with `find` functions of the given repository for retrieving objects matching the
|
|
36
36
|
specified unique identifier.
|
|
@@ -85,7 +85,7 @@ An object that can be passed to a TypeORM `find` function.
|
|
|
85
85
|
|
|
86
86
|
> `static` **buildIdSearchQueryMongo**(`modelClass`, `id`, `version?`, `productUid?`): `any`
|
|
87
87
|
|
|
88
|
-
Defined in: [src/models/ModelUtils.ts:145](https://github.com/rapidrest/service-core/blob/
|
|
88
|
+
Defined in: [src/models/ModelUtils.ts:145](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/models/ModelUtils.ts#L145)
|
|
89
89
|
|
|
90
90
|
Builds a MongoDB compatible query object for use in `find` functions for retrieving objects matching the
|
|
91
91
|
specified unique identifier.
|
|
@@ -128,7 +128,7 @@ An object that can be passed to a MongoDB `find` function.
|
|
|
128
128
|
|
|
129
129
|
> `static` **buildIdSearchQuerySQL**(`modelClass`, `id`, `version?`, `productUid?`): `any`
|
|
130
130
|
|
|
131
|
-
Defined in: [src/models/ModelUtils.ts:112](https://github.com/rapidrest/service-core/blob/
|
|
131
|
+
Defined in: [src/models/ModelUtils.ts:112](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/models/ModelUtils.ts#L112)
|
|
132
132
|
|
|
133
133
|
Builds a TypeORM compatible query object for use in `find` functions for retrieving objects matching the
|
|
134
134
|
specified unique identifier.
|
|
@@ -171,7 +171,7 @@ An object that can be passed to a TypeORM `find` function.
|
|
|
171
171
|
|
|
172
172
|
> `static` **buildSearchQuery**\<`T`\>(`modelClass`, `repo`, `params?`, `queryParams?`, `exactMatch?`, `user?`): `any`
|
|
173
173
|
|
|
174
|
-
Defined in: [src/models/ModelUtils.ts:380](https://github.com/rapidrest/service-core/blob/
|
|
174
|
+
Defined in: [src/models/ModelUtils.ts:380](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/models/ModelUtils.ts#L380)
|
|
175
175
|
|
|
176
176
|
Builds a query object for the given criteria and repository. Query params can have a value containing a
|
|
177
177
|
conditional operator to apply for the search. The operator is encoded with the format `op(value)`. The following
|
|
@@ -246,7 +246,7 @@ The TypeORM compatible query object.
|
|
|
246
246
|
|
|
247
247
|
> `static` **buildSearchQueryMongo**(`modelClass`, `params?`, `queryParams?`, `exactMatch?`, `user?`): `any`
|
|
248
248
|
|
|
249
|
-
Defined in: [src/models/ModelUtils.ts:570](https://github.com/rapidrest/service-core/blob/
|
|
249
|
+
Defined in: [src/models/ModelUtils.ts:570](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/models/ModelUtils.ts#L570)
|
|
250
250
|
|
|
251
251
|
Builds a MongoDB compatible query object for the given criteria. Query params can have a value containing a
|
|
252
252
|
conditional operator to apply for the search. The operator is encoded with the format `op(value)`. The following
|
|
@@ -309,7 +309,7 @@ The TypeORM compatible query object.
|
|
|
309
309
|
|
|
310
310
|
> `static` **buildSearchQuerySQL**(`modelClass`, `params?`, `queryParams?`, `exactMatch?`, `user?`): `any`
|
|
311
311
|
|
|
312
|
-
Defined in: [src/models/ModelUtils.ts:426](https://github.com/rapidrest/service-core/blob/
|
|
312
|
+
Defined in: [src/models/ModelUtils.ts:426](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/models/ModelUtils.ts#L426)
|
|
313
313
|
|
|
314
314
|
Builds a TypeORM compatible query object for the given criteria. Query params can have a value containing a
|
|
315
315
|
conditional operator to apply for the search. The operator is encoded with the format `op(value)`. The following
|
|
@@ -370,7 +370,7 @@ The TypeORM compatible query object.
|
|
|
370
370
|
|
|
371
371
|
> `static` **getIdPropertyNames**(`modelClass`): `string`[]
|
|
372
372
|
|
|
373
|
-
Defined in: [src/models/ModelUtils.ts:56](https://github.com/rapidrest/service-core/blob/
|
|
373
|
+
Defined in: [src/models/ModelUtils.ts:56](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/models/ModelUtils.ts#L56)
|
|
374
374
|
|
|
375
375
|
Retrieves a list of all of the specified class's properties that have the
|
|
376
376
|
|
|
@@ -402,7 +402,7 @@ decorator applied.
|
|
|
402
402
|
|
|
403
403
|
> `static` **loadModels**(`src`, `result?`): `Promise`\<`Map`\<`string`, `any`\>\>
|
|
404
404
|
|
|
405
|
-
Defined in: [src/models/ModelUtils.ts:710](https://github.com/rapidrest/service-core/blob/
|
|
405
|
+
Defined in: [src/models/ModelUtils.ts:710](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/models/ModelUtils.ts#L710)
|
|
406
406
|
|
|
407
407
|
Loads all model schema files from the specified path and returns a map containing all the definitions.
|
|
408
408
|
|
|
@@ -430,7 +430,7 @@ A map containing of all loaded model names to their class definitions.
|
|
|
430
430
|
|
|
431
431
|
> `static` **setTypeOrm**(`module`): `void`
|
|
432
432
|
|
|
433
|
-
Defined in: [src/models/ModelUtils.ts:34](https://github.com/rapidrest/service-core/blob/
|
|
433
|
+
Defined in: [src/models/ModelUtils.ts:34](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/models/ModelUtils.ts#L34)
|
|
434
434
|
|
|
435
435
|
Provides the `typeorm` module to use when building SQL queries. This is called automatically when a SQL
|
|
436
436
|
datastore connection is established.
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
# Class: MongoConnection
|
|
8
8
|
|
|
9
|
-
Defined in: [src/database/MongoConnection.ts:17](https://github.com/rapidrest/service-core/blob/
|
|
9
|
+
Defined in: [src/database/MongoConnection.ts:17](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoConnection.ts#L17)
|
|
10
10
|
|
|
11
11
|
Represents a single named connection to a MongoDB database using the native `mongodb` driver, including the
|
|
12
12
|
registry of all model classes assigned to the connection's datastore.
|
|
@@ -24,7 +24,7 @@ Jean-Philippe Steinmetz <rapidrests@gmail.com>
|
|
|
24
24
|
|
|
25
25
|
> **new MongoConnection**(`name`, `client`, `db`, `entities?`): `MongoConnection`
|
|
26
26
|
|
|
27
|
-
Defined in: [src/database/MongoConnection.ts:29](https://github.com/rapidrest/service-core/blob/
|
|
27
|
+
Defined in: [src/database/MongoConnection.ts:29](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoConnection.ts#L29)
|
|
28
28
|
|
|
29
29
|
#### Parameters
|
|
30
30
|
|
|
@@ -54,7 +54,7 @@ Defined in: [src/database/MongoConnection.ts:29](https://github.com/rapidrest/se
|
|
|
54
54
|
|
|
55
55
|
> `readonly` **client**: `MongoClient`
|
|
56
56
|
|
|
57
|
-
Defined in: [src/database/MongoConnection.ts:19](https://github.com/rapidrest/service-core/blob/
|
|
57
|
+
Defined in: [src/database/MongoConnection.ts:19](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoConnection.ts#L19)
|
|
58
58
|
|
|
59
59
|
The underlying MongoDB client.
|
|
60
60
|
|
|
@@ -64,7 +64,7 @@ The underlying MongoDB client.
|
|
|
64
64
|
|
|
65
65
|
> `readonly` **db**: `Db`
|
|
66
66
|
|
|
67
|
-
Defined in: [src/database/MongoConnection.ts:21](https://github.com/rapidrest/service-core/blob/
|
|
67
|
+
Defined in: [src/database/MongoConnection.ts:21](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoConnection.ts#L21)
|
|
68
68
|
|
|
69
69
|
The database that this connection is bound to.
|
|
70
70
|
|
|
@@ -74,7 +74,7 @@ The database that this connection is bound to.
|
|
|
74
74
|
|
|
75
75
|
> `readonly` **name**: `string`
|
|
76
76
|
|
|
77
|
-
Defined in: [src/database/MongoConnection.ts:23](https://github.com/rapidrest/service-core/blob/
|
|
77
|
+
Defined in: [src/database/MongoConnection.ts:23](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoConnection.ts#L23)
|
|
78
78
|
|
|
79
79
|
The name of the datastore that this connection was created for.
|
|
80
80
|
|
|
@@ -86,7 +86,7 @@ The name of the datastore that this connection was created for.
|
|
|
86
86
|
|
|
87
87
|
> **get** **entityClasses**(): `any`[]
|
|
88
88
|
|
|
89
|
-
Defined in: [src/database/MongoConnection.ts:71](https://github.com/rapidrest/service-core/blob/
|
|
89
|
+
Defined in: [src/database/MongoConnection.ts:71](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoConnection.ts#L71)
|
|
90
90
|
|
|
91
91
|
Returns the list of all model classes registered with this connection.
|
|
92
92
|
|
|
@@ -102,7 +102,7 @@ Returns the list of all model classes registered with this connection.
|
|
|
102
102
|
|
|
103
103
|
> **get** **isConnected**(): `boolean`
|
|
104
104
|
|
|
105
|
-
Defined in: [src/database/MongoConnection.ts:42](https://github.com/rapidrest/service-core/blob/
|
|
105
|
+
Defined in: [src/database/MongoConnection.ts:42](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoConnection.ts#L42)
|
|
106
106
|
|
|
107
107
|
Indicates whether or not the connection is currently active.
|
|
108
108
|
|
|
@@ -116,7 +116,7 @@ Indicates whether or not the connection is currently active.
|
|
|
116
116
|
|
|
117
117
|
> **admin**(): `Admin`
|
|
118
118
|
|
|
119
|
-
Defined in: [src/database/MongoConnection.ts:47](https://github.com/rapidrest/service-core/blob/
|
|
119
|
+
Defined in: [src/database/MongoConnection.ts:47](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoConnection.ts#L47)
|
|
120
120
|
|
|
121
121
|
Returns the admin interface of the underlying database.
|
|
122
122
|
|
|
@@ -130,7 +130,7 @@ Returns the admin interface of the underlying database.
|
|
|
130
130
|
|
|
131
131
|
> **close**(): `Promise`\<`void`\>
|
|
132
132
|
|
|
133
|
-
Defined in: [src/database/MongoConnection.ts:54](https://github.com/rapidrest/service-core/blob/
|
|
133
|
+
Defined in: [src/database/MongoConnection.ts:54](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoConnection.ts#L54)
|
|
134
134
|
|
|
135
135
|
Closes the connection to the database server.
|
|
136
136
|
|
|
@@ -144,7 +144,7 @@ Closes the connection to the database server.
|
|
|
144
144
|
|
|
145
145
|
> **collectionNameFor**(`clazz`): `string`
|
|
146
146
|
|
|
147
|
-
Defined in: [src/database/MongoConnection.ts:64](https://github.com/rapidrest/service-core/blob/
|
|
147
|
+
Defined in: [src/database/MongoConnection.ts:64](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoConnection.ts#L64)
|
|
148
148
|
|
|
149
149
|
Returns the name of the collection that records of the given model class are stored in.
|
|
150
150
|
|
|
@@ -166,7 +166,7 @@ The model class to resolve the collection name for.
|
|
|
166
166
|
|
|
167
167
|
> **getMongoRepository**\<`T`\>(`classOrName`): [`MongoRepository`](MongoRepository.md)\<`T`\>
|
|
168
168
|
|
|
169
|
-
Defined in: [src/database/MongoConnection.ts:105](https://github.com/rapidrest/service-core/blob/
|
|
169
|
+
Defined in: [src/database/MongoConnection.ts:105](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoConnection.ts#L105)
|
|
170
170
|
|
|
171
171
|
Returns a repository for performing operations against the collection associated with the given model class.
|
|
172
172
|
This is an alias of `getRepository` provided for compatibility with TypeORM's `DataSource` interface.
|
|
@@ -195,7 +195,7 @@ The model class, or the name of a registered model class, to retrieve a reposito
|
|
|
195
195
|
|
|
196
196
|
> **getRepository**\<`T`\>(`classOrName`): [`MongoRepository`](MongoRepository.md)\<`T`\>
|
|
197
197
|
|
|
198
|
-
Defined in: [src/database/MongoConnection.ts:80](https://github.com/rapidrest/service-core/blob/
|
|
198
|
+
Defined in: [src/database/MongoConnection.ts:80](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoConnection.ts#L80)
|
|
199
199
|
|
|
200
200
|
Returns a repository for performing operations against the collection associated with the given model class.
|
|
201
201
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
# Class: MongoRepository\<T\>
|
|
8
8
|
|
|
9
|
-
Defined in: [src/database/MongoRepository.ts:22](https://github.com/rapidrest/service-core/blob/
|
|
9
|
+
Defined in: [src/database/MongoRepository.ts:22](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoRepository.ts#L22)
|
|
10
10
|
|
|
11
11
|
Provides a lightweight repository for performing common operations against a single MongoDB collection using the
|
|
12
12
|
native `mongodb` driver. Instances of this class are obtained via `MongoConnection.getRepository`.
|
|
@@ -30,7 +30,7 @@ Jean-Philippe Steinmetz <rapidrests@gmail.com>
|
|
|
30
30
|
|
|
31
31
|
> **new MongoRepository**\<`T`\>(`db`, `collection`, `modelClass?`): `MongoRepository`\<`T`\>
|
|
32
32
|
|
|
33
|
-
Defined in: [src/database/MongoRepository.ts:30](https://github.com/rapidrest/service-core/blob/
|
|
33
|
+
Defined in: [src/database/MongoRepository.ts:30](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoRepository.ts#L30)
|
|
34
34
|
|
|
35
35
|
#### Parameters
|
|
36
36
|
|
|
@@ -56,7 +56,7 @@ Defined in: [src/database/MongoRepository.ts:30](https://github.com/rapidrest/se
|
|
|
56
56
|
|
|
57
57
|
> `readonly` **collection**: `Collection`\<`T`\>
|
|
58
58
|
|
|
59
|
-
Defined in: [src/database/MongoRepository.ts:26](https://github.com/rapidrest/service-core/blob/
|
|
59
|
+
Defined in: [src/database/MongoRepository.ts:26](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoRepository.ts#L26)
|
|
60
60
|
|
|
61
61
|
The underlying MongoDB collection that operations are performed against.
|
|
62
62
|
|
|
@@ -66,7 +66,7 @@ The underlying MongoDB collection that operations are performed against.
|
|
|
66
66
|
|
|
67
67
|
> `readonly` **db**: `Db`
|
|
68
68
|
|
|
69
|
-
Defined in: [src/database/MongoRepository.ts:24](https://github.com/rapidrest/service-core/blob/
|
|
69
|
+
Defined in: [src/database/MongoRepository.ts:24](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoRepository.ts#L24)
|
|
70
70
|
|
|
71
71
|
The database that the underlying collection belongs to.
|
|
72
72
|
|
|
@@ -76,7 +76,7 @@ The database that the underlying collection belongs to.
|
|
|
76
76
|
|
|
77
77
|
> `readonly` **modelClass**: `any`
|
|
78
78
|
|
|
79
|
-
Defined in: [src/database/MongoRepository.ts:28](https://github.com/rapidrest/service-core/blob/
|
|
79
|
+
Defined in: [src/database/MongoRepository.ts:28](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoRepository.ts#L28)
|
|
80
80
|
|
|
81
81
|
The model class associated with this repository.
|
|
82
82
|
|
|
@@ -88,7 +88,7 @@ The model class associated with this repository.
|
|
|
88
88
|
|
|
89
89
|
> **get** **collectionName**(): `string`
|
|
90
90
|
|
|
91
|
-
Defined in: [src/database/MongoRepository.ts:37](https://github.com/rapidrest/service-core/blob/
|
|
91
|
+
Defined in: [src/database/MongoRepository.ts:37](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoRepository.ts#L37)
|
|
92
92
|
|
|
93
93
|
The name of the underlying MongoDB collection.
|
|
94
94
|
|
|
@@ -102,7 +102,7 @@ The name of the underlying MongoDB collection.
|
|
|
102
102
|
|
|
103
103
|
> **aggregate**(`pipeline`): `AggregationCursor`\<`any`\>
|
|
104
104
|
|
|
105
|
-
Defined in: [src/database/MongoRepository.ts:46](https://github.com/rapidrest/service-core/blob/
|
|
105
|
+
Defined in: [src/database/MongoRepository.ts:46](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoRepository.ts#L46)
|
|
106
106
|
|
|
107
107
|
Executes the given aggregation pipeline against the collection and returns the resulting cursor.
|
|
108
108
|
|
|
@@ -124,7 +124,7 @@ The aggregation pipeline stages to execute.
|
|
|
124
124
|
|
|
125
125
|
> **clear**(): `Promise`\<`void`\>
|
|
126
126
|
|
|
127
|
-
Defined in: [src/database/MongoRepository.ts:54](https://github.com/rapidrest/service-core/blob/
|
|
127
|
+
Defined in: [src/database/MongoRepository.ts:54](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoRepository.ts#L54)
|
|
128
128
|
|
|
129
129
|
Drops the entire collection from the database, removing all documents and indexes. Does nothing if the
|
|
130
130
|
collection does not exist.
|
|
@@ -139,7 +139,7 @@ collection does not exist.
|
|
|
139
139
|
|
|
140
140
|
> **count**(`filter?`): `Promise`\<`number`\>
|
|
141
141
|
|
|
142
|
-
Defined in: [src/database/MongoRepository.ts:70](https://github.com/rapidrest/service-core/blob/
|
|
142
|
+
Defined in: [src/database/MongoRepository.ts:70](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoRepository.ts#L70)
|
|
143
143
|
|
|
144
144
|
Returns the number of documents matching the given filter.
|
|
145
145
|
|
|
@@ -161,7 +161,7 @@ The query filter to match documents against.
|
|
|
161
161
|
|
|
162
162
|
> **deleteMany**(`filter`): `Promise`\<`DeleteResult`\>
|
|
163
163
|
|
|
164
|
-
Defined in: [src/database/MongoRepository.ts:79](https://github.com/rapidrest/service-core/blob/
|
|
164
|
+
Defined in: [src/database/MongoRepository.ts:79](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoRepository.ts#L79)
|
|
165
165
|
|
|
166
166
|
Deletes all documents matching the given filter.
|
|
167
167
|
|
|
@@ -183,7 +183,7 @@ The query filter to match documents against.
|
|
|
183
183
|
|
|
184
184
|
> **deleteOne**(`filter`): `Promise`\<`DeleteResult`\>
|
|
185
185
|
|
|
186
|
-
Defined in: [src/database/MongoRepository.ts:88](https://github.com/rapidrest/service-core/blob/
|
|
186
|
+
Defined in: [src/database/MongoRepository.ts:88](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoRepository.ts#L88)
|
|
187
187
|
|
|
188
188
|
Deletes the first document matching the given filter.
|
|
189
189
|
|
|
@@ -205,7 +205,7 @@ The query filter to match documents against.
|
|
|
205
205
|
|
|
206
206
|
> **distinct**(`field`, `filter?`): `Promise`\<`any`[]\>
|
|
207
207
|
|
|
208
|
-
Defined in: [src/database/MongoRepository.ts:98](https://github.com/rapidrest/service-core/blob/
|
|
208
|
+
Defined in: [src/database/MongoRepository.ts:98](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoRepository.ts#L98)
|
|
209
209
|
|
|
210
210
|
Returns the list of distinct values of the given field for all documents matching the given filter.
|
|
211
211
|
|
|
@@ -233,7 +233,7 @@ The query filter to match documents against.
|
|
|
233
233
|
|
|
234
234
|
> **find**(`filter?`): `Promise`\<`any`[]\>
|
|
235
235
|
|
|
236
|
-
Defined in: [src/database/MongoRepository.ts:107](https://github.com/rapidrest/service-core/blob/
|
|
236
|
+
Defined in: [src/database/MongoRepository.ts:107](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoRepository.ts#L107)
|
|
237
237
|
|
|
238
238
|
Returns all documents matching the given filter.
|
|
239
239
|
|
|
@@ -255,7 +255,7 @@ The query filter to match documents against.
|
|
|
255
255
|
|
|
256
256
|
> **findOne**(`filter`): `Promise`\<`any`\>
|
|
257
257
|
|
|
258
|
-
Defined in: [src/database/MongoRepository.ts:116](https://github.com/rapidrest/service-core/blob/
|
|
258
|
+
Defined in: [src/database/MongoRepository.ts:116](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoRepository.ts#L116)
|
|
259
259
|
|
|
260
260
|
Returns the first document matching the given filter.
|
|
261
261
|
|
|
@@ -277,7 +277,7 @@ The query filter to match documents against.
|
|
|
277
277
|
|
|
278
278
|
> **save**(`doc`): `Promise`\<`any`\>
|
|
279
279
|
|
|
280
|
-
Defined in: [src/database/MongoRepository.ts:128](https://github.com/rapidrest/service-core/blob/
|
|
280
|
+
Defined in: [src/database/MongoRepository.ts:128](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoRepository.ts#L128)
|
|
281
281
|
|
|
282
282
|
Saves the given document to the collection. If the document has an existing `_id` the stored document is
|
|
283
283
|
replaced (inserting if missing), otherwise the document is inserted and its newly assigned `_id` is set on
|
|
@@ -303,7 +303,7 @@ The saved document.
|
|
|
303
303
|
|
|
304
304
|
> **updateMany**(`filter`, `update`): `Promise`\<`UpdateResult`\<`Document`\>\>
|
|
305
305
|
|
|
306
|
-
Defined in: [src/database/MongoRepository.ts:153](https://github.com/rapidrest/service-core/blob/
|
|
306
|
+
Defined in: [src/database/MongoRepository.ts:153](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoRepository.ts#L153)
|
|
307
307
|
|
|
308
308
|
Updates all documents matching the given filter with the provided update operations.
|
|
309
309
|
|
|
@@ -331,7 +331,7 @@ The update operations (e.g. `$set`) to apply.
|
|
|
331
331
|
|
|
332
332
|
> **updateOne**(`filter`, `update`): `Promise`\<`UpdateResult`\<`Document`\>\>
|
|
333
333
|
|
|
334
|
-
Defined in: [src/database/MongoRepository.ts:163](https://github.com/rapidrest/service-core/blob/
|
|
334
|
+
Defined in: [src/database/MongoRepository.ts:163](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoRepository.ts#L163)
|
|
335
335
|
|
|
336
336
|
Updates the first document matching the given filter with the provided update operations.
|
|
337
337
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
# Class: MongoSchemaSync
|
|
8
8
|
|
|
9
|
-
Defined in: [src/database/MongoSchemaSync.ts:33](https://github.com/rapidrest/service-core/blob/
|
|
9
|
+
Defined in: [src/database/MongoSchemaSync.ts:33](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoSchemaSync.ts#L33)
|
|
10
10
|
|
|
11
11
|
Performs structure synchronization of MongoDB collections based on the persistence metadata of model classes.
|
|
12
12
|
|
|
@@ -28,7 +28,7 @@ Jean-Philippe Steinmetz <rapidrests@gmail.com>
|
|
|
28
28
|
|
|
29
29
|
> **new MongoSchemaSync**(`db`, `logger?`): `MongoSchemaSync`
|
|
30
30
|
|
|
31
|
-
Defined in: [src/database/MongoSchemaSync.ts:37](https://github.com/rapidrest/service-core/blob/
|
|
31
|
+
Defined in: [src/database/MongoSchemaSync.ts:37](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoSchemaSync.ts#L37)
|
|
32
32
|
|
|
33
33
|
#### Parameters
|
|
34
34
|
|
|
@@ -50,7 +50,7 @@ Defined in: [src/database/MongoSchemaSync.ts:37](https://github.com/rapidrest/se
|
|
|
50
50
|
|
|
51
51
|
> **synchronize**(`entities`): `Promise`\<`void`\>
|
|
52
52
|
|
|
53
|
-
Defined in: [src/database/MongoSchemaSync.ts:47](https://github.com/rapidrest/service-core/blob/
|
|
53
|
+
Defined in: [src/database/MongoSchemaSync.ts:47](https://github.com/rapidrest/service-core/blob/5cd5bc79b3569101eabf54dec613fd4745a69b2b/src/database/MongoSchemaSync.ts#L47)
|
|
54
54
|
|
|
55
55
|
Synchronizes the structure of all collections associated with the given model classes.
|
|
56
56
|
|