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

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 (158) hide show
  1. package/dist/lib/Server.js +10 -10
  2. package/dist/lib/Server.js.map +1 -1
  3. package/dist/lib/auth/JWTStrategy.js +2 -1
  4. package/dist/lib/auth/JWTStrategy.js.map +1 -1
  5. package/dist/lib/http/Adapters.js +31 -20
  6. package/dist/lib/http/Adapters.js.map +1 -1
  7. package/dist/lib/http/Router.js +11 -4
  8. package/dist/lib/http/Router.js.map +1 -1
  9. package/dist/lib/models/RepoUtils.js +2 -2
  10. package/dist/lib/models/RepoUtils.js.map +1 -1
  11. package/dist/lib/routes/RouteUtils.js +10 -12
  12. package/dist/lib/routes/RouteUtils.js.map +1 -1
  13. package/dist/lib/security/ACLUtils.js +19 -3
  14. package/dist/lib/security/ACLUtils.js.map +1 -1
  15. package/dist/types/auth/JWTStrategy.d.ts +1 -0
  16. package/dist/types/models/RepoUtils.d.ts +2 -1
  17. package/dist/types/security/ACLUtils.d.ts +1 -1
  18. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/MongoRepository.md +1 -1
  19. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/RedisConnection.md +1 -1
  20. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/Repository.md +1 -1
  21. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Default.md +1 -1
  22. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Description.md +1 -1
  23. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Document.md +1 -1
  24. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Example.md +1 -1
  25. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Format.md +1 -1
  26. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Returns.md +1 -1
  27. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Summary.md +1 -1
  28. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Tags.md +1 -1
  29. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/TypeInfo.md +1 -1
  30. package/docs/reference/@rapidrest/namespaces/DocDecorators/interfaces/DocumentsData.md +7 -7
  31. package/docs/reference/@rapidrest/namespaces/EventDecorators/functions/EventListener.md +1 -1
  32. package/docs/reference/@rapidrest/namespaces/EventDecorators/functions/OnEvent.md +1 -1
  33. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Cache.md +1 -1
  34. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/ChildEntity.md +1 -1
  35. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/DataStore.md +1 -1
  36. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Identifier.md +1 -1
  37. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Protect.md +1 -1
  38. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Reference.md +1 -1
  39. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Shard.md +1 -1
  40. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/TrackChanges.md +1 -1
  41. package/docs/reference/@rapidrest/namespaces/ModelDecorators/interfaces/PendingTypeOrmColumn.md +5 -5
  42. package/docs/reference/@rapidrest/namespaces/ModelDecorators/variables/pendingTypeOrmColumns.md +1 -1
  43. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Column.md +1 -1
  44. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Entity.md +1 -1
  45. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Index.md +3 -3
  46. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/PrimaryColumn.md +1 -1
  47. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Unique.md +3 -3
  48. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getColumnMetadata.md +1 -1
  49. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getEntityName.md +1 -1
  50. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getIndexMetadata.md +1 -1
  51. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/ColumnInfo.md +4 -4
  52. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/ColumnOptions.md +5 -5
  53. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/IndexInfo.md +4 -4
  54. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/IndexOptions.md +5 -5
  55. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/After.md +1 -1
  56. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Auth.md +1 -1
  57. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/AuthResult.md +1 -1
  58. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Before.md +1 -1
  59. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/ContentType.md +1 -1
  60. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Delete.md +1 -1
  61. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Get.md +1 -1
  62. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Head.md +1 -1
  63. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Header.md +1 -1
  64. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Method.md +1 -1
  65. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Model.md +1 -1
  66. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Options.md +1 -1
  67. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Param.md +1 -1
  68. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Patch.md +1 -1
  69. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Post.md +1 -1
  70. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Protect.md +1 -1
  71. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Put.md +1 -1
  72. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Query.md +1 -1
  73. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Request.md +1 -1
  74. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/RequiresRole.md +1 -1
  75. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Response.md +1 -1
  76. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Route.md +1 -1
  77. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Socket.md +1 -1
  78. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/User.md +1 -1
  79. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Validate.md +1 -1
  80. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/WebSocket.md +1 -1
  81. package/docs/reference/classes/ACLUtils.md +14 -10
  82. package/docs/reference/classes/AdminRoute.md +3 -3
  83. package/docs/reference/classes/AuthMiddleware.md +6 -6
  84. package/docs/reference/classes/BackgroundService.md +8 -8
  85. package/docs/reference/classes/BackgroundServiceManager.md +7 -7
  86. package/docs/reference/classes/BaseEntity.md +6 -6
  87. package/docs/reference/classes/BaseMongoEntity.md +7 -7
  88. package/docs/reference/classes/BasicStrategy.md +5 -5
  89. package/docs/reference/classes/BasicStrategyOptions.md +7 -7
  90. package/docs/reference/classes/BulkError.md +3 -3
  91. package/docs/reference/classes/ConnectionManager.md +4 -4
  92. package/docs/reference/classes/EventListenerManager.md +5 -5
  93. package/docs/reference/classes/HttpRouter.md +16 -16
  94. package/docs/reference/classes/JWTStrategy.md +10 -10
  95. package/docs/reference/classes/JWTStrategyOptions.md +10 -10
  96. package/docs/reference/classes/MetricsRoute.md +2 -2
  97. package/docs/reference/classes/ModelRoute.md +26 -26
  98. package/docs/reference/classes/ModelUtils.md +10 -10
  99. package/docs/reference/classes/MongoConnection.md +12 -12
  100. package/docs/reference/classes/MongoRepository.md +17 -17
  101. package/docs/reference/classes/MongoSchemaSync.md +3 -3
  102. package/docs/reference/classes/NetUtils.md +3 -3
  103. package/docs/reference/classes/NotificationUtils.md +3 -3
  104. package/docs/reference/classes/ObjectFactory.md +3 -3
  105. package/docs/reference/classes/OpenAPIRoute.md +5 -5
  106. package/docs/reference/classes/OpenApiSpec.md +45 -45
  107. package/docs/reference/classes/RecoverableBaseEntity.md +7 -7
  108. package/docs/reference/classes/RecoverableBaseMongoEntity.md +8 -8
  109. package/docs/reference/classes/RedisTransport.md +4 -4
  110. package/docs/reference/classes/RepoUtils.md +28 -28
  111. package/docs/reference/classes/RouteUtils.md +9 -9
  112. package/docs/reference/classes/Server.md +89 -89
  113. package/docs/reference/classes/SimpleEntity.md +3 -3
  114. package/docs/reference/classes/SimpleMongoEntity.md +4 -4
  115. package/docs/reference/classes/StatusExtraData.md +4 -4
  116. package/docs/reference/classes/StatusRoute.md +1 -1
  117. package/docs/reference/classes/UWSRequest.md +17 -17
  118. package/docs/reference/classes/UWSResponse.md +15 -15
  119. package/docs/reference/classes/UWSWebSocketShim.md +5 -5
  120. package/docs/reference/enumerations/ACLAction.md +7 -7
  121. package/docs/reference/enumerations/ApiErrorMessages.md +15 -15
  122. package/docs/reference/enumerations/ApiErrors.md +15 -15
  123. package/docs/reference/functions/createWebSocketStream.md +1 -1
  124. package/docs/reference/functions/isSqlDataSource.md +1 -1
  125. package/docs/reference/functions/readBody.md +3 -3
  126. package/docs/reference/functions/resolveCollectionName.md +1 -1
  127. package/docs/reference/functions/runChain.md +1 -1
  128. package/docs/reference/functions/snakeCase.md +1 -1
  129. package/docs/reference/interfaces/ACLRecord.md +8 -8
  130. package/docs/reference/interfaces/AccessControlList.md +5 -5
  131. package/docs/reference/interfaces/AuthResult.md +5 -5
  132. package/docs/reference/interfaces/AuthStrategy.md +4 -4
  133. package/docs/reference/interfaces/CreateRequestOptions.md +9 -9
  134. package/docs/reference/interfaces/DeleteRequestOptions.md +11 -11
  135. package/docs/reference/interfaces/FindRequestOptions.md +10 -10
  136. package/docs/reference/interfaces/HttpRequest.md +15 -15
  137. package/docs/reference/interfaces/HttpResponse.md +11 -11
  138. package/docs/reference/interfaces/JWTAuthResult.md +9 -9
  139. package/docs/reference/interfaces/RepoCreateOptions.md +7 -7
  140. package/docs/reference/interfaces/RepoDeleteOptions.md +9 -9
  141. package/docs/reference/interfaces/RepoFindOptions.md +11 -11
  142. package/docs/reference/interfaces/RepoOperationOptions.md +6 -6
  143. package/docs/reference/interfaces/RepoUpdateOptions.md +8 -8
  144. package/docs/reference/interfaces/RequestOptions.md +8 -8
  145. package/docs/reference/interfaces/RequestWS.md +17 -17
  146. package/docs/reference/interfaces/TruncateRequestOptions.md +13 -13
  147. package/docs/reference/interfaces/UpdateRequestOptions.md +11 -11
  148. package/docs/reference/type-aliases/ErrorHandler.md +1 -1
  149. package/docs/reference/type-aliases/NextFunction.md +1 -1
  150. package/docs/reference/type-aliases/OneOrMany.md +1 -1
  151. package/docs/reference/type-aliases/OneOrNull.md +1 -1
  152. package/docs/reference/type-aliases/PartialBaseEntity.md +1 -1
  153. package/docs/reference/type-aliases/PartialSimpleEntity.md +1 -1
  154. package/docs/reference/type-aliases/RequestHandler.md +1 -1
  155. package/docs/reference/type-aliases/UpdateObject.md +1 -1
  156. package/docs/reference/type-aliases/WsUpgradeAuth.md +1 -1
  157. package/docs/reference/type-aliases/WsUpgradeAuthResult.md +5 -5
  158. package/package.json +129 -125
@@ -79,7 +79,13 @@ export class ACLUtils {
79
79
  if (!this.repo) {
80
80
  return result;
81
81
  }
82
- let acl = await this.findACL(uid);
82
+ // Request-scoped cache avoids duplicate Redis/DB fetches when the same ACL uid is
83
+ // checked more than once within a single request (e.g. class + method @Protect).
84
+ if (!req._aclCache) {
85
+ req._aclCache = new Map();
86
+ }
87
+ const reqCache = req._aclCache;
88
+ let acl = await this.findACL(uid, [], reqCache);
83
89
  if (acl) {
84
90
  // Make sure all parents are populated
85
91
  if (!acl.parent) {
@@ -179,10 +185,15 @@ export class ACLUtils {
179
185
  * @param entityId The unique identifier of the ACL to retrieve.
180
186
  * @param parentUids The list of already found parent UIDs. This is used to break circular dependencies.
181
187
  */
182
- async findACL(entityId, parentUids = []) {
188
+ async findACL(entityId, parentUids = [], reqCache) {
183
189
  if (!this.repo) {
184
190
  return null;
185
191
  }
192
+ // Check request-scoped cache first — eliminates redundant Redis/DB round trips
193
+ // when the same ACL uid is visited more than once within one request.
194
+ if (reqCache?.has(entityId)) {
195
+ return reqCache.get(entityId) ?? null;
196
+ }
186
197
  let acl = null;
187
198
  // Retrieve the ACL from the cache if present
188
199
  if (this.cacheClient) {
@@ -214,11 +225,16 @@ export class ACLUtils {
214
225
  await this.cacheClient.setex(`${CACHE_BASE_KEY}.${entityId}`, this.cacheTTL, JSON.stringify(acl));
215
226
  }
216
227
  }
228
+ // Populate request-scoped cache before fetching the parent chain so recursive
229
+ // calls for the same uid are served from memory.
230
+ if (reqCache) {
231
+ reqCache.set(entityId, acl);
232
+ }
217
233
  // Retrieve the parent ACL and assign it if available. Don't populate parents we've
218
234
  // already found to prevent a circular dependency.
219
235
  if (acl && acl.parentUid && !parentUids.includes(acl.parentUid)) {
220
236
  parentUids.push(acl.parentUid);
221
- acl.parent = await this.findACL(acl.parentUid, parentUids);
237
+ acl.parent = await this.findACL(acl.parentUid, parentUids, reqCache);
222
238
  }
223
239
  return acl;
224
240
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ACLUtils.js","sourceRoot":"","sources":["../../../src/security/ACLUtils.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+EAA+E;AAC/E,wEAAwE;AACxE,+EAA+E;AAC/E,OAAO,EAAW,gBAAgB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,OAAO,EAAqB,SAAS,EAAa,MAAM,wBAAwB,CAAC;AAEjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC;AAE5C,MAAM,cAAc,GAAW,4BAA4B,CAAC;AAE5D;;GAEG;AACH,MAAM,OAAO,QAAQ;IAArB;QACY,aAAQ,GAAW,EAAE,CAAC;QAItB,iBAAY,GAAa,CAAC,OAAO,CAAC,CAAC;IA0c/C,CAAC;IAxcG,IAAY,WAAW;QACnB,OAAO,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,OAAO,CAAsB,CAAC;IACvE,CAAC;IAED,IAAY,IAAI;QACZ,MAAM,IAAI,GAAQ,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,IAAI,YAAY,eAAe,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACK,aAAa,CAAC,IAAyB,EAAE,YAAoB;QACjE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;YACb,OAAO,YAAY,KAAK,WAAW,CAAC;QACxC,CAAC;QACD,8EAA8E;QAC9E,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAC/D,IAAI,IAAI,CAAC,GAAG,KAAK,YAAY;YAAE,OAAO,IAAI,CAAC;QAC3C,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC5B,IAAI,IAAI,KAAK,YAAY;oBAAE,OAAO,IAAI,CAAC;YAC3C,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,iBAAiB,CAAC,GAAW,EAAE,IAAyB,EAAE,GAAY;QAC/E,IAAI,MAAM,GAAY,IAAI,CAAC;QAE3B,sEAAsE;QACtE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,IAAI,GAAG,GAA6B,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5D,IAAI,GAAG,EAAE,CAAC;YACN,sCAAsC;YACtC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gBACd,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC;YAED,sGAAsG;YACtG,qGAAqG;YACrG,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvD,MAAM,GAAG,IAAI,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACJ,2FAA2F;gBAC3F,kDAAkD;gBAClD,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC7D,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,iEAAiE;oBACjE,QAAQ,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;wBAC/B,KAAK,QAAQ;4BACT,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;4BAC/D,MAAM;wBACV,KAAK,KAAK;4BACN,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;4BAC7D,MAAM;wBACV,KAAK,MAAM;4BACP,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;4BAC/D,MAAM;wBACV,KAAK,KAAK;4BACN,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;4BAC/D,MAAM;oBACd,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,aAAa,CACtB,IAAyB,EACzB,GAA+B,EAC/B,MAAiB;QAEjB,IAAI,MAAM,GAAmB,IAAI,CAAC;QAElC,8GAA8G;QAC9G,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,sGAAsG;QACtG,qGAAqG;QACrG,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACvF,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,8EAA8E;QAC9E,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,KAAK,GAA6B,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAChE,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACzE,CAAC;QAED,yDAAyD;QACzD,MAAM,MAAM,GAAqB,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAE3D,oDAAoD;QACpD,IAAI,MAAM,EAAE,CAAC;YACT,sDAAsD;YACtD,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;YAErB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,QAAQ,MAAM,EAAE,CAAC;oBACb,KAAK,SAAS,CAAC,MAAM;wBACjB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;wBACvB,MAAM;oBACV,KAAK,SAAS,CAAC,MAAM;wBACjB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;wBACvB,MAAM;oBACV,KAAK,SAAS,CAAC,IAAI;wBACf,MAAM;4BACF,MAAM,CAAC,IAAI;gCACX,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;wBACvF,MAAM;oBACV,KAAK,SAAS,CAAC,IAAI;wBACf,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;wBACrB,MAAM;oBACV,KAAK,SAAS,CAAC,OAAO;wBAClB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;wBACxB,MAAM;oBACV,KAAK,SAAS,CAAC,MAAM;wBACjB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;wBACvB,MAAM;gBACd,CAAC;YACL,CAAC;QACL,CAAC;QAED,6CAA6C;QAC7C,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IACpE,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,aAAuB,EAAE;QAC5D,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,GAAG,GAA6B,IAAI,CAAC;QAEzC,6CAA6C;QAC7C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,MAAM,IAAI,GAAkB,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,cAAc,IAAI,QAAQ,EAAE,CAAC,CAAC;YACxF,IAAI,IAAI,EAAE,CAAC;gBACP,IAAI,CAAC;oBACD,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,8BAA8B;gBAClC,CAAC;YACL,CAAC;QACL,CAAC;QAED,4DAA4D;QAC5D,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,IAAI,IAAI,CAAC,IAAI,YAAY,eAAe,EAAE,CAAC;gBACvC,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI;qBAChB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;qBAC1C,KAAK,CAAC,CAAC,CAAC;qBACR,IAAI,EAAE,CAAC;gBACZ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACJ,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAS,CAAC,CAAC;gBACxD,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACrD,CAAC;YAED,2DAA2D;YAC3D,IAAI,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC1B,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,cAAc,IAAI,QAAQ,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YACtG,CAAC;QACL,CAAC;QAED,mFAAmF;QACnF,kDAAkD;QAClD,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9D,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC/B,GAAG,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,SAAS,CAAC,GAAW;QAC9B,IAAI,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,YAAY,eAAe,EAAE,CAAC;gBACvC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YACvC,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YACpC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,qDAAqD;QACzD,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACK,OAAO,CAAC,IAAuB,EAAE,IAAuB;QAC5D,IAAI,MAAM,GAAW,CAAC,CAAC;QAEvB,yBAAyB;QACzB,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,MAAM,EAAE,CAAC;QACb,CAAC;QAED,6CAA6C;QAC7C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,WAAW,GAA0B,SAAS,CAAC;YAEnD,mCAAmC;YACnC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjC,IAAI,OAAO,CAAC,YAAY,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC;oBAChD,WAAW,GAAG,OAAO,CAAC;oBACtB,MAAM;gBACV,CAAC;YACL,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBACd,iEAAiE;gBACjE,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxD,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxD,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,IAAI,WAAW,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1D,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACJ,MAAM,EAAE,CAAC;YACb,CAAC;QACL,CAAC;QAED,6CAA6C;QAC7C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,WAAW,GAA0B,SAAS,CAAC;YAEnD,mCAAmC;YACnC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjC,IAAI,OAAO,CAAC,YAAY,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC;oBAChD,WAAW,GAAG,OAAO,CAAC;oBACtB,MAAM;gBACV,CAAC;YACL,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBACd,iEAAiE;gBACjE,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxD,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxD,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,IAAI,WAAW,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1D,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACJ,MAAM,EAAE,CAAC;YACb,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,OAAO,CAAC,GAAsB;QACvC,IAAI,MAAM,GAA6B,IAAI,CAAC;QAC5C,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,YAAY,eAAe,EAAE,CAAC;YACvC,MAAM,IAAI,GAA2B,IAAI,sBAAsB,CAAC,GAAG,CAAC,CAAC;YACrE,MAAM,QAAQ,GAAkC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAS,CAAC,CAAC;YACjG,oEAAoE;YACpE,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,OAAO,QAAQ,CAAC;YACpB,CAAC;YACD,sDAAsD;YACtD,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBAChD,MAAM,IAAI,KAAK,CACX,oDAAoD,GAAG,CAAC,GAAG,cAAc,QAAQ,CAAC,OAAO,YAAY,IAAI,CAAC,OAAO,EAAE,CACtH,CAAC;YACN,CAAC;YACD,MAAM,QAAQ,GAA2B,IAAI,sBAAsB,CAAC;gBAChE,GAAG,GAAG;gBACN,WAAW,EAAE,IAAI,IAAI,EAAE;gBACvB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3C,CAAC,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,GAAyB,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAgC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAS,CAAC,CAAC;YAC/F,oEAAoE;YACpE,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,OAAO,QAAQ,CAAC;YACpB,CAAC;YACD,sDAAsD;YACtD,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBAChD,MAAM,IAAI,KAAK,CACX,oDAAoD,GAAG,CAAC,GAAG,cAAc,QAAQ,CAAC,OAAO,YAAY,IAAI,CAAC,OAAO,EAAE,CACtH,CAAC;YACN,CAAC;YACD,MAAM,MAAM,GAAyB,IAAI,oBAAoB,CAAC;gBAC1D,GAAG,GAAG;gBACN,WAAW,EAAE,IAAI,IAAI,EAAE;gBACvB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3C,CAAC,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QAED,2DAA2D;QAC3D,IAAI,IAAI,CAAC,WAAW,IAAI,MAAM,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,cAAc,IAAI,MAAM,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3G,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,cAAc,CAAC,GAAsB;QAC9C,IAAI,MAAM,GAA6B,IAAI,CAAC;QAC5C,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,+DAA+D;QAC/D,IAAI,UAAU,GAAsB;YAChC,GAAG,GAAG;YACN,GAAG,EAAE,WAAW,GAAG,CAAC,GAAG,EAAE;SAC5B,CAAC;QAEF,4FAA4F;QAC5F,MAAM,WAAW,GAAW,CAAC,CAAC;QAC9B,IAAI,QAAQ,GAAW,CAAC,CAAC;QACzB,OAAO,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACD,iFAAiF;gBACjF,0EAA0E;gBAC1E,gFAAgF;gBAChF,mFAAmF;gBACnF,MAAM,QAAQ,GAA6B,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAE9E,IAAI,QAAQ,EAAE,CAAC;oBACX,sCAAsC;oBACtC,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;oBACtC,UAAU,GAAG,QAAQ,CAAC;gBAC1B,CAAC;qBAAM,CAAC;oBACJ,0CAA0C;oBAC1C,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;wBACxB,GAAG,EAAE,GAAG,CAAC,GAAG;wBACZ,SAAS,EAAE,UAAU,CAAC,GAAG;wBACzB,OAAO,EAAE,EAAE;qBACd,CAAC,CAAC;gBACP,CAAC;gBAED,yCAAyC;gBACzC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC/B,QAAQ,GAAG,WAAW,CAAC;YAC3B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,IAAI,QAAQ,GAAG,WAAW,EAAE,CAAC;oBACzB,sFAAsF;oBACtF,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;gBAClD,CAAC;qBAAM,CAAC;oBACJ,kCAAkC;oBAClC,MAAM,GAAG,CAAC;gBACd,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;;OAMG;IACI,SAAS,CAAC,GAAsB,EAAE,IAAyB;QAC9D,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChD,OAAO,MAAM,CAAC;YAClB,CAAC;QACL,CAAC;QAED,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,cAAc,CAAC,GAAsB,EAAE,aAAuB,EAAE;QACzE,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YACvB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC/B,GAAG,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;CACJ;AA5cW;IADP,MAAM,CAAC,iBAAiB,CAAC;8BACR,iBAAiB;yCAAC;AAE5B;IADP,MAAM,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,CAAC;;8CACQ"}
1
+ {"version":3,"file":"ACLUtils.js","sourceRoot":"","sources":["../../../src/security/ACLUtils.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+EAA+E;AAC/E,wEAAwE;AACxE,+EAA+E;AAC/E,OAAO,EAAW,gBAAgB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,OAAO,EAAqB,SAAS,EAAa,MAAM,wBAAwB,CAAC;AAEjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC;AAE5C,MAAM,cAAc,GAAW,4BAA4B,CAAC;AAE5D;;GAEG;AACH,MAAM,OAAO,QAAQ;IAArB;QACY,aAAQ,GAAW,EAAE,CAAC;QAItB,iBAAY,GAAa,CAAC,OAAO,CAAC,CAAC;IAie/C,CAAC;IA/dG,IAAY,WAAW;QACnB,OAAO,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,OAAO,CAAsB,CAAC;IACvE,CAAC;IAED,IAAY,IAAI;QACZ,MAAM,IAAI,GAAQ,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,IAAI,YAAY,eAAe,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACK,aAAa,CAAC,IAAyB,EAAE,YAAoB;QACjE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;YACb,OAAO,YAAY,KAAK,WAAW,CAAC;QACxC,CAAC;QACD,8EAA8E;QAC9E,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAC/D,IAAI,IAAI,CAAC,GAAG,KAAK,YAAY;YAAE,OAAO,IAAI,CAAC;QAC3C,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC5B,IAAI,IAAI,KAAK,YAAY;oBAAE,OAAO,IAAI,CAAC;YAC3C,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,iBAAiB,CAAC,GAAW,EAAE,IAAyB,EAAE,GAAY;QAC/E,IAAI,MAAM,GAAY,IAAI,CAAC;QAE3B,sEAAsE;QACtE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,kFAAkF;QAClF,iFAAiF;QACjF,IAAI,CAAE,GAAW,CAAC,SAAS,EAAE,CAAC;YACzB,GAAW,CAAC,SAAS,GAAG,IAAI,GAAG,EAAoC,CAAC;QACzE,CAAC;QACD,MAAM,QAAQ,GAA2C,GAAW,CAAC,SAAS,CAAC;QAE/E,IAAI,GAAG,GAA6B,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC1E,IAAI,GAAG,EAAE,CAAC;YACN,sCAAsC;YACtC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gBACd,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC;YAED,sGAAsG;YACtG,qGAAqG;YACrG,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvD,MAAM,GAAG,IAAI,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACJ,2FAA2F;gBAC3F,kDAAkD;gBAClD,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC7D,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,iEAAiE;oBACjE,QAAQ,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;wBAC/B,KAAK,QAAQ;4BACT,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;4BAC/D,MAAM;wBACV,KAAK,KAAK;4BACN,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;4BAC7D,MAAM;wBACV,KAAK,MAAM;4BACP,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;4BAC/D,MAAM;wBACV,KAAK,KAAK;4BACN,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;4BAC/D,MAAM;oBACd,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,aAAa,CACtB,IAAyB,EACzB,GAA+B,EAC/B,MAAiB;QAEjB,IAAI,MAAM,GAAmB,IAAI,CAAC;QAElC,8GAA8G;QAC9G,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,sGAAsG;QACtG,qGAAqG;QACrG,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACvF,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,8EAA8E;QAC9E,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,KAAK,GAA6B,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAChE,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACzE,CAAC;QAED,yDAAyD;QACzD,MAAM,MAAM,GAAqB,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAE3D,oDAAoD;QACpD,IAAI,MAAM,EAAE,CAAC;YACT,sDAAsD;YACtD,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;YAErB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,QAAQ,MAAM,EAAE,CAAC;oBACb,KAAK,SAAS,CAAC,MAAM;wBACjB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;wBACvB,MAAM;oBACV,KAAK,SAAS,CAAC,MAAM;wBACjB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;wBACvB,MAAM;oBACV,KAAK,SAAS,CAAC,IAAI;wBACf,MAAM;4BACF,MAAM,CAAC,IAAI;gCACX,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;wBACvF,MAAM;oBACV,KAAK,SAAS,CAAC,IAAI;wBACf,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;wBACrB,MAAM;oBACV,KAAK,SAAS,CAAC,OAAO;wBAClB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;wBACxB,MAAM;oBACV,KAAK,SAAS,CAAC,MAAM;wBACjB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;wBACvB,MAAM;gBACd,CAAC;YACL,CAAC;QACL,CAAC;QAED,6CAA6C;QAC7C,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IACpE,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,OAAO,CAChB,QAAgB,EAChB,aAAuB,EAAE,EACzB,QAAgD;QAEhD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,+EAA+E;QAC/E,sEAAsE;QACtE,IAAI,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;QAC1C,CAAC;QAED,IAAI,GAAG,GAA6B,IAAI,CAAC;QAEzC,6CAA6C;QAC7C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,MAAM,IAAI,GAAkB,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,cAAc,IAAI,QAAQ,EAAE,CAAC,CAAC;YACxF,IAAI,IAAI,EAAE,CAAC;gBACP,IAAI,CAAC;oBACD,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,8BAA8B;gBAClC,CAAC;YACL,CAAC;QACL,CAAC;QAED,4DAA4D;QAC5D,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,IAAI,IAAI,CAAC,IAAI,YAAY,eAAe,EAAE,CAAC;gBACvC,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI;qBAChB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;qBAC1C,KAAK,CAAC,CAAC,CAAC;qBACR,IAAI,EAAE,CAAC;gBACZ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACJ,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAS,CAAC,CAAC;gBACxD,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACrD,CAAC;YAED,2DAA2D;YAC3D,IAAI,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC1B,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,cAAc,IAAI,QAAQ,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YACtG,CAAC;QACL,CAAC;QAED,8EAA8E;QAC9E,iDAAiD;QACjD,IAAI,QAAQ,EAAE,CAAC;YACX,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAChC,CAAC;QAED,mFAAmF;QACnF,kDAAkD;QAClD,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9D,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC/B,GAAG,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,SAAS,CAAC,GAAW;QAC9B,IAAI,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,YAAY,eAAe,EAAE,CAAC;gBACvC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YACvC,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YACpC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,qDAAqD;QACzD,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACK,OAAO,CAAC,IAAuB,EAAE,IAAuB;QAC5D,IAAI,MAAM,GAAW,CAAC,CAAC;QAEvB,yBAAyB;QACzB,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,MAAM,EAAE,CAAC;QACb,CAAC;QAED,6CAA6C;QAC7C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,WAAW,GAA0B,SAAS,CAAC;YAEnD,mCAAmC;YACnC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjC,IAAI,OAAO,CAAC,YAAY,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC;oBAChD,WAAW,GAAG,OAAO,CAAC;oBACtB,MAAM;gBACV,CAAC;YACL,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBACd,iEAAiE;gBACjE,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxD,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxD,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,IAAI,WAAW,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1D,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACJ,MAAM,EAAE,CAAC;YACb,CAAC;QACL,CAAC;QAED,6CAA6C;QAC7C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,WAAW,GAA0B,SAAS,CAAC;YAEnD,mCAAmC;YACnC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjC,IAAI,OAAO,CAAC,YAAY,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC;oBAChD,WAAW,GAAG,OAAO,CAAC;oBACtB,MAAM;gBACV,CAAC;YACL,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBACd,iEAAiE;gBACjE,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxD,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxD,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,IAAI,WAAW,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1D,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACJ,MAAM,EAAE,CAAC;YACb,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,OAAO,CAAC,GAAsB;QACvC,IAAI,MAAM,GAA6B,IAAI,CAAC;QAC5C,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,YAAY,eAAe,EAAE,CAAC;YACvC,MAAM,IAAI,GAA2B,IAAI,sBAAsB,CAAC,GAAG,CAAC,CAAC;YACrE,MAAM,QAAQ,GAAkC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAS,CAAC,CAAC;YACjG,oEAAoE;YACpE,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,OAAO,QAAQ,CAAC;YACpB,CAAC;YACD,sDAAsD;YACtD,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBAChD,MAAM,IAAI,KAAK,CACX,oDAAoD,GAAG,CAAC,GAAG,cAAc,QAAQ,CAAC,OAAO,YAAY,IAAI,CAAC,OAAO,EAAE,CACtH,CAAC;YACN,CAAC;YACD,MAAM,QAAQ,GAA2B,IAAI,sBAAsB,CAAC;gBAChE,GAAG,GAAG;gBACN,WAAW,EAAE,IAAI,IAAI,EAAE;gBACvB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3C,CAAC,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,GAAyB,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAgC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAS,CAAC,CAAC;YAC/F,oEAAoE;YACpE,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,OAAO,QAAQ,CAAC;YACpB,CAAC;YACD,sDAAsD;YACtD,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBAChD,MAAM,IAAI,KAAK,CACX,oDAAoD,GAAG,CAAC,GAAG,cAAc,QAAQ,CAAC,OAAO,YAAY,IAAI,CAAC,OAAO,EAAE,CACtH,CAAC;YACN,CAAC;YACD,MAAM,MAAM,GAAyB,IAAI,oBAAoB,CAAC;gBAC1D,GAAG,GAAG;gBACN,WAAW,EAAE,IAAI,IAAI,EAAE;gBACvB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3C,CAAC,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QAED,2DAA2D;QAC3D,IAAI,IAAI,CAAC,WAAW,IAAI,MAAM,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,cAAc,IAAI,MAAM,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3G,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,cAAc,CAAC,GAAsB;QAC9C,IAAI,MAAM,GAA6B,IAAI,CAAC;QAC5C,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,+DAA+D;QAC/D,IAAI,UAAU,GAAsB;YAChC,GAAG,GAAG;YACN,GAAG,EAAE,WAAW,GAAG,CAAC,GAAG,EAAE;SAC5B,CAAC;QAEF,4FAA4F;QAC5F,MAAM,WAAW,GAAW,CAAC,CAAC;QAC9B,IAAI,QAAQ,GAAW,CAAC,CAAC;QACzB,OAAO,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACD,iFAAiF;gBACjF,0EAA0E;gBAC1E,gFAAgF;gBAChF,mFAAmF;gBACnF,MAAM,QAAQ,GAA6B,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAE9E,IAAI,QAAQ,EAAE,CAAC;oBACX,sCAAsC;oBACtC,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;oBACtC,UAAU,GAAG,QAAQ,CAAC;gBAC1B,CAAC;qBAAM,CAAC;oBACJ,0CAA0C;oBAC1C,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;wBACxB,GAAG,EAAE,GAAG,CAAC,GAAG;wBACZ,SAAS,EAAE,UAAU,CAAC,GAAG;wBACzB,OAAO,EAAE,EAAE;qBACd,CAAC,CAAC;gBACP,CAAC;gBAED,yCAAyC;gBACzC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC/B,QAAQ,GAAG,WAAW,CAAC;YAC3B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,IAAI,QAAQ,GAAG,WAAW,EAAE,CAAC;oBACzB,sFAAsF;oBACtF,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;gBAClD,CAAC;qBAAM,CAAC;oBACJ,kCAAkC;oBAClC,MAAM,GAAG,CAAC;gBACd,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;;OAMG;IACI,SAAS,CAAC,GAAsB,EAAE,IAAyB;QAC9D,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChD,OAAO,MAAM,CAAC;YAClB,CAAC;QACL,CAAC;QAED,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,cAAc,CAAC,GAAsB,EAAE,aAAuB,EAAE;QACzE,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YACvB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC/B,GAAG,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;CACJ;AAneW;IADP,MAAM,CAAC,iBAAiB,CAAC;8BACR,iBAAiB;yCAAC;AAE5B;IADP,MAAM,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,CAAC;;8CACQ"}
@@ -52,6 +52,7 @@ export declare class JWTStrategy {
52
52
  private config;
53
53
  readonly name: string;
54
54
  private options;
55
+ private readonly _headerSchemeRegex;
55
56
  constructor(options?: JWTStrategyOptions);
56
57
  /**
57
58
  * Scans the provided request object for an authentication token this strategy can process.
@@ -6,7 +6,8 @@ import { JWTUser } from "@rapidrest/core";
6
6
  import { Redis } from "ioredis";
7
7
  import { ObjectFactory } from "../ObjectFactory.js";
8
8
  import { NotificationUtils } from "../NotificationUtils.js";
9
- import { AccessControlList, ACLUtils } from "../security/index.js";
9
+ import { AccessControlList } from "../security/index.js";
10
+ import type { ACLUtils } from "../security/ACLUtils.js";
10
11
  import { ConnectionManager } from "../database/index.js";
11
12
  /**
12
13
  * The available options used for `RepoUtils` operations.
@@ -42,7 +42,7 @@ export declare class ACLUtils {
42
42
  * @param entityId The unique identifier of the ACL to retrieve.
43
43
  * @param parentUids The list of already found parent UIDs. This is used to break circular dependencies.
44
44
  */
45
- findACL(entityId: string, parentUids?: string[]): Promise<AccessControlList | null>;
45
+ findACL(entityId: string, parentUids?: string[], reqCache?: Map<string, AccessControlList | null>): Promise<AccessControlList | null>;
46
46
  /**
47
47
  * Deletes the ACL with the given identifier from the database.
48
48
  * @param uid The unique identifier of the ACL to remove.
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **MongoRepository**(`type`): (`target`, `propertyKey`) => `void`
10
10
 
11
- Defined in: [src/decorators/DatabaseDecorators.ts:10](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/DatabaseDecorators.ts#L10)
11
+ Defined in: [src/decorators/DatabaseDecorators.ts:10](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DatabaseDecorators.ts#L10)
12
12
 
13
13
  Apply this to a property to have the TypeORM `MongoRepository` for the given entity type injected at instantiation.
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **RedisConnection**(`name`): (`target`, `propertyKey`) => `void`
10
10
 
11
- Defined in: [src/decorators/DatabaseDecorators.ts:44](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/DatabaseDecorators.ts#L44)
11
+ Defined in: [src/decorators/DatabaseDecorators.ts:44](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DatabaseDecorators.ts#L44)
12
12
 
13
13
  Apply this to a property to have the `Redis` connection injected at instantiation.
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **Repository**(`type`): (`target`, `propertyKey`) => `void`
10
10
 
11
- Defined in: [src/decorators/DatabaseDecorators.ts:27](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/DatabaseDecorators.ts#L27)
11
+ Defined in: [src/decorators/DatabaseDecorators.ts:27](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DatabaseDecorators.ts#L27)
12
12
 
13
13
  Apply this to a property to have the TypeORM `Repository` for the given entity type injected at instantiation.
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **Default**(`value`): (`target`, `propertyKey?`) => `void`
10
10
 
11
- Defined in: [src/decorators/DocDecorators.ts:40](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/DocDecorators.ts#L40)
11
+ Defined in: [src/decorators/DocDecorators.ts:40](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L40)
12
12
 
13
13
  Provides a default value for property of a class.
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **Description**(`value`): (`target`, `propertyKey?`) => `void`
10
10
 
11
- Defined in: [src/decorators/DocDecorators.ts:51](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/DocDecorators.ts#L51)
11
+ Defined in: [src/decorators/DocDecorators.ts:51](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L51)
12
12
 
13
13
  Provides a detailed describing the class, property or function.
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **Document**(`value`): (`target`, `propertyKey?`) => `void`
10
10
 
11
- Defined in: [src/decorators/DocDecorators.ts:20](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/DocDecorators.ts#L20)
11
+ Defined in: [src/decorators/DocDecorators.ts:20](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L20)
12
12
 
13
13
  Provides a set of documentation data for a given class, property or function.
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **Example**(`value`): (`target`, `propertyKey?`) => `void`
10
10
 
11
- Defined in: [src/decorators/DocDecorators.ts:62](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/DocDecorators.ts#L62)
11
+ Defined in: [src/decorators/DocDecorators.ts:62](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L62)
12
12
 
13
13
  Provides a example representation of the property or function return value.
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **Format**(`value`): (`target`, `propertyKey?`) => `void`
10
10
 
11
- Defined in: [src/decorators/DocDecorators.ts:73](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/DocDecorators.ts#L73)
11
+ Defined in: [src/decorators/DocDecorators.ts:73](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L73)
12
12
 
13
13
  Describes the underlying format of a class's property.
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **Returns**(`types?`): (`target`, `propertyKey`) => `void`
10
10
 
11
- Defined in: [src/decorators/DocDecorators.ts:109](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/DocDecorators.ts#L109)
11
+ Defined in: [src/decorators/DocDecorators.ts:109](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L109)
12
12
 
13
13
  Stores runtime metadata about the typing information of a function's return value.
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **Summary**(`value`): (`target`, `propertyKey?`) => `void`
10
10
 
11
- Defined in: [src/decorators/DocDecorators.ts:84](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/DocDecorators.ts#L84)
11
+ Defined in: [src/decorators/DocDecorators.ts:84](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L84)
12
12
 
13
13
  Provides a brief summary about the class, property or function.
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **Tags**(`value`): (`target`, `propertyKey?`) => `void`
10
10
 
11
- Defined in: [src/decorators/DocDecorators.ts:95](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/DocDecorators.ts#L95)
11
+ Defined in: [src/decorators/DocDecorators.ts:95](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L95)
12
12
 
13
13
  Provides a list of searchable tags associated with the property or function.
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **TypeInfo**(`types?`): (`target`, `propertyKey`) => `void`
10
10
 
11
- Defined in: [src/decorators/DocDecorators.ts:128](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/DocDecorators.ts#L128)
11
+ Defined in: [src/decorators/DocDecorators.ts:128](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L128)
12
12
 
13
13
  Stores runtime metadata about the typing information of a class property.
14
14
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Interface: DocumentsData
8
8
 
9
- Defined in: [src/decorators/DocDecorators.ts:6](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/DocDecorators.ts#L6)
9
+ Defined in: [src/decorators/DocDecorators.ts:6](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L6)
10
10
 
11
11
  ## Properties
12
12
 
@@ -14,7 +14,7 @@ Defined in: [src/decorators/DocDecorators.ts:6](https://github.com/rapidrest/ser
14
14
 
15
15
  > `optional` **default?**: `any`
16
16
 
17
- Defined in: [src/decorators/DocDecorators.ts:7](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/DocDecorators.ts#L7)
17
+ Defined in: [src/decorators/DocDecorators.ts:7](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L7)
18
18
 
19
19
  ***
20
20
 
@@ -22,7 +22,7 @@ Defined in: [src/decorators/DocDecorators.ts:7](https://github.com/rapidrest/ser
22
22
 
23
23
  > `optional` **description?**: `string`
24
24
 
25
- Defined in: [src/decorators/DocDecorators.ts:8](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/DocDecorators.ts#L8)
25
+ Defined in: [src/decorators/DocDecorators.ts:8](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L8)
26
26
 
27
27
  ***
28
28
 
@@ -30,7 +30,7 @@ Defined in: [src/decorators/DocDecorators.ts:8](https://github.com/rapidrest/ser
30
30
 
31
31
  > `optional` **example?**: `any`
32
32
 
33
- Defined in: [src/decorators/DocDecorators.ts:9](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/DocDecorators.ts#L9)
33
+ Defined in: [src/decorators/DocDecorators.ts:9](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L9)
34
34
 
35
35
  ***
36
36
 
@@ -38,7 +38,7 @@ Defined in: [src/decorators/DocDecorators.ts:9](https://github.com/rapidrest/ser
38
38
 
39
39
  > `optional` **format?**: `string`
40
40
 
41
- Defined in: [src/decorators/DocDecorators.ts:10](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/DocDecorators.ts#L10)
41
+ Defined in: [src/decorators/DocDecorators.ts:10](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L10)
42
42
 
43
43
  ***
44
44
 
@@ -46,7 +46,7 @@ Defined in: [src/decorators/DocDecorators.ts:10](https://github.com/rapidrest/se
46
46
 
47
47
  > `optional` **summary?**: `string`
48
48
 
49
- Defined in: [src/decorators/DocDecorators.ts:11](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/DocDecorators.ts#L11)
49
+ Defined in: [src/decorators/DocDecorators.ts:11](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L11)
50
50
 
51
51
  ***
52
52
 
@@ -54,4 +54,4 @@ Defined in: [src/decorators/DocDecorators.ts:11](https://github.com/rapidrest/se
54
54
 
55
55
  > `optional` **tags?**: `string`[]
56
56
 
57
- Defined in: [src/decorators/DocDecorators.ts:12](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/DocDecorators.ts#L12)
57
+ Defined in: [src/decorators/DocDecorators.ts:12](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L12)
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **EventListener**(): (`target`) => `void`
10
10
 
11
- Defined in: [src/decorators/EventDecorators.ts:21](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/EventDecorators.ts#L21)
11
+ Defined in: [src/decorators/EventDecorators.ts:21](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/EventDecorators.ts#L21)
12
12
 
13
13
  Apply this optionally to a abitary class, that has a no argument constructor, to auto register it as an event listener. Will still require add `@OnEvent` to methods
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **OnEvent**(`type?`): (`target`, `propertyKey`, `descriptor`) => `void`
10
10
 
11
- Defined in: [src/decorators/EventDecorators.ts:12](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/EventDecorators.ts#L12)
11
+ Defined in: [src/decorators/EventDecorators.ts:12](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/EventDecorators.ts#L12)
12
12
 
13
13
  Apply this to a function that will be called when events arrive for the specified type(s). If no event type is
14
14
  specified, then the function will be called upon each event that arrives.
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **Cache**(`ttl?`): (`target`) => `void`
10
10
 
11
- Defined in: [src/decorators/ModelDecorators.ts:30](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/ModelDecorators.ts#L30)
11
+ Defined in: [src/decorators/ModelDecorators.ts:30](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/ModelDecorators.ts#L30)
12
12
 
13
13
  Indicates that the class is cacheable with the specified TTL.
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **ChildEntity**(): \<`T`\>(`constructor`) => \{(...`args`): `child`\<`T`\>; `prototype`: `child`\<`any`\>; \} & `T`
10
10
 
11
- Defined in: [src/decorators/ModelDecorators.ts:45](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/ModelDecorators.ts#L45)
11
+ Defined in: [src/decorators/ModelDecorators.ts:45](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/ModelDecorators.ts#L45)
12
12
 
13
13
  Indicates that a class is a child entity to some parent. Child entities will inherit all datastore configuration
14
14
  of the parent, including cache settings.
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **DataStore**(`datastore`): (`target`) => `void`
10
10
 
11
- Defined in: [src/decorators/ModelDecorators.ts:73](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/ModelDecorators.ts#L73)
11
+ Defined in: [src/decorators/ModelDecorators.ts:73](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/ModelDecorators.ts#L73)
12
12
 
13
13
  Indicates that the class describes an entity that will be persisted in the datastore with the given name.
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **Identifier**(`target`, `propertyKey`): `void`
10
10
 
11
- Defined in: [src/decorators/ModelDecorators.ts:87](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/ModelDecorators.ts#L87)
11
+ Defined in: [src/decorators/ModelDecorators.ts:87](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/ModelDecorators.ts#L87)
12
12
 
13
13
  Apply this to a property that is considered a unique identifier.
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **Protect**(`classACL?`, `recordACL?`): (`target`) => `void`
10
10
 
11
- Defined in: [src/decorators/ModelDecorators.ts:109](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/ModelDecorators.ts#L109)
11
+ Defined in: [src/decorators/ModelDecorators.ts:109](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/ModelDecorators.ts#L109)
12
12
 
13
13
  Apply this to a model class to indicate that it should be protected by the AccessControlList security system.
14
14
  The `classACL` parameter specifies the default ACL governing access to general operations against the model class
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **Reference**(`clazz`): (`target`, `propertyKey`) => `void`
10
10
 
11
- Defined in: [src/decorators/ModelDecorators.ts:160](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/ModelDecorators.ts#L160)
11
+ Defined in: [src/decorators/ModelDecorators.ts:160](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/ModelDecorators.ts#L160)
12
12
 
13
13
  Apply this to a property to indicate that the value is a reference to another stored entity.
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **Shard**(`config?`): (`target`) => `void`
10
10
 
11
- Defined in: [src/decorators/ModelDecorators.ts:173](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/ModelDecorators.ts#L173)
11
+ Defined in: [src/decorators/ModelDecorators.ts:173](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/ModelDecorators.ts#L173)
12
12
 
13
13
  Indicates that the class describes an entity that will be persisted in a sharded database collection.
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **TrackChanges**(`versions?`): (`target`) => `void`
10
10
 
11
- Defined in: [src/decorators/ModelDecorators.ts:190](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/ModelDecorators.ts#L190)
11
+ Defined in: [src/decorators/ModelDecorators.ts:190](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/ModelDecorators.ts#L190)
12
12
 
13
13
  Indicates that the class will track changes for each document update limited to the specified number of versions.
14
14
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Interface: PendingTypeOrmColumn
8
8
 
9
- Defined in: [src/decorators/ModelDecorators.ts:12](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/ModelDecorators.ts#L12)
9
+ Defined in: [src/decorators/ModelDecorators.ts:12](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/ModelDecorators.ts#L12)
10
10
 
11
11
  Describes a column registration that must be bridged into TypeORM's metadata storage when (and only when) a SQL
12
12
  connection is established. Entries are queued here by decorators so that this module does not depend on the
@@ -18,7 +18,7 @@ optional `typeorm` package.
18
18
 
19
19
  > **mode**: `"regular"`
20
20
 
21
- Defined in: [src/decorators/ModelDecorators.ts:15](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/ModelDecorators.ts#L15)
21
+ Defined in: [src/decorators/ModelDecorators.ts:15](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/ModelDecorators.ts#L15)
22
22
 
23
23
  ***
24
24
 
@@ -26,7 +26,7 @@ Defined in: [src/decorators/ModelDecorators.ts:15](https://github.com/rapidrest/
26
26
 
27
27
  > **options**: `any`
28
28
 
29
- Defined in: [src/decorators/ModelDecorators.ts:16](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/ModelDecorators.ts#L16)
29
+ Defined in: [src/decorators/ModelDecorators.ts:16](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/ModelDecorators.ts#L16)
30
30
 
31
31
  ***
32
32
 
@@ -34,7 +34,7 @@ Defined in: [src/decorators/ModelDecorators.ts:16](https://github.com/rapidrest/
34
34
 
35
35
  > **propertyName**: `string`
36
36
 
37
- Defined in: [src/decorators/ModelDecorators.ts:14](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/ModelDecorators.ts#L14)
37
+ Defined in: [src/decorators/ModelDecorators.ts:14](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/ModelDecorators.ts#L14)
38
38
 
39
39
  ***
40
40
 
@@ -42,4 +42,4 @@ Defined in: [src/decorators/ModelDecorators.ts:14](https://github.com/rapidrest/
42
42
 
43
43
  > **target**: `any`
44
44
 
45
- Defined in: [src/decorators/ModelDecorators.ts:13](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/ModelDecorators.ts#L13)
45
+ Defined in: [src/decorators/ModelDecorators.ts:13](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/ModelDecorators.ts#L13)
@@ -8,7 +8,7 @@
8
8
 
9
9
  > `const` **pendingTypeOrmColumns**: [`PendingTypeOrmColumn`](../interfaces/PendingTypeOrmColumn.md)[] = `[]`
10
10
 
11
- Defined in: [src/decorators/ModelDecorators.ts:23](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/ModelDecorators.ts#L23)
11
+ Defined in: [src/decorators/ModelDecorators.ts:23](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/ModelDecorators.ts#L23)
12
12
 
13
13
  The list of column registrations waiting to be bridged into TypeORM's metadata storage. This list is drained by
14
14
  the TypeORM support module when a SQL connection is created.
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **Column**(`options?`): (`target`, `propertyKey`) => `void`
10
10
 
11
- Defined in: [src/decorators/PersistenceDecorators.ts:95](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/PersistenceDecorators.ts#L95)
11
+ Defined in: [src/decorators/PersistenceDecorators.ts:95](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/PersistenceDecorators.ts#L95)
12
12
 
13
13
  Indicates that the decorated property will be persisted as a column/property in the datastore.
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **Entity**(`name?`): (`target`) => `void`
10
10
 
11
- Defined in: [src/decorators/PersistenceDecorators.ts:198](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/PersistenceDecorators.ts#L198)
11
+ Defined in: [src/decorators/PersistenceDecorators.ts:198](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/PersistenceDecorators.ts#L198)
12
12
 
13
13
  Indicates that the class describes an entity that is persisted to a datastore.
14
14
 
@@ -10,7 +10,7 @@
10
10
 
11
11
  > **Index**(`nameOrOptions?`, `options?`): `PropertyDecorator`
12
12
 
13
- Defined in: [src/decorators/PersistenceDecorators.ts:133](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/PersistenceDecorators.ts#L133)
13
+ Defined in: [src/decorators/PersistenceDecorators.ts:133](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/PersistenceDecorators.ts#L133)
14
14
 
15
15
  Declares a database index.
16
16
 
@@ -46,7 +46,7 @@ When applied to a class, creates a compound index across the given properties:
46
46
 
47
47
  > **Index**(`fields`, `options?`): `ClassDecorator`
48
48
 
49
- Defined in: [src/decorators/PersistenceDecorators.ts:134](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/PersistenceDecorators.ts#L134)
49
+ Defined in: [src/decorators/PersistenceDecorators.ts:134](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/PersistenceDecorators.ts#L134)
50
50
 
51
51
  Declares a database index.
52
52
 
@@ -82,7 +82,7 @@ When applied to a class, creates a compound index across the given properties:
82
82
 
83
83
  > **Index**(`name`, `fields`, `options?`): `ClassDecorator`
84
84
 
85
- Defined in: [src/decorators/PersistenceDecorators.ts:135](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/PersistenceDecorators.ts#L135)
85
+ Defined in: [src/decorators/PersistenceDecorators.ts:135](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/PersistenceDecorators.ts#L135)
86
86
 
87
87
  Declares a database index.
88
88
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **PrimaryColumn**(`options?`): (`target`, `propertyKey`) => `void`
10
10
 
11
- Defined in: [src/decorators/PersistenceDecorators.ts:111](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/PersistenceDecorators.ts#L111)
11
+ Defined in: [src/decorators/PersistenceDecorators.ts:111](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/PersistenceDecorators.ts#L111)
12
12
 
13
13
  Indicates that the decorated property is a primary key column in the datastore.
14
14
 
@@ -10,7 +10,7 @@
10
10
 
11
11
  > **Unique**(`name?`): `PropertyDecorator`
12
12
 
13
- Defined in: [src/decorators/PersistenceDecorators.ts:179](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/PersistenceDecorators.ts#L179)
13
+ Defined in: [src/decorators/PersistenceDecorators.ts:179](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/PersistenceDecorators.ts#L179)
14
14
 
15
15
  Declares a unique constraint. This is shorthand for `@Index` with the `unique` option set to `true` and may be
16
16
  applied to a property (single-column constraint) or a class (compound constraint).
@@ -29,7 +29,7 @@ applied to a property (single-column constraint) or a class (compound constraint
29
29
 
30
30
  > **Unique**(`fields`): `ClassDecorator`
31
31
 
32
- Defined in: [src/decorators/PersistenceDecorators.ts:180](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/PersistenceDecorators.ts#L180)
32
+ Defined in: [src/decorators/PersistenceDecorators.ts:180](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/PersistenceDecorators.ts#L180)
33
33
 
34
34
  Declares a unique constraint. This is shorthand for `@Index` with the `unique` option set to `true` and may be
35
35
  applied to a property (single-column constraint) or a class (compound constraint).
@@ -48,7 +48,7 @@ applied to a property (single-column constraint) or a class (compound constraint
48
48
 
49
49
  > **Unique**(`name`, `fields`): `ClassDecorator`
50
50
 
51
- Defined in: [src/decorators/PersistenceDecorators.ts:181](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/PersistenceDecorators.ts#L181)
51
+ Defined in: [src/decorators/PersistenceDecorators.ts:181](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/PersistenceDecorators.ts#L181)
52
52
 
53
53
  Declares a unique constraint. This is shorthand for `@Index` with the `unique` option set to `true` and may be
54
54
  applied to a property (single-column constraint) or a class (compound constraint).
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **getColumnMetadata**(`clazz`): [`ColumnInfo`](../interfaces/ColumnInfo.md)[]
10
10
 
11
- Defined in: [src/decorators/PersistenceDecorators.ts:216](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/PersistenceDecorators.ts#L216)
11
+ Defined in: [src/decorators/PersistenceDecorators.ts:216](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/PersistenceDecorators.ts#L216)
12
12
 
13
13
  Returns the merged list of persisted columns declared across the entire class hierarchy of the given model
14
14
  class. Columns declared in subclasses override columns of the same property name declared in parent classes.
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **getEntityName**(`clazz`): `string` \| `undefined`
10
10
 
11
- Defined in: [src/decorators/PersistenceDecorators.ts:261](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/PersistenceDecorators.ts#L261)
11
+ Defined in: [src/decorators/PersistenceDecorators.ts:261](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/PersistenceDecorators.ts#L261)
12
12
 
13
13
  Returns the explicit entity name declared via `@Entity(name)` on the given class or the nearest ancestor that
14
14
  declares one, otherwise `undefined`.
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **getIndexMetadata**(`clazz`): [`IndexInfo`](../interfaces/IndexInfo.md)[]
10
10
 
11
- Defined in: [src/decorators/PersistenceDecorators.ts:236](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/decorators/PersistenceDecorators.ts#L236)
11
+ Defined in: [src/decorators/PersistenceDecorators.ts:236](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/PersistenceDecorators.ts#L236)
12
12
 
13
13
  Returns the merged list of indexes declared across the entire class hierarchy of the given model class,
14
14
  including both property-level and class-level (compound) indexes. Indexes declared in subclasses override