@rapidrest/service-core 1.0.0-beta.1 → 1.0.0-beta.3

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.
Files changed (163) hide show
  1. package/dist/lib/OpenApiSpec.js +1 -1
  2. package/dist/lib/OpenApiSpec.js.map +1 -1
  3. package/dist/lib/auth/AuthMiddleware.js +33 -3
  4. package/dist/lib/auth/AuthMiddleware.js.map +1 -1
  5. package/dist/lib/auth/BasicStrategy.js +46 -39
  6. package/dist/lib/auth/BasicStrategy.js.map +1 -1
  7. package/dist/lib/auth/JWTStrategy.js +69 -60
  8. package/dist/lib/auth/JWTStrategy.js.map +1 -1
  9. package/dist/lib/index.js +2 -1
  10. package/dist/lib/index.js.map +1 -1
  11. package/dist/lib/models/ModelUtils.js +1 -1
  12. package/dist/lib/models/ModelUtils.js.map +1 -1
  13. package/dist/lib/routes/MetricsRoute.js +1 -1
  14. package/dist/lib/routes/MetricsRoute.js.map +1 -1
  15. package/dist/lib/routes/RouteUtils.js +9 -8
  16. package/dist/lib/routes/RouteUtils.js.map +1 -1
  17. package/dist/types/auth/AuthMiddleware.d.ts +12 -1
  18. package/dist/types/auth/AuthStrategy.d.ts +13 -1
  19. package/dist/types/auth/BasicStrategy.d.ts +7 -3
  20. package/dist/types/auth/JWTStrategy.d.ts +6 -3
  21. package/dist/types/index.d.ts +2 -1
  22. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/MongoRepository.md +1 -1
  23. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/RedisConnection.md +1 -1
  24. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/Repository.md +1 -1
  25. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Default.md +1 -1
  26. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Description.md +1 -1
  27. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Document.md +1 -1
  28. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Example.md +1 -1
  29. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Format.md +1 -1
  30. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Returns.md +1 -1
  31. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Summary.md +1 -1
  32. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Tags.md +1 -1
  33. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/TypeInfo.md +1 -1
  34. package/docs/reference/@rapidrest/namespaces/DocDecorators/interfaces/DocumentsData.md +7 -7
  35. package/docs/reference/@rapidrest/namespaces/EventDecorators/functions/EventListener.md +1 -1
  36. package/docs/reference/@rapidrest/namespaces/EventDecorators/functions/OnEvent.md +1 -1
  37. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Cache.md +1 -1
  38. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/ChildEntity.md +1 -1
  39. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/DataStore.md +1 -1
  40. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Identifier.md +1 -1
  41. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Protect.md +1 -1
  42. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Reference.md +1 -1
  43. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Shard.md +1 -1
  44. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/TrackChanges.md +1 -1
  45. package/docs/reference/@rapidrest/namespaces/ModelDecorators/interfaces/PendingTypeOrmColumn.md +5 -5
  46. package/docs/reference/@rapidrest/namespaces/ModelDecorators/variables/pendingTypeOrmColumns.md +1 -1
  47. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Column.md +1 -1
  48. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Entity.md +1 -1
  49. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Index.md +3 -3
  50. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/PrimaryColumn.md +1 -1
  51. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Unique.md +3 -3
  52. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getColumnMetadata.md +1 -1
  53. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getEntityName.md +1 -1
  54. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getIndexMetadata.md +1 -1
  55. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/ColumnInfo.md +4 -4
  56. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/ColumnOptions.md +5 -5
  57. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/IndexInfo.md +4 -4
  58. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/IndexOptions.md +5 -5
  59. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/After.md +1 -1
  60. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Auth.md +1 -1
  61. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/AuthResult.md +1 -1
  62. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Before.md +1 -1
  63. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/ContentType.md +1 -1
  64. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Delete.md +1 -1
  65. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Get.md +1 -1
  66. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Head.md +1 -1
  67. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Header.md +1 -1
  68. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Method.md +1 -1
  69. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Model.md +1 -1
  70. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Options.md +1 -1
  71. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Param.md +1 -1
  72. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Patch.md +1 -1
  73. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Post.md +1 -1
  74. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Protect.md +1 -1
  75. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Put.md +1 -1
  76. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Query.md +1 -1
  77. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Request.md +1 -1
  78. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/RequiresRole.md +1 -1
  79. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Response.md +1 -1
  80. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Route.md +1 -1
  81. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Socket.md +1 -1
  82. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/User.md +1 -1
  83. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Validate.md +1 -1
  84. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/WebSocket.md +1 -1
  85. package/docs/reference/classes/ACLUtils.md +10 -10
  86. package/docs/reference/classes/AdminRoute.md +3 -3
  87. package/docs/reference/classes/AuthMiddleware.md +55 -13
  88. package/docs/reference/classes/BackgroundService.md +8 -8
  89. package/docs/reference/classes/BackgroundServiceManager.md +7 -7
  90. package/docs/reference/classes/BaseEntity.md +6 -6
  91. package/docs/reference/classes/BaseMongoEntity.md +7 -7
  92. package/docs/reference/classes/BasicStrategy.md +52 -10
  93. package/docs/reference/classes/BasicStrategyOptions.md +35 -11
  94. package/docs/reference/classes/BulkError.md +3 -3
  95. package/docs/reference/classes/ConnectionManager.md +4 -4
  96. package/docs/reference/classes/EventListenerManager.md +5 -5
  97. package/docs/reference/classes/HttpRouter.md +343 -0
  98. package/docs/reference/classes/JWTStrategy.md +37 -14
  99. package/docs/reference/classes/JWTStrategyOptions.md +10 -10
  100. package/docs/reference/classes/MetricsRoute.md +4 -4
  101. package/docs/reference/classes/ModelRoute.md +28 -28
  102. package/docs/reference/classes/ModelUtils.md +50 -50
  103. package/docs/reference/classes/MongoConnection.md +12 -12
  104. package/docs/reference/classes/MongoRepository.md +17 -17
  105. package/docs/reference/classes/MongoSchemaSync.md +3 -3
  106. package/docs/reference/classes/NetUtils.md +4 -4
  107. package/docs/reference/classes/NotificationUtils.md +3 -3
  108. package/docs/reference/classes/ObjectFactory.md +10 -10
  109. package/docs/reference/classes/OpenAPIRoute.md +5 -5
  110. package/docs/reference/classes/OpenApiSpec.md +45 -45
  111. package/docs/reference/classes/RecoverableBaseEntity.md +7 -7
  112. package/docs/reference/classes/RecoverableBaseMongoEntity.md +8 -8
  113. package/docs/reference/classes/RedisTransport.md +4 -4
  114. package/docs/reference/classes/RepoUtils.md +28 -28
  115. package/docs/reference/classes/RouteUtils.md +17 -17
  116. package/docs/reference/classes/Server.md +29 -29
  117. package/docs/reference/classes/SimpleEntity.md +3 -3
  118. package/docs/reference/classes/SimpleMongoEntity.md +4 -4
  119. package/docs/reference/classes/StatusExtraData.md +4 -4
  120. package/docs/reference/classes/StatusRoute.md +1 -1
  121. package/docs/reference/classes/UWSRequest.md +226 -0
  122. package/docs/reference/classes/UWSResponse.md +257 -0
  123. package/docs/reference/classes/UWSWebSocketShim.md +958 -0
  124. package/docs/reference/enumerations/ACLAction.md +7 -7
  125. package/docs/reference/enumerations/ApiErrorMessages.md +15 -15
  126. package/docs/reference/enumerations/ApiErrors.md +15 -15
  127. package/docs/reference/functions/createWebSocketStream.md +27 -0
  128. package/docs/reference/functions/isSqlDataSource.md +1 -1
  129. package/docs/reference/functions/readBody.md +29 -0
  130. package/docs/reference/functions/resolveCollectionName.md +1 -1
  131. package/docs/reference/functions/runChain.md +40 -0
  132. package/docs/reference/functions/snakeCase.md +1 -1
  133. package/docs/reference/globals.md +15 -0
  134. package/docs/reference/interfaces/ACLRecord.md +8 -8
  135. package/docs/reference/interfaces/AccessControlList.md +5 -5
  136. package/docs/reference/interfaces/AuthResult.md +5 -5
  137. package/docs/reference/interfaces/AuthStrategy.md +47 -9
  138. package/docs/reference/interfaces/CreateRequestOptions.md +11 -11
  139. package/docs/reference/interfaces/DeleteRequestOptions.md +13 -13
  140. package/docs/reference/interfaces/FindRequestOptions.md +12 -12
  141. package/docs/reference/interfaces/HttpRequest.md +147 -0
  142. package/docs/reference/interfaces/HttpResponse.md +164 -0
  143. package/docs/reference/interfaces/JWTAuthResult.md +9 -9
  144. package/docs/reference/interfaces/RepoCreateOptions.md +7 -7
  145. package/docs/reference/interfaces/RepoDeleteOptions.md +9 -9
  146. package/docs/reference/interfaces/RepoFindOptions.md +11 -11
  147. package/docs/reference/interfaces/RepoOperationOptions.md +6 -6
  148. package/docs/reference/interfaces/RepoUpdateOptions.md +8 -8
  149. package/docs/reference/interfaces/RequestOptions.md +10 -10
  150. package/docs/reference/interfaces/RequestWS.md +225 -0
  151. package/docs/reference/interfaces/TruncateRequestOptions.md +15 -15
  152. package/docs/reference/interfaces/UpdateRequestOptions.md +13 -13
  153. package/docs/reference/type-aliases/ErrorHandler.md +35 -0
  154. package/docs/reference/type-aliases/NextFunction.md +23 -0
  155. package/docs/reference/type-aliases/OneOrMany.md +1 -1
  156. package/docs/reference/type-aliases/OneOrNull.md +1 -1
  157. package/docs/reference/type-aliases/PartialBaseEntity.md +1 -1
  158. package/docs/reference/type-aliases/PartialSimpleEntity.md +1 -1
  159. package/docs/reference/type-aliases/RequestHandler.md +31 -0
  160. package/docs/reference/type-aliases/UpdateObject.md +1 -1
  161. package/docs/reference/type-aliases/WsUpgradeAuth.md +27 -0
  162. package/docs/reference/type-aliases/WsUpgradeAuthResult.md +47 -0
  163. package/package.json +4 -4
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: ACLUtils
8
8
 
9
- Defined in: [src/security/ACLUtils.ts:22](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/security/ACLUtils.ts#L22)
9
+ Defined in: [src/security/ACLUtils.ts:22](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/security/ACLUtils.ts#L22)
10
10
 
11
11
  Common utility functions for working with `AccessControlList` objects and validating user permissions.
12
12
 
@@ -26,7 +26,7 @@ Common utility functions for working with `AccessControlList` objects and valida
26
26
 
27
27
  > **checkRequestPerms**(`uid`, `user`, `req`): `Promise`\<`boolean`\>
28
28
 
29
- Defined in: [src/security/ACLUtils.ts:73](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/security/ACLUtils.ts#L73)
29
+ Defined in: [src/security/ACLUtils.ts:73](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/security/ACLUtils.ts#L73)
30
30
 
31
31
  Validates that the user has permission to perform the request operation against the URL path for the
32
32
  provided request. If ACLUtils has not been initialized or the `acl` datastore has not been configured
@@ -48,7 +48,7 @@ The user to validate.
48
48
 
49
49
  ##### req
50
50
 
51
- `HttpRequest`
51
+ [`HttpRequest`](../interfaces/HttpRequest.md)
52
52
 
53
53
  The request whose URL path and method will be verified.
54
54
 
@@ -62,7 +62,7 @@ The request whose URL path and method will be verified.
62
62
 
63
63
  > **findACL**(`entityId`, `parentUids?`): `Promise`\<[`AccessControlList`](../interfaces/AccessControlList.md) \| `null`\>
64
64
 
65
- Defined in: [src/security/ACLUtils.ts:195](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/security/ACLUtils.ts#L195)
65
+ Defined in: [src/security/ACLUtils.ts:195](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/security/ACLUtils.ts#L195)
66
66
 
67
67
  Retrieves the access control list with the associated identifier and populates the parent(s).
68
68
 
@@ -90,7 +90,7 @@ The list of already found parent UIDs. This is used to break circular dependenci
90
90
 
91
91
  > **getRecord**(`acl`, `user`): [`ACLRecord`](../interfaces/ACLRecord.md) \| `null`
92
92
 
93
- Defined in: [src/security/ACLUtils.ts:459](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/security/ACLUtils.ts#L459)
93
+ Defined in: [src/security/ACLUtils.ts:459](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/security/ACLUtils.ts#L459)
94
94
 
95
95
  Retrieves the first available record in the provided ACL associated with the provided user.
96
96
 
@@ -120,7 +120,7 @@ The ACL record associated with the given user if found, otherwise `undefined`.
120
120
 
121
121
  > **hasPermission**(`user`, `acl`, `action`): `Promise`\<`boolean`\>
122
122
 
123
- Defined in: [src/security/ACLUtils.ts:127](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/security/ACLUtils.ts#L127)
123
+ Defined in: [src/security/ACLUtils.ts:127](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/security/ACLUtils.ts#L127)
124
124
 
125
125
  Validates that the user has permission to perform the provided action using the given access control list.
126
126
 
@@ -156,7 +156,7 @@ The action that the user desires permission for.
156
156
 
157
157
  > **populateParent**(`acl`, `parentUids?`): `Promise`\<`void`\>
158
158
 
159
- Defined in: [src/security/ACLUtils.ts:479](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/security/ACLUtils.ts#L479)
159
+ Defined in: [src/security/ACLUtils.ts:479](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/security/ACLUtils.ts#L479)
160
160
 
161
161
  Attempts to retrieve the parent access control list for the given ACL object.
162
162
 
@@ -184,7 +184,7 @@ The list of already found parent UIDs. This is used to break circular dependenci
184
184
 
185
185
  > **removeACL**(`uid`): `Promise`\<`void`\>
186
186
 
187
- Defined in: [src/security/ACLUtils.ts:247](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/security/ACLUtils.ts#L247)
187
+ Defined in: [src/security/ACLUtils.ts:247](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/security/ACLUtils.ts#L247)
188
188
 
189
189
  Deletes the ACL with the given identifier from the database.
190
190
 
@@ -206,7 +206,7 @@ The unique identifier of the ACL to remove.
206
206
 
207
207
  > **saveACL**(`acl`): `Promise`\<[`AccessControlList`](../interfaces/AccessControlList.md) \| `null`\>
208
208
 
209
- Defined in: [src/security/ACLUtils.ts:333](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/security/ACLUtils.ts#L333)
209
+ Defined in: [src/security/ACLUtils.ts:333](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/security/ACLUtils.ts#L333)
210
210
 
211
211
  Stores the given access control list into the ACL database.
212
212
 
@@ -230,7 +230,7 @@ Returns the ACL that was stored in the database.
230
230
 
231
231
  > **saveDefaultACL**(`acl`): `Promise`\<[`AccessControlList`](../interfaces/AccessControlList.md) \| `null`\>
232
232
 
233
- Defined in: [src/security/ACLUtils.ts:399](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/security/ACLUtils.ts#L399)
233
+ Defined in: [src/security/ACLUtils.ts:399](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/security/ACLUtils.ts#L399)
234
234
 
235
235
  Stores the given default access control list into the ACL database. A default ACL is a special type of ACL
236
236
  that is primarily defined and maintained within the code but allows for user-specific overrides. To accomplish
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: AdminRoute
8
8
 
9
- Defined in: [src/routes/AdminRoute.ts:50](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/routes/AdminRoute.ts#L50)
9
+ Defined in: [src/routes/AdminRoute.ts:50](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/routes/AdminRoute.ts#L50)
10
10
 
11
11
  The `AdminRoute` provides a default `/admin` endpoint that gives trusted users the following abilities:
12
12
 
@@ -26,7 +26,7 @@ Jean-Philippe Steinmetz
26
26
 
27
27
  > **new AdminRoute**(`releaseNotes`): `AdminRoute`
28
28
 
29
- Defined in: [src/routes/AdminRoute.ts:82](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/routes/AdminRoute.ts#L82)
29
+ Defined in: [src/routes/AdminRoute.ts:82](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/routes/AdminRoute.ts#L82)
30
30
 
31
31
  Constructs a new `ReleaseNotesRoute` object with the specified defaults.
32
32
 
@@ -48,4 +48,4 @@ The ReleaseNotes specification object to serve.
48
48
 
49
49
  > `protected` `optional` **cacheClient?**: `Redis`
50
50
 
51
- Defined in: [src/routes/AdminRoute.ts:55](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/routes/AdminRoute.ts#L55)
51
+ Defined in: [src/routes/AdminRoute.ts:55](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/routes/AdminRoute.ts#L55)
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: AuthMiddleware
8
8
 
9
- Defined in: [src/auth/AuthMiddleware.ts:19](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/auth/AuthMiddleware.ts#L19)
9
+ Defined in: [src/auth/AuthMiddleware.ts:19](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/auth/AuthMiddleware.ts#L19)
10
10
 
11
11
  A set of common utilities for performing authentication using one or more strategies.
12
12
 
@@ -30,7 +30,7 @@ Jean-Philippe Steinmetz <rapidrests@gmail.com>
30
30
 
31
31
  > `readonly` **strategies**: `Map`\<`string`, [`AuthStrategy`](../interfaces/AuthStrategy.md)\>
32
32
 
33
- Defined in: [src/auth/AuthMiddleware.ts:30](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/auth/AuthMiddleware.ts#L30)
33
+ Defined in: [src/auth/AuthMiddleware.ts:30](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/auth/AuthMiddleware.ts#L30)
34
34
 
35
35
  The authentication strategies that have been registered.
36
36
 
@@ -38,9 +38,9 @@ The authentication strategies that have been registered.
38
38
 
39
39
  ### authenticate()
40
40
 
41
- > **authenticate**(`strategies`, `req`, `res?`, `required?`): [`AuthResult`](../interfaces/AuthResult.md) \| `Promise`\<[`AuthResult`](../interfaces/AuthResult.md)\> \| `undefined`
41
+ > **authenticate**(`strategies`, `req`, `res?`, `required?`): `Promise`\<[`AuthResult`](../interfaces/AuthResult.md) \| `undefined`\>
42
42
 
43
- Defined in: [src/auth/AuthMiddleware.ts:54](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/auth/AuthMiddleware.ts#L54)
43
+ Defined in: [src/auth/AuthMiddleware.ts:54](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/auth/AuthMiddleware.ts#L54)
44
44
 
45
45
  Performs authentication of the given request using one of the provided strategies.
46
46
 
@@ -54,13 +54,13 @@ The list of strategy names to attempt authentication with.
54
54
 
55
55
  ##### req
56
56
 
57
- `HttpRequest`
57
+ [`HttpRequest`](../interfaces/HttpRequest.md)
58
58
 
59
59
  The request containing data to perform authenticate with.
60
60
 
61
61
  ##### res?
62
62
 
63
- `HttpResponse`
63
+ [`HttpResponse`](../interfaces/HttpResponse.md)
64
64
 
65
65
  The response to use when writing back directly to the client.
66
66
 
@@ -72,20 +72,62 @@ Set to `true` to if authentication is required to pass, otherwise set to `false`
72
72
 
73
73
  #### Returns
74
74
 
75
- [`AuthResult`](../interfaces/AuthResult.md) \| `Promise`\<[`AuthResult`](../interfaces/AuthResult.md)\> \| `undefined`
75
+ `Promise`\<[`AuthResult`](../interfaces/AuthResult.md) \| `undefined`\>
76
+
77
+ ***
78
+
79
+ ### authenticateSync()
80
+
81
+ > **authenticateSync**(`strategies`, `req`, `res?`, `required?`): [`AuthResult`](../interfaces/AuthResult.md) \| `undefined`
82
+
83
+ Defined in: [src/auth/AuthMiddleware.ts:92](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/auth/AuthMiddleware.ts#L92)
84
+
85
+ Performs authentication of the given request using one of the provided strategies.
86
+
87
+ This is the synchronous version of `authenticate` that performs blocking based authentication.
88
+
89
+ #### Parameters
90
+
91
+ ##### strategies
92
+
93
+ `string`[]
94
+
95
+ The list of strategy names to attempt authentication with.
96
+
97
+ ##### req
98
+
99
+ [`HttpRequest`](../interfaces/HttpRequest.md)
100
+
101
+ The request containing data to perform authenticate with.
102
+
103
+ ##### res?
104
+
105
+ [`HttpResponse`](../interfaces/HttpResponse.md)
106
+
107
+ The response to use when writing back directly to the client.
108
+
109
+ ##### required?
110
+
111
+ `boolean`
112
+
113
+ Set to `true` to if authentication is required to pass, otherwise set to `false`.
114
+
115
+ #### Returns
116
+
117
+ [`AuthResult`](../interfaces/AuthResult.md) \| `undefined`
76
118
 
77
119
  ***
78
120
 
79
121
  ### authWebSocket()
80
122
 
81
- > **authWebSocket**(`required`): `RequestHandler`
123
+ > **authWebSocket**(`required`): [`RequestHandler`](../type-aliases/RequestHandler.md)
82
124
 
83
- Defined in: [src/auth/AuthMiddleware.ts:95](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/auth/AuthMiddleware.ts#L95)
125
+ Defined in: [src/auth/AuthMiddleware.ts:133](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/auth/AuthMiddleware.ts#L133)
84
126
 
85
- Returns a request handler function that will perform authentication of a websocket connection. Authentication
127
+ Returns a request handler function that will perform authentication of a websocket connection. Authentication
86
128
  can be handled in two ways:
87
129
 
88
- 1. Authorization header
130
+ 1. Authorization header
89
131
  2. Negotiation via handshake
90
132
 
91
133
  This middleware function primarily provides the implementation for item 2 above.
@@ -100,7 +142,7 @@ Set to `true` to indicate that auth is required, otherwise `false`.
100
142
 
101
143
  #### Returns
102
144
 
103
- `RequestHandler`
145
+ [`RequestHandler`](../type-aliases/RequestHandler.md)
104
146
 
105
147
  ***
106
148
 
@@ -108,7 +150,7 @@ Set to `true` to indicate that auth is required, otherwise `false`.
108
150
 
109
151
  > **register**(`name`, `strategy`): `void`
110
152
 
111
- Defined in: [src/auth/AuthMiddleware.ts:239](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/auth/AuthMiddleware.ts#L239)
153
+ Defined in: [src/auth/AuthMiddleware.ts:277](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/auth/AuthMiddleware.ts#L277)
112
154
 
113
155
  Registers the provided authentication strategy to be used
114
156
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Abstract Class: BackgroundService
8
8
 
9
- Defined in: [src/BackgroundService.ts:10](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/BackgroundService.ts#L10)
9
+ Defined in: [src/BackgroundService.ts:10](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/BackgroundService.ts#L10)
10
10
 
11
11
  The `BackgroundService` is an abstract base class for defining scheduled background services. A background service
12
12
  executes in the background once on startup or on a set schedule (like a cron job) and performs additional processing.
@@ -21,7 +21,7 @@ Jean-Philippe Steinmetz <rapidrests@gmail.com>
21
21
 
22
22
  > **new BackgroundService**(`config`, `logger`): `BackgroundService`
23
23
 
24
- Defined in: [src/BackgroundService.ts:16](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/BackgroundService.ts#L16)
24
+ Defined in: [src/BackgroundService.ts:16](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/BackgroundService.ts#L16)
25
25
 
26
26
  #### Parameters
27
27
 
@@ -43,7 +43,7 @@ Defined in: [src/BackgroundService.ts:16](https://github.com/rapidrest/service-c
43
43
 
44
44
  > `protected` **config**: `any`
45
45
 
46
- Defined in: [src/BackgroundService.ts:12](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/BackgroundService.ts#L12)
46
+ Defined in: [src/BackgroundService.ts:12](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/BackgroundService.ts#L12)
47
47
 
48
48
  The global application configuration that the service can reference.
49
49
 
@@ -53,7 +53,7 @@ The global application configuration that the service can reference.
53
53
 
54
54
  > `protected` **logger**: `any`
55
55
 
56
- Defined in: [src/BackgroundService.ts:14](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/BackgroundService.ts#L14)
56
+ Defined in: [src/BackgroundService.ts:14](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/BackgroundService.ts#L14)
57
57
 
58
58
  The logging utility to use.
59
59
 
@@ -65,7 +65,7 @@ The logging utility to use.
65
65
 
66
66
  > **get** `abstract` **schedule**(): `string` \| `undefined`
67
67
 
68
- Defined in: [src/BackgroundService.ts:25](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/BackgroundService.ts#L25)
68
+ Defined in: [src/BackgroundService.ts:25](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/BackgroundService.ts#L25)
69
69
 
70
70
  Returns the desired execution interval that this service should be scheduled with. If `undefined` is returned
71
71
  the service is executed only once.
@@ -80,7 +80,7 @@ the service is executed only once.
80
80
 
81
81
  > `abstract` **run**(): `void` \| `Promise`\<`void`\>
82
82
 
83
- Defined in: [src/BackgroundService.ts:30](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/BackgroundService.ts#L30)
83
+ Defined in: [src/BackgroundService.ts:30](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/BackgroundService.ts#L30)
84
84
 
85
85
  The processing function to execute at each scheduled interval.
86
86
 
@@ -94,7 +94,7 @@ The processing function to execute at each scheduled interval.
94
94
 
95
95
  > `abstract` **start**(): `void` \| `Promise`\<`void`\>
96
96
 
97
- Defined in: [src/BackgroundService.ts:35](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/BackgroundService.ts#L35)
97
+ Defined in: [src/BackgroundService.ts:35](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/BackgroundService.ts#L35)
98
98
 
99
99
  Initializes the background service with any defaults.
100
100
 
@@ -108,7 +108,7 @@ Initializes the background service with any defaults.
108
108
 
109
109
  > `abstract` **stop**(): `void` \| `Promise`\<`void`\>
110
110
 
111
- Defined in: [src/BackgroundService.ts:40](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/BackgroundService.ts#L40)
111
+ Defined in: [src/BackgroundService.ts:40](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/BackgroundService.ts#L40)
112
112
 
113
113
  Shuts down the background allowing the service to complete any outstanding tasks.
114
114
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: BackgroundServiceManager
8
8
 
9
- Defined in: [src/BackgroundServiceManager.ts:35](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/BackgroundServiceManager.ts#L35)
9
+ Defined in: [src/BackgroundServiceManager.ts:35](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/BackgroundServiceManager.ts#L35)
10
10
 
11
11
  The `BackgroundServiceManager` manages all configured background services in the application. It is responsible for
12
12
  initializing the jobs, scheduling them and performing any related shutdown tasks. See the `BackgroundService`
@@ -43,7 +43,7 @@ Jean-Philippe Steinmetz <rapidrests@gmail.com>
43
43
 
44
44
  > **new BackgroundServiceManager**(`objectFactory`, `classes`, `config`, `logger`): `BackgroundServiceManager`
45
45
 
46
- Defined in: [src/BackgroundServiceManager.ts:43](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/BackgroundServiceManager.ts#L43)
46
+ Defined in: [src/BackgroundServiceManager.ts:43](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/BackgroundServiceManager.ts#L43)
47
47
 
48
48
  #### Parameters
49
49
 
@@ -71,7 +71,7 @@ Defined in: [src/BackgroundServiceManager.ts:43](https://github.com/rapidrest/se
71
71
 
72
72
  > **getService**(`name`): [`BackgroundService`](BackgroundService.md) \| `undefined`
73
73
 
74
- Defined in: [src/BackgroundServiceManager.ts:55](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/BackgroundServiceManager.ts#L55)
74
+ Defined in: [src/BackgroundServiceManager.ts:55](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/BackgroundServiceManager.ts#L55)
75
75
 
76
76
  Returns the service instance with the given name.
77
77
 
@@ -93,7 +93,7 @@ The name of the background service to retrieve.
93
93
 
94
94
  > **start**(`serviceName`, `clazz?`, ...`args`): `Promise`\<`void`\>
95
95
 
96
- Defined in: [src/BackgroundServiceManager.ts:81](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/BackgroundServiceManager.ts#L81)
96
+ Defined in: [src/BackgroundServiceManager.ts:81](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/BackgroundServiceManager.ts#L81)
97
97
 
98
98
  Starts the background service with the given name.
99
99
 
@@ -127,7 +127,7 @@ The list of arguments to pass into the service constructor
127
127
 
128
128
  > **startAll**(): `Promise`\<`void`\>
129
129
 
130
- Defined in: [src/BackgroundServiceManager.ts:62](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/BackgroundServiceManager.ts#L62)
130
+ Defined in: [src/BackgroundServiceManager.ts:62](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/BackgroundServiceManager.ts#L62)
131
131
 
132
132
  Starts all configured background services.
133
133
 
@@ -141,7 +141,7 @@ Starts all configured background services.
141
141
 
142
142
  > **stop**(`serviceName`): `Promise`\<`void`\>
143
143
 
144
- Defined in: [src/BackgroundServiceManager.ts:139](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/BackgroundServiceManager.ts#L139)
144
+ Defined in: [src/BackgroundServiceManager.ts:139](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/BackgroundServiceManager.ts#L139)
145
145
 
146
146
  Stops the background service with the given name.
147
147
 
@@ -163,7 +163,7 @@ The name of the background service to stop.
163
163
 
164
164
  > **stopAll**(): `Promise`\<`void`\>
165
165
 
166
- Defined in: [src/BackgroundServiceManager.ts:124](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/BackgroundServiceManager.ts#L124)
166
+ Defined in: [src/BackgroundServiceManager.ts:124](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/BackgroundServiceManager.ts#L124)
167
167
 
168
168
  Stops all currently active background services that are owned by the manager.
169
169
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Abstract Class: BaseEntity
8
8
 
9
- Defined in: [src/models/BaseEntity.ts:18](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/BaseEntity.ts#L18)
9
+ Defined in: [src/models/BaseEntity.ts:18](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/models/BaseEntity.ts#L18)
10
10
 
11
11
  Provides a common base class for all entity's that will be persisted to a datastore.
12
12
 
@@ -29,7 +29,7 @@ Jean-Philippe Steinmetz <rapidrests@gmail.com>
29
29
 
30
30
  > **new BaseEntity**(`other?`): `BaseEntity`
31
31
 
32
- Defined in: [src/models/BaseEntity.ts:52](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/BaseEntity.ts#L52)
32
+ Defined in: [src/models/BaseEntity.ts:52](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/models/BaseEntity.ts#L52)
33
33
 
34
34
  #### Parameters
35
35
 
@@ -47,7 +47,7 @@ Defined in: [src/models/BaseEntity.ts:52](https://github.com/rapidrest/service-c
47
47
 
48
48
  > **dateCreated**: `Date`
49
49
 
50
- Defined in: [src/models/BaseEntity.ts:35](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/BaseEntity.ts#L35)
50
+ Defined in: [src/models/BaseEntity.ts:35](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/models/BaseEntity.ts#L35)
51
51
 
52
52
  The date and time that the entity was created.
53
53
 
@@ -57,7 +57,7 @@ The date and time that the entity was created.
57
57
 
58
58
  > **dateModified**: `Date`
59
59
 
60
- Defined in: [src/models/BaseEntity.ts:43](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/BaseEntity.ts#L43)
60
+ Defined in: [src/models/BaseEntity.ts:43](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/models/BaseEntity.ts#L43)
61
61
 
62
62
  The date and time that the entity was last modified.
63
63
 
@@ -67,7 +67,7 @@ The date and time that the entity was last modified.
67
67
 
68
68
  > **uid**: `string`
69
69
 
70
- Defined in: [src/models/BaseEntity.ts:27](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/BaseEntity.ts#L27)
70
+ Defined in: [src/models/BaseEntity.ts:27](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/models/BaseEntity.ts#L27)
71
71
 
72
72
  The universally unique identifier of the entity.
73
73
 
@@ -77,6 +77,6 @@ The universally unique identifier of the entity.
77
77
 
78
78
  > **version**: `number` = `0`
79
79
 
80
- Defined in: [src/models/BaseEntity.ts:50](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/BaseEntity.ts#L50)
80
+ Defined in: [src/models/BaseEntity.ts:50](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/models/BaseEntity.ts#L50)
81
81
 
82
82
  The optimistic lock version.
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Abstract Class: BaseMongoEntity
8
8
 
9
- Defined in: [src/models/BaseMongoEntity.ts:15](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/BaseMongoEntity.ts#L15)
9
+ Defined in: [src/models/BaseMongoEntity.ts:15](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/models/BaseMongoEntity.ts#L15)
10
10
 
11
11
  Provides a common base class for all entity's that will be persisted in a MongoDB database.
12
12
 
@@ -24,7 +24,7 @@ Jean-Philippe Steinmetz <rapidrests@gmail.com>
24
24
 
25
25
  > **new BaseMongoEntity**(`other?`): `BaseMongoEntity`
26
26
 
27
- Defined in: [src/models/BaseMongoEntity.ts:23](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/BaseMongoEntity.ts#L23)
27
+ Defined in: [src/models/BaseMongoEntity.ts:23](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/models/BaseMongoEntity.ts#L23)
28
28
 
29
29
  #### Parameters
30
30
 
@@ -46,7 +46,7 @@ Defined in: [src/models/BaseMongoEntity.ts:23](https://github.com/rapidrest/serv
46
46
 
47
47
  > `optional` **\_id?**: `any`
48
48
 
49
- Defined in: [src/models/BaseMongoEntity.ts:21](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/BaseMongoEntity.ts#L21)
49
+ Defined in: [src/models/BaseMongoEntity.ts:21](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/models/BaseMongoEntity.ts#L21)
50
50
 
51
51
  The internal unique identifier used by MongoDB.
52
52
 
@@ -56,7 +56,7 @@ The internal unique identifier used by MongoDB.
56
56
 
57
57
  > **dateCreated**: `Date`
58
58
 
59
- Defined in: [src/models/BaseEntity.ts:35](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/BaseEntity.ts#L35)
59
+ Defined in: [src/models/BaseEntity.ts:35](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/models/BaseEntity.ts#L35)
60
60
 
61
61
  The date and time that the entity was created.
62
62
 
@@ -70,7 +70,7 @@ The date and time that the entity was created.
70
70
 
71
71
  > **dateModified**: `Date`
72
72
 
73
- Defined in: [src/models/BaseEntity.ts:43](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/BaseEntity.ts#L43)
73
+ Defined in: [src/models/BaseEntity.ts:43](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/models/BaseEntity.ts#L43)
74
74
 
75
75
  The date and time that the entity was last modified.
76
76
 
@@ -84,7 +84,7 @@ The date and time that the entity was last modified.
84
84
 
85
85
  > **uid**: `string`
86
86
 
87
- Defined in: [src/models/BaseEntity.ts:27](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/BaseEntity.ts#L27)
87
+ Defined in: [src/models/BaseEntity.ts:27](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/models/BaseEntity.ts#L27)
88
88
 
89
89
  The universally unique identifier of the entity.
90
90
 
@@ -98,7 +98,7 @@ The universally unique identifier of the entity.
98
98
 
99
99
  > **version**: `number` = `0`
100
100
 
101
- Defined in: [src/models/BaseEntity.ts:50](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/BaseEntity.ts#L50)
101
+ Defined in: [src/models/BaseEntity.ts:50](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/models/BaseEntity.ts#L50)
102
102
 
103
103
  The optimistic lock version.
104
104
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: BasicStrategy
8
8
 
9
- Defined in: [src/auth/BasicStrategy.ts:36](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/auth/BasicStrategy.ts#L36)
9
+ Defined in: [src/auth/BasicStrategy.ts:39](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/auth/BasicStrategy.ts#L39)
10
10
 
11
11
  ## Author
12
12
 
@@ -22,7 +22,7 @@ Jean-Philippe Steinmetz <rapidrests@gmail.com>
22
22
 
23
23
  > **new BasicStrategy**(`options?`): `BasicStrategy`
24
24
 
25
- Defined in: [src/auth/BasicStrategy.ts:40](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/auth/BasicStrategy.ts#L40)
25
+ Defined in: [src/auth/BasicStrategy.ts:43](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/auth/BasicStrategy.ts#L43)
26
26
 
27
27
  #### Parameters
28
28
 
@@ -40,7 +40,7 @@ Defined in: [src/auth/BasicStrategy.ts:40](https://github.com/rapidrest/service-
40
40
 
41
41
  > `readonly` **name**: `string` = `"basic"`
42
42
 
43
- Defined in: [src/auth/BasicStrategy.ts:37](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/auth/BasicStrategy.ts#L37)
43
+ Defined in: [src/auth/BasicStrategy.ts:40](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/auth/BasicStrategy.ts#L40)
44
44
 
45
45
  The unique name of the strategy used to register with the `AuthMiddleware`.
46
46
 
@@ -52,25 +52,25 @@ The unique name of the strategy used to register with the `AuthMiddleware`.
52
52
 
53
53
  ### authenticate()
54
54
 
55
- > **authenticate**(`req`, `res`, `required?`): [`AuthResult`](../interfaces/AuthResult.md) \| `Promise`\<[`AuthResult`](../interfaces/AuthResult.md)\> \| `undefined`
55
+ > **authenticate**(`req`, `res`, `required?`): `Promise`\<[`AuthResult`](../interfaces/AuthResult.md) \| `undefined`\>
56
56
 
57
- Defined in: [src/auth/BasicStrategy.ts:44](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/auth/BasicStrategy.ts#L44)
57
+ Defined in: [src/auth/BasicStrategy.ts:80](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/auth/BasicStrategy.ts#L80)
58
58
 
59
- Attempts to perform authentication with the given request data. If authentication was successful, returns an
60
- `AuthResult` containing the authentication details. If authentication fails and `required` is set to `true`
59
+ Attempts to perform authentication with the given request data. If authentication was successful, returns an
60
+ `AuthResult` containing the authentication details. If authentication fails and `required` is set to `true`
61
61
  throws an error, otherwise returns `undefined`.
62
62
 
63
63
  #### Parameters
64
64
 
65
65
  ##### req
66
66
 
67
- `HttpRequest`
67
+ [`HttpRequest`](../interfaces/HttpRequest.md)
68
68
 
69
69
  The request containing data to attempt authentication with.
70
70
 
71
71
  ##### res
72
72
 
73
- `HttpResponse`
73
+ [`HttpResponse`](../interfaces/HttpResponse.md)
74
74
 
75
75
  The response to use when writing back directly to the client.
76
76
 
@@ -82,8 +82,50 @@ Set to `true` to if authentication is required to pass, otherwise set to `false`
82
82
 
83
83
  #### Returns
84
84
 
85
- [`AuthResult`](../interfaces/AuthResult.md) \| `Promise`\<[`AuthResult`](../interfaces/AuthResult.md)\> \| `undefined`
85
+ `Promise`\<[`AuthResult`](../interfaces/AuthResult.md) \| `undefined`\>
86
86
 
87
87
  #### Implementation of
88
88
 
89
89
  [`AuthStrategy`](../interfaces/AuthStrategy.md).[`authenticate`](../interfaces/AuthStrategy.md#authenticate)
90
+
91
+ ***
92
+
93
+ ### authenticateSync()
94
+
95
+ > **authenticateSync**(`req`, `res`, `required?`): [`AuthResult`](../interfaces/AuthResult.md) \| `undefined`
96
+
97
+ Defined in: [src/auth/BasicStrategy.ts:112](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/auth/BasicStrategy.ts#L112)
98
+
99
+ Attempts to perform authentication with the given request data. If authentication was successful, returns an
100
+ `AuthResult` containing the authentication details. If authentication fails and `required` is set to `true`
101
+ throws an error, otherwise returns `undefined`.
102
+
103
+ This is the synchronous version of `authenticate` that performs blocking based authentication.
104
+
105
+ #### Parameters
106
+
107
+ ##### req
108
+
109
+ [`HttpRequest`](../interfaces/HttpRequest.md)
110
+
111
+ The request containing data to attempt authentication with.
112
+
113
+ ##### res
114
+
115
+ [`HttpResponse`](../interfaces/HttpResponse.md)
116
+
117
+ The response to use when writing back directly to the client.
118
+
119
+ ##### required?
120
+
121
+ `boolean`
122
+
123
+ Set to `true` to if authentication is required to pass, otherwise set to `false`.
124
+
125
+ #### Returns
126
+
127
+ [`AuthResult`](../interfaces/AuthResult.md) \| `undefined`
128
+
129
+ #### Implementation of
130
+
131
+ [`AuthStrategy`](../interfaces/AuthStrategy.md).[`authenticateSync`](../interfaces/AuthStrategy.md#authenticatesync)