@rapidrest/service-core 1.0.0-rc.0 → 1.0.0-rc.10

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 (168) hide show
  1. package/dist/lib/database/MongoSchemaSync.js +15 -1
  2. package/dist/lib/database/MongoSchemaSync.js.map +1 -1
  3. package/dist/lib/models/BaseEntity.js +1 -1
  4. package/dist/lib/models/BaseEntity.js.map +1 -1
  5. package/dist/lib/models/BaseMongoEntity.js +1 -1
  6. package/dist/lib/models/BaseMongoEntity.js.map +1 -1
  7. package/dist/lib/models/ModelUtils.js +18 -8
  8. package/dist/lib/models/ModelUtils.js.map +1 -1
  9. package/dist/lib/models/RecoverableBaseMongoEntity.js +2 -2
  10. package/dist/lib/models/RecoverableBaseMongoEntity.js.map +1 -1
  11. package/dist/lib/models/RepoUtils.js +71 -14
  12. package/dist/lib/models/RepoUtils.js.map +1 -1
  13. package/dist/lib/models/SimpleEntity.js +1 -1
  14. package/dist/lib/models/SimpleEntity.js.map +1 -1
  15. package/dist/lib/routes/AdminRoute.js +6 -0
  16. package/dist/lib/routes/AdminRoute.js.map +1 -1
  17. package/dist/lib/routes/ModelRoute.js.map +1 -1
  18. package/dist/lib/routes/StatusRoute.js +10 -6
  19. package/dist/lib/routes/StatusRoute.js.map +1 -1
  20. package/dist/lib/security/ACLUtils.js +3 -6
  21. package/dist/lib/security/ACLUtils.js.map +1 -1
  22. package/dist/types/database/MongoSchemaSync.d.ts +3 -0
  23. package/dist/types/models/ModelUtils.d.ts +2 -1
  24. package/dist/types/routes/ModelRoute.d.ts +15 -15
  25. package/dist/types/routes/StatusRoute.d.ts +2 -1
  26. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/MongoRepository.md +1 -1
  27. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/RedisConnection.md +1 -1
  28. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/Repository.md +1 -1
  29. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Default.md +1 -1
  30. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Description.md +1 -1
  31. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Document.md +1 -1
  32. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Example.md +1 -1
  33. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Format.md +1 -1
  34. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Returns.md +1 -1
  35. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Summary.md +1 -1
  36. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Tags.md +1 -1
  37. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/TypeInfo.md +1 -1
  38. package/docs/reference/@rapidrest/namespaces/DocDecorators/interfaces/DocumentsData.md +7 -7
  39. package/docs/reference/@rapidrest/namespaces/EventDecorators/functions/EventListener.md +1 -1
  40. package/docs/reference/@rapidrest/namespaces/EventDecorators/functions/OnEvent.md +1 -1
  41. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Cache.md +1 -1
  42. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/ChildEntity.md +1 -1
  43. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/DataStore.md +1 -1
  44. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Identifier.md +1 -1
  45. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Protect.md +1 -1
  46. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Reference.md +1 -1
  47. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Shard.md +1 -1
  48. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/TrackChanges.md +1 -1
  49. package/docs/reference/@rapidrest/namespaces/ModelDecorators/interfaces/PendingTypeOrmColumn.md +5 -5
  50. package/docs/reference/@rapidrest/namespaces/ModelDecorators/variables/pendingTypeOrmColumns.md +1 -1
  51. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Column.md +1 -1
  52. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Entity.md +1 -1
  53. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Index.md +3 -3
  54. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/PrimaryColumn.md +1 -1
  55. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Unique.md +3 -3
  56. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getColumnMetadata.md +1 -1
  57. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getEntityName.md +1 -1
  58. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getIndexMetadata.md +1 -1
  59. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/CollationOptions.md +9 -9
  60. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/ColumnInfo.md +4 -4
  61. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/ColumnOptions.md +5 -5
  62. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/EntityOptions.md +3 -3
  63. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/IndexInfo.md +4 -4
  64. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/IndexOptions.md +6 -6
  65. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/After.md +1 -1
  66. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Auth.md +1 -1
  67. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/AuthResult.md +1 -1
  68. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Before.md +1 -1
  69. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/ContentType.md +1 -1
  70. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Delete.md +1 -1
  71. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Get.md +1 -1
  72. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Head.md +1 -1
  73. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Header.md +1 -1
  74. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Method.md +1 -1
  75. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Model.md +1 -1
  76. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Options.md +1 -1
  77. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Param.md +1 -1
  78. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Patch.md +1 -1
  79. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Post.md +1 -1
  80. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Protect.md +1 -1
  81. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Put.md +1 -1
  82. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Query.md +1 -1
  83. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Request.md +1 -1
  84. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/RequiresRole.md +1 -1
  85. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Response.md +1 -1
  86. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Route.md +1 -1
  87. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Socket.md +1 -1
  88. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/User.md +1 -1
  89. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Validate.md +1 -1
  90. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/WebSocket.md +1 -1
  91. package/docs/reference/classes/ACLUtils.md +18 -18
  92. package/docs/reference/classes/AdminRoute.md +7 -7
  93. package/docs/reference/classes/AuthMiddleware.md +6 -6
  94. package/docs/reference/classes/BackgroundService.md +8 -8
  95. package/docs/reference/classes/BackgroundServiceManager.md +7 -7
  96. package/docs/reference/classes/BaseEntity.md +6 -6
  97. package/docs/reference/classes/BaseMongoEntity.md +7 -7
  98. package/docs/reference/classes/BasicStrategy.md +5 -5
  99. package/docs/reference/classes/BasicStrategyOptions.md +7 -7
  100. package/docs/reference/classes/BulkError.md +3 -3
  101. package/docs/reference/classes/ConnectionManager.md +4 -4
  102. package/docs/reference/classes/EventListenerManager.md +5 -5
  103. package/docs/reference/classes/HttpRouter.md +16 -16
  104. package/docs/reference/classes/JWTStrategy.md +5 -5
  105. package/docs/reference/classes/JWTStrategyOptions.md +8 -8
  106. package/docs/reference/classes/MetricsRoute.md +2 -2
  107. package/docs/reference/classes/ModelRoute.md +40 -40
  108. package/docs/reference/classes/ModelUtils.md +26 -10
  109. package/docs/reference/classes/MongoConnection.md +12 -12
  110. package/docs/reference/classes/MongoRepository.md +17 -17
  111. package/docs/reference/classes/MongoSchemaSync.md +4 -4
  112. package/docs/reference/classes/NetUtils.md +3 -3
  113. package/docs/reference/classes/NotificationUtils.md +3 -3
  114. package/docs/reference/classes/ObjectFactory.md +3 -3
  115. package/docs/reference/classes/OpenAPIRoute.md +5 -5
  116. package/docs/reference/classes/OpenApiSpec.md +45 -45
  117. package/docs/reference/classes/RecoverableBaseEntity.md +7 -7
  118. package/docs/reference/classes/RecoverableBaseMongoEntity.md +8 -8
  119. package/docs/reference/classes/RedisTransport.md +4 -4
  120. package/docs/reference/classes/RepoUtils.md +28 -28
  121. package/docs/reference/classes/RouteUtils.md +7 -7
  122. package/docs/reference/classes/Server.md +26 -26
  123. package/docs/reference/classes/SimpleEntity.md +3 -3
  124. package/docs/reference/classes/SimpleMongoEntity.md +4 -4
  125. package/docs/reference/classes/StatusExtraData.md +4 -4
  126. package/docs/reference/classes/StatusRoute.md +1 -1
  127. package/docs/reference/classes/UWSRequest.md +16 -16
  128. package/docs/reference/classes/UWSResponse.md +13 -13
  129. package/docs/reference/classes/UWSWebSocketShim.md +5 -5
  130. package/docs/reference/enumerations/ACLAction.md +7 -7
  131. package/docs/reference/enumerations/ApiErrorMessages.md +15 -15
  132. package/docs/reference/enumerations/ApiErrors.md +15 -15
  133. package/docs/reference/functions/createWebSocketStream.md +1 -1
  134. package/docs/reference/functions/isSqlDataSource.md +1 -1
  135. package/docs/reference/functions/readBody.md +1 -1
  136. package/docs/reference/functions/resolveCollectionName.md +1 -1
  137. package/docs/reference/functions/runChain.md +1 -1
  138. package/docs/reference/functions/snakeCase.md +1 -1
  139. package/docs/reference/interfaces/ACLRecord.md +8 -8
  140. package/docs/reference/interfaces/AccessControlList.md +5 -5
  141. package/docs/reference/interfaces/AuthResult.md +5 -5
  142. package/docs/reference/interfaces/AuthStrategy.md +4 -4
  143. package/docs/reference/interfaces/CreateRequestOptions.md +9 -9
  144. package/docs/reference/interfaces/DeleteRequestOptions.md +10 -10
  145. package/docs/reference/interfaces/FindRequestOptions.md +10 -10
  146. package/docs/reference/interfaces/HttpRequest.md +15 -15
  147. package/docs/reference/interfaces/HttpResponse.md +11 -11
  148. package/docs/reference/interfaces/JWTAuthResult.md +6 -6
  149. package/docs/reference/interfaces/RepoCreateOptions.md +7 -7
  150. package/docs/reference/interfaces/RepoDeleteOptions.md +8 -8
  151. package/docs/reference/interfaces/RepoFindOptions.md +10 -10
  152. package/docs/reference/interfaces/RepoOperationOptions.md +6 -6
  153. package/docs/reference/interfaces/RepoUpdateOptions.md +7 -7
  154. package/docs/reference/interfaces/RequestOptions.md +8 -8
  155. package/docs/reference/interfaces/RequestWS.md +17 -17
  156. package/docs/reference/interfaces/TruncateRequestOptions.md +12 -12
  157. package/docs/reference/interfaces/UpdateRequestOptions.md +10 -10
  158. package/docs/reference/type-aliases/ErrorHandler.md +1 -1
  159. package/docs/reference/type-aliases/NextFunction.md +1 -1
  160. package/docs/reference/type-aliases/OneOrMany.md +1 -1
  161. package/docs/reference/type-aliases/OneOrNull.md +1 -1
  162. package/docs/reference/type-aliases/PartialBaseEntity.md +1 -1
  163. package/docs/reference/type-aliases/PartialSimpleEntity.md +1 -1
  164. package/docs/reference/type-aliases/RequestHandler.md +1 -1
  165. package/docs/reference/type-aliases/UpdateObject.md +1 -1
  166. package/docs/reference/type-aliases/WsUpgradeAuth.md +1 -1
  167. package/docs/reference/type-aliases/WsUpgradeAuthResult.md +5 -5
  168. package/package.json +1 -1
@@ -98,10 +98,16 @@ export class MongoSchemaSync {
98
98
  }
99
99
  }
100
100
  // Build the merged set of desired indexes from all classes stored in this collection
101
+ const entityCollation = info.options?.collation;
101
102
  const desired = new Map();
102
103
  for (const clazz of info.classes) {
103
104
  for (const index of getIndexMetadata(clazz)) {
104
105
  const spec = this.toDesiredIndex(index);
106
+ // Indexes inherit the collection's collation when none is declared on the index itself.
107
+ // This means @Entity({ collation }) is the single source of truth for case-sensitivity.
108
+ if (!spec.collation && entityCollation) {
109
+ spec.collation = entityCollation;
110
+ }
105
111
  desired.set(JSON.stringify(spec.key), spec);
106
112
  }
107
113
  }
@@ -171,11 +177,19 @@ export class MongoSchemaSync {
171
177
  /**
172
178
  * Determines whether an existing index satisfies the desired index specification. The `background` option is
173
179
  * a build-time hint and is intentionally excluded from the comparison.
180
+ *
181
+ * Collation is compared by `locale` and `strength` only — MongoDB adds default values for all other fields
182
+ * when storing the index, which would cause spurious mismatches if we compared the full object.
174
183
  */
175
184
  optionsMatch(spec, current) {
185
+ const collationMatches = spec.collation
186
+ ? spec.collation.locale === current.collation?.locale &&
187
+ (spec.collation.strength ?? 3) === (current.collation?.strength ?? 3)
188
+ : !current.collation;
176
189
  return (spec.unique === (current.unique ?? false) &&
177
190
  spec.sparse === (current.sparse ?? false) &&
178
- spec.expireAfterSeconds === (current.expireAfterSeconds ?? undefined));
191
+ spec.expireAfterSeconds === (current.expireAfterSeconds ?? undefined) &&
192
+ collationMatches);
179
193
  }
180
194
  }
181
195
  //# sourceMappingURL=MongoSchemaSync.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MongoSchemaSync.js","sourceRoot":"","sources":["../../../src/database/MongoSchemaSync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MongoSchemaSync.js","sourceRoot":"","sources":["../../../src/database/MongoSchemaSync.ts"],"names":[],"mappings":"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"}
@@ -59,7 +59,7 @@ __decorate([
59
59
  Description("The universally unique identifier of the entity."),
60
60
  Default("randomUUID()"),
61
61
  Identifier,
62
- Index("uid", { unique: true, collation: { locale: "en", strength: 2 } }),
62
+ Index("uid", { unique: true }),
63
63
  PrimaryColumn(),
64
64
  __metadata("design:type", String)
65
65
  ], BaseEntity.prototype, "uid", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"BaseEntity.js","sourceRoot":"","sources":["../../../src/models/BaseEntity.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+EAA+E;AAC/E,wEAAwE;AACxE,+EAA+E;AAC/E,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACtF,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B;;;;;;;;GAQG;AACH,MAAM,OAAgB,UAAU;IAkC5B,YAAY,KAA2B;QAjCvC;;WAEG;QAMI,QAAG,GAAW,IAAI,CAAC,EAAE,EAAE,CAAC;QAE/B;;WAEG;QAII,gBAAW,GAAS,IAAI,IAAI,EAAE,CAAC;QAEtC;;WAEG;QAII,iBAAY,GAAS,IAAI,IAAI,EAAE,CAAC;QAEvC;;WAEG;QAGI,YAAO,GAAW,CAAC,CAAC;QAGvB,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,GAAG,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YAC5E,IAAI,CAAC,WAAW;gBACZ,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;oBACjC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;oBAC7B,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC;YAChD,IAAI,CAAC,YAAY;gBACb,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;oBAClC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;oBAC9B,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC;YAClD,IAAI,CAAC,OAAO,GAAG,SAAS,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QACpG,CAAC;IACL,CAAC;CACJ;AAvCU;IALN,WAAW,CAAC,kDAAkD,CAAC;IAC/D,OAAO,CAAC,cAAc,CAAC;IACvB,UAAU;IACV,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;IACxE,aAAa,EAAE;;uCACe;AAQxB;IAHN,WAAW,CAAC,gDAAgD,CAAC;IAC7D,OAAO,CAAC,YAAY,CAAC;IACrB,MAAM,EAAE;8BACW,IAAI;+CAAc;AAQ/B;IAHN,WAAW,CAAC,sDAAsD,CAAC;IACnE,OAAO,CAAC,YAAY,CAAC;IACrB,MAAM,EAAE;8BACY,IAAI;gDAAc;AAOhC;IAFN,WAAW,CAAC,8BAA8B,CAAC;IAC3C,MAAM,EAAE;;2CACkB"}
1
+ {"version":3,"file":"BaseEntity.js","sourceRoot":"","sources":["../../../src/models/BaseEntity.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+EAA+E;AAC/E,wEAAwE;AACxE,+EAA+E;AAC/E,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACtF,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B;;;;;;;;GAQG;AACH,MAAM,OAAgB,UAAU;IAkC5B,YAAY,KAA2B;QAjCvC;;WAEG;QAMI,QAAG,GAAW,IAAI,CAAC,EAAE,EAAE,CAAC;QAE/B;;WAEG;QAII,gBAAW,GAAS,IAAI,IAAI,EAAE,CAAC;QAEtC;;WAEG;QAII,iBAAY,GAAS,IAAI,IAAI,EAAE,CAAC;QAEvC;;WAEG;QAGI,YAAO,GAAW,CAAC,CAAC;QAGvB,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,GAAG,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YAC5E,IAAI,CAAC,WAAW;gBACZ,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;oBACjC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;oBAC7B,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC;YAChD,IAAI,CAAC,YAAY;gBACb,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;oBAClC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;oBAC9B,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC;YAClD,IAAI,CAAC,OAAO,GAAG,SAAS,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QACpG,CAAC;IACL,CAAC;CACJ;AAvCU;IALN,WAAW,CAAC,kDAAkD,CAAC;IAC/D,OAAO,CAAC,cAAc,CAAC;IACvB,UAAU;IACV,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC9B,aAAa,EAAE;;uCACe;AAQxB;IAHN,WAAW,CAAC,gDAAgD,CAAC;IAC7D,OAAO,CAAC,YAAY,CAAC;IACrB,MAAM,EAAE;8BACW,IAAI;+CAAc;AAQ/B;IAHN,WAAW,CAAC,sDAAsD,CAAC;IACnE,OAAO,CAAC,YAAY,CAAC;IACrB,MAAM,EAAE;8BACY,IAAI;gDAAc;AAOhC;IAFN,WAAW,CAAC,8BAA8B,CAAC;IAC3C,MAAM,EAAE;;2CACkB"}
@@ -40,7 +40,7 @@ __decorate([
40
40
  __metadata("design:type", Object)
41
41
  ], BaseMongoEntity.prototype, "_id", void 0);
42
42
  BaseMongoEntity = __decorate([
43
- Index("uid", ["uid"], { collation: { locale: "en", strength: 2 } }),
43
+ Index("uid", ["uid"]),
44
44
  __metadata("design:paramtypes", [Object])
45
45
  ], BaseMongoEntity);
46
46
  export { BaseMongoEntity };
@@ -1 +1 @@
1
- {"version":3,"file":"BaseMongoEntity.js","sourceRoot":"","sources":["../../../src/models/BaseMongoEntity.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+EAA+E;AAC/E,wEAAwE;AACxE,+EAA+E;AAC/E,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC;AAEtC;;;;GAIG;AACH,yGAAyG;AACzG,0GAA0G;AAEnG,IAAe,eAAe,GAA9B,MAAe,eAAgB,SAAQ,UAAU;IAQpD,YAAY,KAAgC;QACxC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG;gBAChB,CAAC,CAAC,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;oBAC5D,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACjC,CAAC,CAAC,KAAK,CAAC,GAAG;gBACf,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACnB,CAAC;IACL,CAAC;CACJ,CAAA;AAbU;IAFN,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC5B,QAAQ;;4CACQ;AANC,eAAe;IADpC,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;;GAC9C,eAAe,CAmBpC"}
1
+ {"version":3,"file":"BaseMongoEntity.js","sourceRoot":"","sources":["../../../src/models/BaseMongoEntity.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+EAA+E;AAC/E,wEAAwE;AACxE,+EAA+E;AAC/E,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC;AAEtC;;;;GAIG;AACH,yGAAyG;AACzG,0GAA0G;AAEnG,IAAe,eAAe,GAA9B,MAAe,eAAgB,SAAQ,UAAU;IAQpD,YAAY,KAAgC;QACxC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG;gBAChB,CAAC,CAAC,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;oBAC5D,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACjC,CAAC,CAAC,KAAK,CAAC,GAAG;gBACf,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACnB,CAAC;IACL,CAAC;CACJ,CAAA;AAbU;IAFN,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC5B,QAAQ;;4CACQ;AANC,eAAe;IADpC,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;;GACA,eAAe,CAmBpC"}
@@ -5,6 +5,10 @@ import { isEmpty } from "lodash-es";
5
5
  import { RecoverableBaseEntity } from "./RecoverableBaseEntity.js";
6
6
  import { ApiErrorMessages, ApiErrors } from "../ApiErrors.js";
7
7
  const logger = Logger();
8
+ const REGEX_QUERY_PARAM_VALUE = new RegExp(/^([a-zA-Z]+)\((.*)\)$/, "i");
9
+ const REGEX_RESERVED_QUERY_PARAMS = new RegExp("(jwt_|oauth_|auth_|cache).*", "i");
10
+ const REGEX_QUERY_LIMITS = new RegExp("(limit|page|sort).*", "i");
11
+ const REGEX_QUERY_SORT_STRING = new RegExp(/^\{.*\}$/, "i");
8
12
  // Apparently calling JSON.stringify on RegExp returns an empty set. So the recommended way to
9
13
  // overcome this is by adding a `toJSON` method that uses the `toString` instead which will
10
14
  // give us what we want.
@@ -41,6 +45,9 @@ export class ModelUtils {
41
45
  */
42
46
  static getIdPropertyNames(modelClass) {
43
47
  const results = [];
48
+ if (ModelUtils.idPropertyCache.has(modelClass)) {
49
+ return ModelUtils.idPropertyCache.get(modelClass);
50
+ }
44
51
  // The props don't show up correctly on the class def. So instantiate a dummy object that we can read the props
45
52
  // from and look for identifiers.
46
53
  let proto = Object.getPrototypeOf(new modelClass());
@@ -54,6 +61,8 @@ export class ModelUtils {
54
61
  }
55
62
  proto = Object.getPrototypeOf(proto);
56
63
  }
64
+ // Cache the results so we're not always having to walk the class structure
65
+ ModelUtils.idPropertyCache.set(modelClass, results);
57
66
  return results;
58
67
  }
59
68
  /**
@@ -147,7 +156,7 @@ export class ModelUtils {
147
156
  // The value of each param can optionally have the operation included. If no operator is included Eq is
148
157
  // always assumed.
149
158
  // e.g. ?param1=eq(value)&param2=not(value)&param3=gt(value)
150
- const matches = param.match(new RegExp(/^([a-zA-Z]+)\((.*)\)$/, "i"));
159
+ const matches = param.match(REGEX_QUERY_PARAM_VALUE);
151
160
  if (matches) {
152
161
  const opName = matches[1].toLowerCase();
153
162
  let value = matches[2];
@@ -232,7 +241,7 @@ export class ModelUtils {
232
241
  // The value of each param can optionally have the operation included. If no operator is included Eq is
233
242
  // always assumed.
234
243
  // e.g. ?param1=eq(value)&param2=not(value)&param3=gt(value)
235
- const matches = param.match(new RegExp(/^([a-zA-Z]+)\((.*)\)$/, "i"));
244
+ const matches = param.match(REGEX_QUERY_PARAM_VALUE);
236
245
  if (matches) {
237
246
  const opName = matches[1].toLowerCase();
238
247
  let value = matches[2];
@@ -407,11 +416,11 @@ export class ModelUtils {
407
416
  // add only one value to each query object.
408
417
  for (let key in queryParams) {
409
418
  // Ignore reserved query parameters
410
- if (key.match(new RegExp("(jwt_|oauth_|auth_|cache).*", "i"))) {
419
+ if (key.match(REGEX_RESERVED_QUERY_PARAMS)) {
411
420
  continue;
412
421
  }
413
422
  // Limit, page and sort are reserved for specifying query limits
414
- if (key.match(new RegExp("(limit|page|sort).*", "i"))) {
423
+ if (key.match(REGEX_QUERY_LIMITS)) {
415
424
  let value = queryParams[key];
416
425
  if (key === "limit") {
417
426
  key = "take";
@@ -423,7 +432,7 @@ export class ModelUtils {
423
432
  else if (key === "sort") {
424
433
  key = "order";
425
434
  if (typeof value === "string") {
426
- if (value.match(new RegExp(/^\{.*\}$/, "i"))) {
435
+ if (value.match(REGEX_QUERY_SORT_STRING)) {
427
436
  value = JSON.parse(value);
428
437
  }
429
438
  else {
@@ -514,15 +523,15 @@ export class ModelUtils {
514
523
  // logger?.debug(`Query params: ${JSON.stringify(queryParams)}`);
515
524
  for (const key in queryParams) {
516
525
  // Ignore reserved query parameters
517
- if (key.match(new RegExp("(jwt_|oauth_|auth_).*", "i"))) {
526
+ if (key.match(REGEX_RESERVED_QUERY_PARAMS)) {
518
527
  continue;
519
528
  }
520
529
  // Limit, page and sort are reserved for specifying query limits
521
- if (key.match(new RegExp("(limit|page|sort).*", "i"))) {
530
+ if (key.match(REGEX_QUERY_LIMITS)) {
522
531
  let value = queryParams[key];
523
532
  if (key === "sort") {
524
533
  if (typeof value === "string") {
525
- if (value.match(new RegExp(/^\{.*\}$/, "i"))) {
534
+ if (value.match(REGEX_QUERY_SORT_STRING)) {
526
535
  value = JSON.parse(value);
527
536
  }
528
537
  else {
@@ -639,4 +648,5 @@ export class ModelUtils {
639
648
  });
640
649
  }
641
650
  }
651
+ ModelUtils.idPropertyCache = new Map();
642
652
  //# sourceMappingURL=ModelUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModelUtils.js","sourceRoot":"","sources":["../../../src/models/ModelUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModelUtils.js","sourceRoot":"","sources":["../../../src/models/ModelUtils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,kBAAkB,CAAC;AAC1B,OAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE9D,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;AACxB,MAAM,uBAAuB,GAAW,IAAI,MAAM,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;AACjF,MAAM,2BAA2B,GAAW,IAAI,MAAM,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;AAC3F,MAAM,kBAAkB,GAAW,IAAI,MAAM,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;AAC1E,MAAM,uBAAuB,GAAW,IAAI,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AAEpE,8FAA8F;AAC9F,2FAA2F;AAC3F,wBAAwB;AACvB,MAAM,CAAC,SAAiB,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;AAE7D;;;;GAIG;AACH,MAAM,OAAO,UAAU;IAKnB;;;;;OAKG;IACI,MAAM,CAAC,UAAU,CAAC,MAAW;QAChC,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC;IAChC,CAAC;IAED;;OAEG;IACI,MAAM,KAAK,GAAG;QACjB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACX,mHAAmH,CACtH,CAAC;QACN,CAAC;QACD,OAAO,UAAU,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,kBAAkB,CAAC,UAAe;QAC5C,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,IAAI,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7C,OAAO,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAa,CAAC;QAClE,CAAC;QAED,+GAA+G;QAC/G,iCAAiC;QACjC,IAAI,KAAK,GAAQ,MAAM,CAAC,cAAc,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;QACzD,OAAO,KAAK,EAAE,CAAC;YACX,MAAM,KAAK,GAAa,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAC1D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACvB,MAAM,YAAY,GAAY,OAAO,CAAC,WAAW,CAAC,mBAAmB,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBACpF,IAAI,YAAY,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvB,CAAC;YACL,CAAC;YAED,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;QAED,2EAA2E;QAC3E,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAEpD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;;;;;;OASG;IACI,MAAM,CAAC,kBAAkB,CAC5B,IAAoD,EACpD,UAAe,EACf,EAAe,EACf,OAAgB;QAEhB,IAAI,IAAI,YAAY,eAAe,EAAE,CAAC;YAClC,OAAO,UAAU,CAAC,uBAAuB,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACJ,OAAO,UAAU,CAAC,qBAAqB,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QACrE,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,qBAAqB,CAAC,UAAe,EAAE,EAAe,EAAE,OAAgB;QAClF,MAAM,KAAK,GAAa,UAAU,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAElE,6FAA6F;QAC7F,8DAA8D;QAC9D,MAAM,KAAK,GAAQ,EAAE,CAAC;QACtB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,CAAC,GAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC1E,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACxB,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;YACxB,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,uBAAuB,CAAC,UAAe,EAAE,EAAe,EAAE,OAAgB;QACpF,MAAM,KAAK,GAAa,UAAU,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAElE,sGAAsG;QACtG,sGAAsG;QACtG,wGAAwG;QACxG,WAAW;QACX,sEAAsE;QACtE,2BAA2B;QAC3B,4CAA4C;QAC5C,2CAA2C;QAC3C,iGAAiG;QACjG,YAAY;QACZ,QAAQ;QACR,uCAAuC;QACvC,mFAAmF;QACnF,IAAI;QAEJ,sGAAsG;QACtG,MAAM,KAAK,GAAU,EAAE,CAAC;QACxB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,CAAC,GAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAChE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACxB,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;YACxB,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;IAC1B,CAAC;IAED;;;;;;;OAOG;IACK,MAAM,CAAC,kBAAkB,CAAC,KAAU;QACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE,GAC1F,UAAU,CAAC,GAAG,CAAC;YACnB,uGAAuG;YACvG,kBAAkB;YAClB,4DAA4D;YAC5D,MAAM,OAAO,GAA4B,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC9E,IAAI,OAAO,EAAE,CAAC;gBACV,MAAM,MAAM,GAAW,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBAChD,IAAI,KAAK,GAAQ,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,CAAC;oBACD,8CAA8C;oBAC9C,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,qFAAqF;oBACrF,KAAK,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7B,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;wBACf,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBACvB,CAAC;gBACL,CAAC;gBAED,QAAQ,MAAM,EAAE,CAAC;oBACb,KAAK,IAAI;wBACL,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;oBACxB,KAAK,IAAI;wBACL,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAC3B,KAAK,KAAK;wBACN,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;oBAClC,KAAK,IAAI,CAAC,CAAC,CAAC;wBACR,MAAM,IAAI,GAAa,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACxC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;oBACpB,CAAC;oBACD,KAAK,MAAM;wBACP,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;oBACxB,KAAK,IAAI;wBACL,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAC3B,KAAK,KAAK;wBACN,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;oBAClC,KAAK,IAAI,CAAC;oBACV,KAAK,KAAK;wBACN,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;oBACtB,KAAK,OAAO,CAAC,CAAC,CAAC;wBACX,MAAM,IAAI,GAAa,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACxC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BACpB,MAAM,GAAG,GAAW,WAAW,CAAC,cAAc,CAAC,gBAAgB,CAAC,oBAAoB,EAAE;gCAClF,KAAK;gCACL,MAAM,EAAE,IAAI,CAAC,MAAM;6BACtB,CAAC,CAAC;4BACH,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,oBAAoB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;wBACjE,CAAC;wBACD,IAAI,CAAC;4BACD,oDAAoD;4BACpD,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC7D,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACX,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;wBACrC,CAAC;oBACL,CAAC;oBACD;wBACI,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC;oBACD,8CAA8C;oBAC9C,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACpC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,6EAA6E;oBAC7E,MAAM,IAAI,GAAS,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;oBACnC,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACxD,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACK,MAAM,CAAC,uBAAuB,CAAC,KAAU;QAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,uGAAuG;YACvG,kBAAkB;YAClB,4DAA4D;YAC5D,MAAM,OAAO,GAA4B,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC9E,IAAI,OAAO,EAAE,CAAC;gBACV,MAAM,MAAM,GAAW,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBAChD,IAAI,KAAK,GAAQ,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,CAAC;oBACD,8CAA8C;oBAC9C,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,qFAAqF;oBACrF,KAAK,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7B,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;wBACf,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBACvB,CAAC;gBACL,CAAC;gBACD,QAAQ,MAAM,EAAE,CAAC;oBACb,KAAK,IAAI;wBACL,OAAO,KAAK,CAAC;oBACjB,KAAK,IAAI;wBACL,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;oBAC1B,KAAK,KAAK;wBACN,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;oBAC3B,KAAK,IAAI,CAAC,CAAC,CAAC;wBACR,MAAM,IAAI,GAAa,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACxC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;oBACzB,CAAC;oBACD,KAAK,KAAK,CAAC,CAAC,CAAC;wBACT,MAAM,IAAI,GAAa,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACxC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;oBAC1B,CAAC;oBACD,KAAK,MAAM;wBACP,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;oBAC5C,KAAK,IAAI;wBACL,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;oBAC1B,KAAK,KAAK;wBACN,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;oBAC3B,KAAK,IAAI;wBACL,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;oBAC1B,KAAK,KAAK;wBACN,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;oBAC3B,KAAK,OAAO,CAAC,CAAC,CAAC;wBACX,MAAM,IAAI,GAAa,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACxC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BACpB,MAAM,GAAG,GAAW,WAAW,CAAC,cAAc,CAAC,gBAAgB,CAAC,oBAAoB,EAAE;gCAClF,KAAK;gCACL,MAAM,EAAE,IAAI,CAAC,MAAM;6BACtB,CAAC,CAAC;4BACH,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,oBAAoB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;wBACjE,CAAC;wBACD,IAAI,CAAC;4BACD,oDAAoD;4BACpD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACpE,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACX,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC5C,CAAC;oBACL,CAAC;oBACD;wBACI,OAAO,KAAK,CAAC;gBACrB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC;oBACD,8CAA8C;oBAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC7B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,qFAAqF;oBACrF,MAAM,IAAI,GAAS,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;oBACnC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;gBACjD,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACI,MAAM,CAAC,gBAAgB,CAC1B,UAAe,EACf,IAAoD,EACpD,MAAY,EACZ,WAAiB,EACjB,aAAsB,KAAK,EAC3B,IAAU;QAEV,6FAA6F;QAC7F,IAAI,IAAI,UAAU,EAAE,YAAY,qBAAqB,EAAE,CAAC;YACpD,WAAW,GAAG;gBACV,GAAG,WAAW;gBACd,OAAO,EAAE,WAAW,IAAI,SAAS,IAAI,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;aACjF,CAAC;QACN,CAAC;QAED,IAAI,IAAI,YAAY,eAAe,EAAE,CAAC;YAClC,OAAO,UAAU,CAAC,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAC/F,CAAC;aAAM,CAAC;YACJ,OAAO,UAAU,CAAC,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAC7F,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACI,MAAM,CAAC,mBAAmB,CAC7B,UAAe,EACf,MAAY,EACZ,WAAiB,EACjB,aAAsB,KAAK,EAC3B,IAAU;QAEV,MAAM,KAAK,GAAQ,EAAE,CAAC;QACtB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QAEjB,yBAAyB;QACzB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACvB,0EAA0E;YAC1E,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,EAAE,CAAC;oBACR,MAAM,IAAI,QAAQ,CACd,SAAS,CAAC,2BAA2B,EACrC,GAAG,EACH,gBAAgB,CAAC,2BAA2B,CAC/C,CAAC;gBACN,CAAC;gBACD,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACJ,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC;QACL,CAAC;QAED,uGAAuG;QACvG,4GAA4G;QAC5G,0BAA0B;QAE1B,0EAA0E;QAC1E,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAsB,WAAW,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,KAAK,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;oBAC5B,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC9B,CAAC;YACL,CAAC;QACL,CAAC;QAED,iEAAiE;QAEjE,0HAA0H;QAC1H,2CAA2C;QAC3C,KAAK,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;YAC1B,mCAAmC;YACnC,IAAI,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAAE,CAAC;gBACzC,SAAS;YACb,CAAC;YAED,gEAAgE;YAChE,IAAI,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAChC,IAAI,KAAK,GAAQ,WAAW,CAAC,GAAG,CAAC,CAAC;gBAElC,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;oBAClB,GAAG,GAAG,MAAM,CAAC;oBACb,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/B,CAAC;qBAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;oBACxB,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/B,CAAC;qBAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;oBACxB,GAAG,GAAG,OAAO,CAAC;oBAEd,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC5B,IAAI,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,CAAC;4BACvC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBAC9B,CAAC;6BAAM,CAAC;4BACJ,IAAI,QAAQ,GAAQ,KAAK,CAAC;4BAC1B,QAAQ,GAAG,EAAE,CAAC;4BACd,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;4BACxB,KAAK,GAAG,QAAQ,CAAC;wBACrB,CAAC;oBACL,CAAC;oBAED,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACvB,CAAC;gBAED,SAAS;YACb,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAClC,0DAA0D;gBAC1D,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBACxB,CAAC;oBAED,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;oBAE3D,CAAC,EAAE,CAAC;gBACR,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,mCAAmC;gBACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;oBAClC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBACxB,CAAC;oBAED,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,kBAAkB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1E,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC,KAAK,CAAC;QACvB,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;QACrB,CAAC;QACD,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACI,MAAM,CAAC,qBAAqB,CAC/B,UAAe,EACf,MAAY,EACZ,WAAiB,EACjB,aAAsB,KAAK,EAC3B,IAAU;QAEV,MAAM,OAAO,GAAU,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,IAAI,GAAQ,SAAS,CAAC;QAE1B,yBAAyB;QACzB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACvB,0EAA0E;YAC1E,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,EAAE,CAAC;oBACR,MAAM,IAAI,QAAQ,CACd,SAAS,CAAC,2BAA2B,EACrC,GAAG,EACH,gBAAgB,CAAC,2BAA2B,CAC/C,CAAC;gBACN,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAClC,CAAC;QACL,CAAC;QAED,iEAAiE;QAEjE,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC5B,mCAAmC;YACnC,IAAI,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAAE,CAAC;gBACzC,SAAS;YACb,CAAC;YAED,gEAAgE;YAChE,IAAI,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAChC,IAAI,KAAK,GAAQ,WAAW,CAAC,GAAG,CAAC,CAAC;gBAElC,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;oBACjB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC5B,IAAI,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,CAAC;4BACvC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBAC9B,CAAC;6BAAM,CAAC;4BACJ,IAAI,QAAQ,GAAQ,KAAK,CAAC;4BAC1B,QAAQ,GAAG,EAAE,CAAC;4BACd,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BACpB,KAAK,GAAG,QAAQ,CAAC;wBACrB,CAAC;oBACL,CAAC;oBAED,IAAI,YAAY,GAAG;wBACf,GAAG,IAAI;wBACP,GAAG,KAAK;qBACX,CAAC;oBAEF,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;oBAElB,8HAA8H;oBAC9H,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;wBACtC,IAAI,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;wBAE9B,IAAI,CAAC,KAAK;4BAAE,OAAO;wBAEnB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;4BAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;wBACtB,CAAC;6BAAM,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;4BACvC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAClB,CAAC;6BAAM,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;4BACxC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;wBACnB,CAAC;oBACL,CAAC,CAAC,CAAC;gBACP,CAAC;gBAED,SAAS;YACb,CAAC;YAED,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;gBAChB,sBAAsB;gBACtB,IAAI,SAAS,GAAU,EAAE,CAAC;gBAC1B,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,CAAe,EAAE,CAAC;oBACjD,MAAM,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;oBACpG,MAAM,mBAAmB,GACrB,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC;wBAC1D,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;wBAC/B,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;oBACrC,mBAAmB,IAAI,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAC/D,CAAC;gBAED,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;gBAEhC,SAAS;YACb,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAClC,0DAA0D;gBAC1D,MAAM,UAAU,GAAU,EAAE,CAAC;gBAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC/C,MAAM,KAAK,GAAQ,UAAU,CAAC,uBAAuB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAE3E,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;wBACd,OAAO,CAAC,CAAC,CAAC,GAAG;4BACT,GAAG,OAAO,CAAC,CAAC,CAAC;yBAChB,CAAC;oBACN,CAAC;oBAED,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,MAAM,KAAK,GAAQ,UAAU,CAAC,uBAAuB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,MAAM,GAAU,EAAE,CAAC;QACvB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAClF,CAAC;QAED,2EAA2E;QAC3E,8BAA8B;QAC9B,IAAI,UAAU,IAAI,UAAU,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;YACpE,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,4BAA4B;QAC5B,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjC,CAAC;QAED,oGAAoG;QACpG,4CAA4C;QAC5C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO;gBACH,GAAG,MAAM,CAAC,CAAC,CAAC;gBACZ,GAAG,MAAM,CAAC,CAAC,CAAC;aACf,CAAC;QACN,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAW,EAAE,SAA2B,IAAI,GAAG,EAAE;QAC5E,OAAO,MAAM,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YAC/C,IAAI,CAAC;gBACD,MAAM,WAAW,GAAgB,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;gBACtD,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;gBAEzB,oFAAoF;gBACpF,WAAW,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,IAAY,EAAE,EAAE;oBAC1D,MAAM,OAAO,GAAQ,OAAO,CAAC,WAAW,CAAC,gBAAgB,EAAE,KAAK,CAAC,KAAK,SAAS,CAAC;oBAChF,IAAI,OAAO,EAAE,CAAC;wBACV,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBAC5B,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,OAAO,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;;AAhsBc,0BAAe,GAAuB,IAAI,GAAG,EAAE,CAAC"}
@@ -40,8 +40,8 @@ __decorate([
40
40
  __metadata("design:type", Object)
41
41
  ], RecoverableBaseMongoEntity.prototype, "_id", void 0);
42
42
  RecoverableBaseMongoEntity = __decorate([
43
- Index("uid_version", ["uid", "version"], { unique: true, collation: { locale: "en", strength: 2 } }),
44
- Index("uid", ["uid"], { collation: { locale: "en", strength: 2 } }),
43
+ Index("uid_version", ["uid", "version"], { unique: true }),
44
+ Index("uid", ["uid"]),
45
45
  __metadata("design:paramtypes", [Object])
46
46
  ], RecoverableBaseMongoEntity);
47
47
  export { RecoverableBaseMongoEntity };
@@ -1 +1 @@
1
- {"version":3,"file":"RecoverableBaseMongoEntity.js","sourceRoot":"","sources":["../../../src/models/RecoverableBaseMongoEntity.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+EAA+E;AAC/E,wEAAwE;AACxE,+EAA+E;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE;;;;;;;GAOG;AACH,sGAAsG;AACtG,uFAAuF;AAGhF,IAAe,0BAA0B,GAAzC,MAAe,0BAA2B,SAAQ,qBAAqB;IAO1E,YAAY,KAA2C;QACnD,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG;gBAChB,CAAC,CAAC,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;oBAC5D,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACjC,CAAC,CAAC,KAAK,CAAC,GAAG;gBACf,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACnB,CAAC;IACL,CAAC;CACJ,CAAA;AAbU;IADN,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;;uDACZ;AALC,0BAA0B;IAF/C,KAAK,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;IACpG,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;;GAC9C,0BAA0B,CAkB/C"}
1
+ {"version":3,"file":"RecoverableBaseMongoEntity.js","sourceRoot":"","sources":["../../../src/models/RecoverableBaseMongoEntity.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+EAA+E;AAC/E,wEAAwE;AACxE,+EAA+E;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE;;;;;;;GAOG;AACH,sGAAsG;AACtG,uFAAuF;AAGhF,IAAe,0BAA0B,GAAzC,MAAe,0BAA2B,SAAQ,qBAAqB;IAO1E,YAAY,KAA2C;QACnD,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG;gBAChB,CAAC,CAAC,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;oBAC5D,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACjC,CAAC,CAAC,KAAK,CAAC,GAAG;gBACf,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACnB,CAAC;IACL,CAAC;CACJ,CAAA;AAbU;IADN,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;;uDACZ;AALC,0BAA0B;IAF/C,KAAK,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC1D,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;;GACA,0BAA0B,CAkB/C"}
@@ -29,6 +29,7 @@ import { ACLAction } from "../security/index.js";
29
29
  import { ConnectionManager } from "../database/index.js";
30
30
  const { Config, Init, Inject, Logger } = ObjectDecorators;
31
31
  const { RedisConnection } = DatabaseDecorators;
32
+ const _hashCache = new Map();
32
33
  /**
33
34
  * @author Jean-Philippe Steinmetz
34
35
  */
@@ -270,7 +271,6 @@ export class RepoUtils {
270
271
  if (!this.repo) {
271
272
  throw new ApiError(ApiErrors.INTERNAL_ERROR, 500, ApiErrorMessages.INTERNAL_ERROR);
272
273
  }
273
- let results = [];
274
274
  // Check user permissions
275
275
  if (this.aclUtils?.enabled && !options?.ignoreACL) {
276
276
  if (!(await this.aclUtils.hasPermission(options?.user, this.defaultACLUid, ACLAction.READ))) {
@@ -279,6 +279,7 @@ export class RepoUtils {
279
279
  }
280
280
  const limit = options?.limit ? Math.min(options?.limit, 1000) : 100;
281
281
  const page = options?.page ? Number(options?.page) : 0;
282
+ let results = [];
282
283
  // When we hash the seach query we need to ensure we're including the pagination information to preserve
283
284
  // like queries and results.
284
285
  const searchQueryHash = this.hashQuery({
@@ -287,16 +288,48 @@ export class RepoUtils {
287
288
  page,
288
289
  });
289
290
  // Pull from the cache if available
290
- if (this.cacheClient && this.modelClass.cacheTTL) {
291
+ if (!options?.skipCache && this.cacheClient && this.modelClass.cacheTTL) {
291
292
  const json = await this.cacheClient.get(`${this.baseCacheKey}.${searchQueryHash}`);
292
293
  if (json) {
293
294
  try {
294
295
  const uids = JSON.parse(json);
295
- for (const uid of uids) {
296
- // Retrieve the object from the cache or from database if not available
297
- const obj = await this.findOne(uid, options);
298
- if (obj) {
299
- results.push(obj);
296
+ // Attempt to retrieve as many objects from the cache simultaneously
297
+ const keys = uids.map((uid) => `${this.baseCacheKey}.${this.hashQuery(this.searchIdQuery(uid))}`);
298
+ // Retrieve all objects from the cache (if possible)
299
+ const cresults = await this.cacheClient.mget(...keys);
300
+ // Check for any missing objects that weren't in the cache. Build a list of missing
301
+ // items that we can retrieve from the database directly.
302
+ const missingUids = [];
303
+ for (let i = 0; i < cresults.length; i++) {
304
+ if (cresults[i] === null) {
305
+ missingUids.push(uids[i]);
306
+ }
307
+ }
308
+ // Now pull all missing items from the database
309
+ let missing = [];
310
+ if (missingUids.length > 0) {
311
+ if (this.repo instanceof MongoRepository) {
312
+ missing = await this.repo.find({ uid: { $in: missingUids } }).toArray();
313
+ }
314
+ else {
315
+ const { In } = ModelUtils.orm;
316
+ missing = await this.repo.find({ where: { uid: In(missingUids) } });
317
+ }
318
+ }
319
+ // Merge the results back into the results array. We iterate through cresults to preserve
320
+ // the order of the original query.
321
+ for (let i = 0; i < cresults.length; i++) {
322
+ if (cresults[i] !== null) {
323
+ results.push(JSON.parse(cresults[i]));
324
+ }
325
+ else {
326
+ // Find the desired object in the missing array
327
+ for (const obj of missing) {
328
+ if (obj.uid === uids[i]) {
329
+ results.push(obj);
330
+ break;
331
+ }
332
+ }
300
333
  }
301
334
  }
302
335
  }
@@ -325,13 +358,26 @@ export class RepoUtils {
325
358
  else {
326
359
  results = await this.repo.find(query);
327
360
  }
328
- // Cache the results for future requests
329
- if (this.cacheClient && this.modelClass.cacheTTL) {
330
- const uids = [];
331
- for (const result of results) {
332
- uids.push(result.uid);
361
+ // Cache the results for future requests. Don't bother if there were no results.
362
+ if (results.length > 0 && this.cacheClient && this.modelClass.cacheTTL) {
363
+ const cmds = [];
364
+ // Add the query to the cache with only the list of uids. This ensures that changes to the underlying
365
+ // objects stays accurate.
366
+ const uids = results.map((obj) => obj.uid);
367
+ cmds.push([
368
+ "setex",
369
+ `${this.baseCacheKey}.${searchQueryHash}`,
370
+ this.modelClass.cacheTTL,
371
+ JSON.stringify(uids),
372
+ ]);
373
+ // Also seed individual object caches so the next request is fully cache-warm
374
+ for (const obj of results) {
375
+ const query = this.searchIdQuery(obj.uid);
376
+ const cacheKey = `${this.baseCacheKey}.${this.hashQuery(query)}`;
377
+ cmds.push(["setex", cacheKey, this.modelClass.cacheTTL, JSON.stringify(obj)]);
333
378
  }
334
- void this.cacheClient.setex(`${this.baseCacheKey}.${searchQueryHash}`, this.modelClass.cacheTTL, JSON.stringify(uids));
379
+ // Now send all commands to redis at once
380
+ void this.cacheClient.multi(cmds).exec();
335
381
  }
336
382
  }
337
383
  return results;
@@ -403,7 +449,18 @@ export class RepoUtils {
403
449
  */
404
450
  hashQuery(query) {
405
451
  const queryStr = JSON.stringify(query);
406
- return crypto.createHash("sha512").update(queryStr).digest("hex");
452
+ let hash = _hashCache.get(queryStr);
453
+ if (hash === undefined) {
454
+ // Hash the query string
455
+ hash = crypto.createHash("md5").update(queryStr).digest("hex");
456
+ // Clear the hash cache if it grows too big to prevent runaway memory usage
457
+ if (_hashCache.size >= 10000) {
458
+ _hashCache.clear();
459
+ }
460
+ // Store the hashed query string for faster lookup next time
461
+ _hashCache.set(queryStr, hash);
462
+ }
463
+ return hash;
407
464
  }
408
465
  /**
409
466
  * Returns the class type (constructor) for the given object. This uses the `_fqn` or `_type` property of `obj` to
@@ -1 +1 @@
1
- {"version":3,"file":"RepoUtils.js","sourceRoot":"","sources":["../../../src/models/RepoUtils.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+EAA+E;AAC/E,wEAAwE;AACxE,gFAAgF;AAChF,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAW,gBAAgB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAqB,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC;AAC1D,MAAM,EAAE,eAAe,EAAE,GAAG,kBAAkB,CAAC;AAuD/C;;GAEG;AACH,MAAM,OAAO,SAAS;IAkClB,YAAY,UAAe,EAAE,IAAyC;QApBtE,mEAAmE;QAC5D,kBAAa,GAAW,EAAE,CAAC;QAiBxB,iBAAY,GAAa,CAAC,OAAO,CAAC,CAAC;QAGzC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAGe,AAAN,KAAK,CAAC,IAAI;QAChB,wFAAwF;QACxF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CACX,sEAAsE,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAChG,CAAC;YACN,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;YAC1F,CAAC;YAED,MAAM,EAAE,GAAQ,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAClF,IAAI,CAAC,EAAE,EAAE,CAAC;gBACN,MAAM,IAAI,KAAK,CACX,mEAAmE,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,CAClG,CAAC;YACN,CAAC;YAED,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,8DAA8D,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3G,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;YACzB,IAAI,UAAU,GAAkC,IAAI,CAAC,aAAa,EAAE,CAAC;YACrE,IAAI,UAAU,EAAE,CAAC;gBACb,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC;gBACpC,MAAM,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;YACpD,CAAC;QACL,CAAC;QAED,wDAAwD;QACxD,MAAM,WAAW,GAAQ,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAClF,IAAI,WAAW,IAAI,IAAI,CAAC,IAAI,YAAY,eAAe,EAAE,CAAC;YACtD,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAE/D,CAAC;YAChB,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC;YAC5B,IAAI,KAAK,EAAE,CAAC;gBACR,MAAM,cAAc,GAAW,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACtE,MAAM,MAAM,GAAW,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,UAAU,CAAC,SAAS,WAAW,CAAC,CAAC;gBAC3F,IAAI,CAAC;oBACD,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,wCAAwC,MAAM,IAAI,cAAc,SAAS,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,WAAW,CAAC,MAAM,aAAa,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAC5L,CAAC;oBACF,MAAM,MAAM,GAAQ,MAAM,KAAK,CAAC,OAAO,CAAC;wBACpC,eAAe,EAAE,GAAG,MAAM,IAAI,cAAc,EAAE;wBAC9C,GAAG,EAAE,WAAW,CAAC,GAAG;wBACpB,MAAM,EAAE,WAAW,CAAC,MAAM;wBAC1B,GAAG,WAAW,CAAC,OAAO;qBACzB,CAAC,CAAC;oBACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC3D,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBACd,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,4EAA4E,cAAc,YAAY,CAAC,CAAC,OAAO,EAAE,CACpH,CAAC;gBACN,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;YAC1F,CAAC;QACL,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAW,YAAY;QACnB,OAAO,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAC9C,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,KAAU,EAAE,OAAyB;QACpD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,GAAG,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACvF,CAAC;QAED,IAAI,KAAK,GAAW,CAAC,CAAC;QAEtB,yBAAyB;QACzB,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;YAChD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAC1F,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,uBAAuB,EAAE,GAAG,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;YACzG,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,YAAY,eAAe,EAAE,CAAC;YACvC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;gBAChC,MAAM,MAAM,GAAQ,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC5D,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACJ,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC7E,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CAAC,GAAe,EAAE,OAA2B;QAC5D,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,GAAG,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACvF,CAAC;QAED,iDAAiD;QACjD,IACI,IAAI,CAAC,QAAQ,EAAE,OAAO;YACtB,CAAC,OAAO,EAAE,SAAS;YACnB,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAC3F,CAAC;YACC,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,uBAAuB,EAAE,GAAG,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;QACzG,CAAC;QAED,6CAA6C;QAC7C,MAAM,KAAK,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAM,GAAG,YAAY,KAAK,CAAC,CAAC,CAAE,GAAS,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAEzF,+EAA+E;QAC/E,MAAM,GAAG,GAAU,EAAE,CAAC;QACtB,MAAM,OAAO,GAAa,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC/D,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,GAAG,GAAY,MAAc,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,GAAG,EAAE,CAAC;gBACN,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClB,CAAC;QACL,CAAC;QACD,MAAM,KAAK,GAAQ,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QACnF,MAAM,KAAK,GAAW,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,iBAAiB,EAAE,GAAG,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;QAC7F,CAAC;QAED,2DAA2D;QAC3D,IAAI,MAAM,YAAY,UAAU,EAAE,CAAC;YAC/B,MAAM,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;YAChC,MAAM,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;YACjC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;QAC3B,CAAC;QAED,qDAAqD;QACrD,IAAI,MAAM,YAAY,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YACpE,MAAc,CAAC,OAAO,GAAG,CAAC,CAAC;QAChC,CAAC;QAED,oGAAoG;QACpG,sBAAsB;QACtB,MAAM,MAAM,GAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAEvE,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC/C,wCAAwC;YACxC,MAAM,KAAK,GAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAW,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACzE,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5F,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YACtD,sDAAsD;YACtD,MAAM,GAAG,GAAsB;gBAC3B,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,IAAI,IAAI,CAAC,aAAa;gBACxD,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,EAAE;aACvC,CAAC;YAEF,8CAA8C;YAC9C,IAAI,KAAK,GAAY,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAEnE,wEAAwE;YACxE,IAAI,CAAC,KAAK,IAAI,OAAO,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBACnF,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;oBACb,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG;oBAC9B,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,IAAI;oBACV,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,KAAK;oBACd,IAAI,EAAE,KAAK;iBACd,CAAC,CAAC;YACP,CAAC;YAED,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;YACrB,IAAI,QAAQ,GAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC;YAC1E,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1F,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,GAAW,EAAE,OAA0B;QACvD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,GAAG,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACvF,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC/C,MAAM,GAAG,GAA6B,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACvE,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBACvG,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,uBAAuB,EAAE,GAAG,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;YACzG,CAAC;QACL,CAAC;QAED,MAAM,aAAa,GAAY,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,YAAY,qBAAqB,CAAC;QAC3F,MAAM,OAAO,GAAY,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACvE,MAAM,KAAK,GAAQ,UAAU,CAAC,kBAAkB,CAC5C,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,EACf,GAAG,EACH,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CACxD,CAAC;QAEF,yGAAyG;QACzG,0GAA0G;QAC1G,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,IAAI,CAAC,IAAI,YAAY,eAAe,EAAE,CAAC;gBACvC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;gBACtD,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACvC,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,IAAI,CAAC,IAAI,YAAY,eAAe,EAAE,CAAC;gBACvC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;oBAC9B,IAAI,EAAE;wBACF,OAAO,EAAE,IAAI;qBAChB;iBACJ,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE;oBAChC,OAAO,EAAE,IAAI;iBACT,CAAC,CAAC;YACd,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC/C,+BAA+B;YAC/B,KAAK,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3E,KAAK,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QACjG,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;YACrB,IAAI,QAAQ,GAAa,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE;gBAC1E,GAAG;gBACH,OAAO,EAAE,OAAO,CAAC,OAAO;aAC3B,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,IAAI,CAAC,KAAU,EAAE,OAAyB;QACnD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,GAAG,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACvF,CAAC;QAED,IAAI,OAAO,GAAQ,EAAE,CAAC;QAEtB,yBAAyB;QACzB,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;YAChD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAC1F,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,uBAAuB,EAAE,GAAG,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;YACzG,CAAC;QACL,CAAC;QAED,MAAM,KAAK,GAAW,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC5E,MAAM,IAAI,GAAW,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/D,wGAAwG;QACxG,4BAA4B;QAC5B,MAAM,eAAe,GAAW,IAAI,CAAC,SAAS,CAAC;YAC3C,GAAG,KAAK;YACR,KAAK;YACL,IAAI;SACP,CAAC,CAAC;QAEH,mCAAmC;QACnC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC/C,MAAM,IAAI,GAAkB,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,IAAI,eAAe,EAAE,CAAC,CAAC;YAClG,IAAI,IAAI,EAAE,CAAC;gBACP,IAAI,CAAC;oBACD,MAAM,IAAI,GAAa,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACxC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;wBACrB,uEAAuE;wBACvE,MAAM,GAAG,GAAkB,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;wBAC5D,IAAI,GAAG,EAAE,CAAC;4BACN,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACtB,CAAC;oBACL,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,kCAAkC;gBACtC,CAAC;YACL,CAAC;QACL,CAAC;QAED,wDAAwD;QACxD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,IAAI,YAAY,eAAe,EAAE,CAAC;gBACvC,MAAM,IAAI,GAAW,IAAI,GAAG,KAAK,CAAC;gBAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvB,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;gBACjF,CAAC;qBAAM,CAAC;oBACJ,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI;yBACpB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;wBAC7C,KAAK;wBACL,IAAI;wBACJ,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;qBACvB,CAAC;yBACD,OAAO,EAAE,CAAC;gBACnB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;YAED,wCAAwC;YACxC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAC/C,MAAM,IAAI,GAAa,EAAE,CAAC;gBAE1B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC1B,CAAC;gBAED,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CACvB,GAAG,IAAI,CAAC,YAAY,IAAI,eAAe,EAAE,EACzC,IAAI,CAAC,UAAU,CAAC,QAAQ,EACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CACvB,CAAC;YACN,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,OAAyB;QACtD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,GAAG,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACvF,CAAC;QAED,MAAM,KAAK,GAAQ,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACtE,sDAAsD;YACtD,MAAM,IAAI,GAAkB,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACxG,IAAI,IAAI,EAAE,CAAC;gBACP,IAAI,CAAC;oBACD,MAAM,QAAQ,GAAa,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC5C,IAAI,QAAQ,EAAE,CAAC;wBACX,OAAO,QAAQ,CAAC;oBACpB,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,kCAAkC;gBACtC,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,GAAa,IAAI,CAAC;QAC9B,IAAI,IAAI,CAAC,IAAI,YAAY,eAAe,EAAE,CAAC;YACvC,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI;iBACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;gBAC7C,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;aACxB,CAAC;iBACD,IAAI,EAAE,CAAC;QAChB,CAAC;aAAM,CAAC;YACJ,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,QAAQ,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC3D,wCAAwC;YACxC,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CACvB,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAC/C,IAAI,CAAC,UAAU,CAAC,QAAQ,EACxB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAC3B,CAAC;QACN,CAAC;QAED,4CAA4C;QAC5C,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,CAAC;IAED;;;OAGG;IACI,aAAa;QAChB,IAAI,MAAM,GAAkC,SAAS,CAAC;QAEtD,+CAA+C;QAC/C,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC3B,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAClC,IAAI,MAAM,EAAE,CAAC;gBACT,sFAAsF;gBACtF,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YAClF,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,SAAS,CAAC,KAAU;QACvB,MAAM,QAAQ,GAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;OAMG;IACI,YAAY,CAAC,GAAQ;QACxB,MAAM,SAAS,GAAkB,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC;QAEvD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAC7C,MAAM,KAAK,GACP,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,SAAS,EAAE,CAAC,CAAC;gBACvG,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,iBAAiB,CAAC,GAAQ,EAAE,KAAW;QAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACI,aAAa,CAAC,EAAU,EAAE,OAAyB;QACtD,OAAO,UAAU,CAAC,kBAAkB,CAChC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,EACf,EAAE,EACF,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAChE,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,KAAU,EAAE,OAAwB;QACtD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,GAAG,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACvF,CAAC;QAED,yFAAyF;QACzF,oBAAoB;QACpB,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YAC7E,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBAC3F,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,uBAAuB,EAAE,GAAG,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;YACzG,CAAC;QACL,CAAC;QAED,IAAI,CAAC;YACD,IAAI,IAAI,GAAkB,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,IAAI,YAAY,eAAe,EAAE,CAAC;gBACvC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvB,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC5D,CAAC;qBAAM,CAAC;oBACJ,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACtF,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1E,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClB,IAAI,SAAS,GAAa,IAAI,CAAC;gBAE/B,mFAAmF;gBACnF,uFAAuF;gBACvF,UAAU;gBACV,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;oBACtD,SAAS,GAAG,EAAE,CAAC;oBACf,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;wBACrB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;4BACrB,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;gCACzE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BACxB,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;gBAED,yCAAyC;gBACzC,IAAI,IAAI,CAAC,IAAI,YAAY,eAAe,EAAE,CAAC;oBACvC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,EAAS,CAAC,CAAC;gBACnE,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACtC,CAAC;gBAED,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;oBACrB,IAAI,QAAQ,GAAa,OAAO,EAAE,YAAY,IAAI,EAAE,CAAC;oBACrD,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;wBAC1B,MAAM,aAAa,GAAa,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACvD,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE;4BAC/E,GAAG;4BACH,OAAO,EAAE,OAAO,CAAC,OAAO;yBAC3B,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,mGAAmG;YACnG,IAAI,GAAG,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;gBACjC,MAAM,GAAG,CAAC;YACd,CAAC;QACL,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,GAAe,EAAE,QAAW,EAAE,OAA8B;QAC5E,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,GAAG,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACvF,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;YAChD,MAAM,GAAG,GAA6B,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAChF,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBACxG,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,uBAAuB,EAAE,GAAG,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;YACzG,CAAC;QACL,CAAC;QAED,6CAA6C;QAC7C,IAAI,QAAQ,YAAY,UAAU,EAAE,CAAC;YACjC,IAAI,QAAQ,CAAC,OAAO,KAAM,GAAW,CAAC,OAAO,EAAE,CAAC;gBAC5C,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,sBAAsB,EAAE,GAAG,EAAE,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;YACvG,CAAC;QACL,CAAC;QAED,8DAA8D;QAC9D,IAAI,QAAQ,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC;YAC3B,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,kBAAkB,EAAE,GAAG,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;QAC/F,CAAC;QAED,4FAA4F;QAC5F,IAAI,QAAQ,YAAY,eAAe,EAAE,CAAC;YACrC,GAAW,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;QACpC,CAAC;QAED,MAAM,YAAY,GAAY,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAC7D,IAAI,KAAK,GAAQ,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,IAAK,GAAW,CAAC,OAAO,CAAC,CAAC;QAC5F,IAAI,MAAM,GAAa,IAAI,CAAC;QAE5B,IAAI,IAAI,CAAC,IAAI,YAAY,eAAe,EAAE,CAAC;YACvC,IAAI,QAAQ,YAAY,UAAU,EAAE,CAAC;gBACjC,IAAI,YAAY,EAAE,CAAC;oBACf,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAC3B,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;wBACjB,GAAG,GAAG;wBACN,GAAG,EAAE,SAAS,EAAE,gCAAgC;wBAChD,YAAY,EAAE,IAAI,IAAI,EAAE;wBACxB,OAAO,EAAG,GAAW,CAAC,OAAO,GAAG,CAAC;qBAC7B,CAAC,CACZ,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CACrB,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAG,GAAW,CAAC,OAAO,EAAE,EAC/C;wBACI,IAAI,EAAE;4BACF,GAAG,GAAG;4BACN,YAAY,EAAE,IAAI,IAAI,EAAE;4BACxB,OAAO,EAAG,GAAW,CAAC,OAAO,GAAG,CAAC;yBACpC;qBACJ,CACJ,CAAC;gBACN,CAAC;YACL,CAAC;iBAAM,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;gBACjB,IAAI,YAAY,EAAE,CAAC;oBACf,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAC3B,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;wBACjB,GAAG,GAAG;wBACN,OAAO,EAAG,GAAW,CAAC,OAAO,GAAG,CAAC;qBAC7B,CAAC,CACZ,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CACrB,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,EAChB;wBACI,IAAI,EAAE;4BACF,GAAG,GAAG;yBACT;qBACJ,CACJ,CAAC;gBACN,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,MAAM,MAAM,GAAQ,GAAU,CAAC;gBAC/B,IAAI,YAAY,EAAE,CAAC;oBACf,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;gBACxB,CAAC;gBAED,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,QAAQ,YAAY,UAAU,EAAE,CAAC;gBACjC,IAAI,YAAY,EAAE,CAAC;oBACf,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;wBACnB,GAAG,GAAG;wBACN,YAAY,EAAE,IAAI,IAAI,EAAE;wBACxB,OAAO,EAAG,GAAW,CAAC,OAAO,GAAG,CAAC;qBAC7B,CAAC,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE;wBAChC,GAAG,GAAG;wBACN,YAAY,EAAE,IAAI,IAAI,EAAE;wBACxB,OAAO,EAAG,GAAW,CAAC,OAAO,GAAG,CAAC;qBAC7B,CAAC,CAAC;gBACd,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,MAAM,MAAM,GAAQ,GAAU,CAAC;gBAE/B,IAAI,YAAY,EAAE,CAAC;oBACf,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;oBACpB,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1C,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAChD,CAAC;YACL,CAAC;QACL,CAAC;QAED,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAClG,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,IAAI,IAAI,CAAC,IAAI,YAAY,eAAe,EAAE,CAAC;gBACvC,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAChF,CAAC;iBAAM,CAAC;gBACJ,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,GAAG,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;YACvF,CAAC;QACL,CAAC;QAED,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAExC,IAAI,MAAM,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACzD,wCAAwC;YACxC,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CACvB,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAC/C,IAAI,CAAC,UAAU,CAAC,QAAQ,EACxB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CACzB,CAAC;YACF,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CACvB,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EACxE,IAAI,CAAC,UAAU,CAAC,QAAQ,EACxB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CACzB,CAAC;QACN,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;YACrB,IAAI,QAAQ,GAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC;YAC1E,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1F,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,QAAQ,CAAC,IAA+B,EAAE,OAA8B;QACjF,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,CAAC;YACD,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;gBACnB,uGAAuG;gBACvG,gGAAgG;gBAChG,MAAM,WAAW,GAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBAEnD,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAG,WAAmB,CAAC,WAAW,CAAC,CAAC;gBAE5D,2DAA2D;gBAC3D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnD,MAAM,KAAK,GAAQ,OAAO,CAAC,WAAW,CAAC,gBAAgB,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;oBAC9E,IAAI,KAAK,IAAI,KAAK,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC1C,yDAAyD;wBACzD,MAAM,IAAI,GAAQ,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;wBAC3E,MAAM,IAAI,GACN,IAAI,YAAY,eAAe,IAAI,eAAe,CAAC,IAAI,CAAC;4BACpD,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;4BAC3B,CAAC,CAAC,SAAS,CAAC;wBACpB,IAAI,IAAI,EAAE,CAAC;4BACP,iGAAiG;4BACjG,2CAA2C;4BAC3C,MAAM,IAAI,GAAa,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;4BAChF,MAAM,KAAK,GAAQ,UAAU,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;4BACpE,MAAM,KAAK,GAAW,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;4BAC9C,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gCACxB,MAAM,IAAI,QAAQ,CACd,gBAAgB,CAAC,eAAe,EAChC,GAAG,EACH,YAAY,MAAM,2DAA2D,CAChF,CAAC;4BACN,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,MAAM,IAAI,QAAQ,CAAC,gBAAgB,CAAC,eAAe,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3E,CAAC;IACL,CAAC;CACJ;AA3wBa;IADT,MAAM,CAAC,UAAU,CAAC;;2CACW;AAIpB;IADT,eAAe,CAAC,OAAO,CAAC;8BACD,KAAK;8CAAC;AAGpB;IADT,MAAM,EAAE;;yCACa;AAGZ;IADT,MAAM,CAAC,iBAAiB,CAAC;8BACI,iBAAiB;oDAAC;AAMtC;IADT,MAAM;;yCACe;AAKZ;IADT,MAAM,CAAC,aAAa,CAAC;8BACI,aAAa;gDAAC;AAG9B;IADT,MAAM,CAAC,iBAAiB,CAAC;8BACI,iBAAiB;oDAAC;AAMtC;IADT,MAAM,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,CAAC;;+CACU;AAQ7B;IADf,IAAI;;;;qCAkEJ"}
1
+ {"version":3,"file":"RepoUtils.js","sourceRoot":"","sources":["../../../src/models/RepoUtils.ts"],"names":[],"mappings":"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"}
@@ -35,7 +35,7 @@ __decorate([
35
35
  Description("The universally unique identifier of the entity."),
36
36
  Default("randomUUID()"),
37
37
  Identifier,
38
- Index("uid", { unique: true, collation: { locale: "en", strength: 2 } }),
38
+ Index("uid", { unique: true }),
39
39
  PrimaryColumn(),
40
40
  __metadata("design:type", String)
41
41
  ], SimpleEntity.prototype, "uid", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleEntity.js","sourceRoot":"","sources":["../../../src/models/SimpleEntity.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+EAA+E;AAC/E,wEAAwE;AACxE,+EAA+E;AAC/E,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B;;;;;GAKG;AACH,MAAM,OAAgB,YAAY;IAW9B,YAAY,KAA6B;QAVzC;;WAEG;QAMI,QAAG,GAAW,IAAI,CAAC,EAAE,EAAE,CAAC;QAG3B,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,GAAG,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAChF,CAAC;IACL,CAAC;CACJ;AAPU;IALN,WAAW,CAAC,kDAAkD,CAAC;IAC/D,OAAO,CAAC,cAAc,CAAC;IACvB,UAAU;IACV,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;IACxE,aAAa,EAAE;;yCACe"}
1
+ {"version":3,"file":"SimpleEntity.js","sourceRoot":"","sources":["../../../src/models/SimpleEntity.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+EAA+E;AAC/E,wEAAwE;AACxE,+EAA+E;AAC/E,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B;;;;;GAKG;AACH,MAAM,OAAgB,YAAY;IAW9B,YAAY,KAA6B;QAVzC;;WAEG;QAMI,QAAG,GAAW,IAAI,CAAC,EAAE,EAAE,CAAC;QAG3B,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,GAAG,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAChF,CAAC;IACL,CAAC;CACJ;AAPU;IALN,WAAW,CAAC,kDAAkD,CAAC;IAC/D,OAAO,CAAC,cAAc,CAAC;IACvB,UAAU;IACV,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC9B,aAAa,EAAE;;yCACe"}
@@ -62,6 +62,12 @@ let AdminRoute = class AdminRoute {
62
62
  this.releaseNotes = releaseNotes;
63
63
  }
64
64
  async init() {
65
+ if (this.cacheClient) {
66
+ this.logger.info("Cache is enabled and ready.");
67
+ }
68
+ else {
69
+ this.logger.warn("Cache is disabled.");
70
+ }
65
71
  if (this.cacheConnConfig) {
66
72
  const adminChannel = this.serviceName || "service_admin";
67
73
  this.redisClient = new Redis(this.cacheConnConfig.url, this.cacheConnConfig.options);