@nolag/core 0.4.0

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 (292) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +28 -0
  3. package/README.md +244 -0
  4. package/dist/common/entities/base.entity.d.ts +12 -0
  5. package/dist/common/entities/base.entity.d.ts.map +1 -0
  6. package/dist/common/entities/base.entity.js +31 -0
  7. package/dist/common/pagination.d.ts +34 -0
  8. package/dist/common/pagination.d.ts.map +1 -0
  9. package/dist/common/pagination.js +100 -0
  10. package/dist/common/utils/secretCipher.d.ts +3 -0
  11. package/dist/common/utils/secretCipher.d.ts.map +1 -0
  12. package/dist/common/utils/secretCipher.js +45 -0
  13. package/dist/common/utils/secretHash.d.ts +15 -0
  14. package/dist/common/utils/secretHash.d.ts.map +1 -0
  15. package/dist/common/utils/secretHash.js +46 -0
  16. package/dist/common/utils/ttlCache.d.ts +13 -0
  17. package/dist/common/utils/ttlCache.d.ts.map +1 -0
  18. package/dist/common/utils/ttlCache.js +47 -0
  19. package/dist/common/validators/isValidTopicName.validator.d.ts +7 -0
  20. package/dist/common/validators/isValidTopicName.validator.d.ts.map +1 -0
  21. package/dist/common/validators/isValidTopicName.validator.js +44 -0
  22. package/dist/core.config.d.ts +10 -0
  23. package/dist/core.config.d.ts.map +1 -0
  24. package/dist/core.config.js +41 -0
  25. package/dist/core.module.d.ts +6 -0
  26. package/dist/core.module.d.ts.map +1 -0
  27. package/dist/core.module.js +67 -0
  28. package/dist/core.options.d.ts +26 -0
  29. package/dist/core.options.d.ts.map +1 -0
  30. package/dist/core.options.js +10 -0
  31. package/dist/index.d.ts +55 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +123 -0
  34. package/dist/migrations/1786323955167-InitialSchema.d.ts +7 -0
  35. package/dist/migrations/1786323955167-InitialSchema.d.ts.map +1 -0
  36. package/dist/migrations/1786323955167-InitialSchema.js +106 -0
  37. package/dist/modules/accessScopeModule/accessScope.entity.d.ts +15 -0
  38. package/dist/modules/accessScopeModule/accessScope.entity.d.ts.map +1 -0
  39. package/dist/modules/accessScopeModule/accessScope.entity.js +78 -0
  40. package/dist/modules/accessScopeModule/accessScope.facade.d.ts +22 -0
  41. package/dist/modules/accessScopeModule/accessScope.facade.d.ts.map +1 -0
  42. package/dist/modules/accessScopeModule/accessScope.facade.js +103 -0
  43. package/dist/modules/accessScopeModule/accessScope.module.d.ts +3 -0
  44. package/dist/modules/accessScopeModule/accessScope.module.d.ts.map +1 -0
  45. package/dist/modules/accessScopeModule/accessScope.module.js +34 -0
  46. package/dist/modules/accessScopeModule/accessScope.repository.d.ts +7 -0
  47. package/dist/modules/accessScopeModule/accessScope.repository.d.ts.map +1 -0
  48. package/dist/modules/accessScopeModule/accessScope.repository.js +35 -0
  49. package/dist/modules/accessScopeModule/accessScope.service.d.ts +15 -0
  50. package/dist/modules/accessScopeModule/accessScope.service.d.ts.map +1 -0
  51. package/dist/modules/accessScopeModule/accessScope.service.js +87 -0
  52. package/dist/modules/accessScopeModule/dto/accessScope.dto.d.ts +13 -0
  53. package/dist/modules/accessScopeModule/dto/accessScope.dto.d.ts.map +1 -0
  54. package/dist/modules/accessScopeModule/dto/accessScope.dto.js +88 -0
  55. package/dist/modules/accessScopeModule/query/accessScope.query.d.ts +8 -0
  56. package/dist/modules/accessScopeModule/query/accessScope.query.d.ts.map +1 -0
  57. package/dist/modules/accessScopeModule/query/accessScope.query.js +35 -0
  58. package/dist/modules/accessScopeModule/query/accessScope.query.service.d.ts +10 -0
  59. package/dist/modules/accessScopeModule/query/accessScope.query.service.d.ts.map +1 -0
  60. package/dist/modules/accessScopeModule/query/accessScope.query.service.js +47 -0
  61. package/dist/modules/actorTokenModule/actorAppAccess.entity.d.ts +19 -0
  62. package/dist/modules/actorTokenModule/actorAppAccess.entity.d.ts.map +1 -0
  63. package/dist/modules/actorTokenModule/actorAppAccess.entity.js +92 -0
  64. package/dist/modules/actorTokenModule/actorToken.entity.d.ts +23 -0
  65. package/dist/modules/actorTokenModule/actorToken.entity.d.ts.map +1 -0
  66. package/dist/modules/actorTokenModule/actorToken.entity.js +117 -0
  67. package/dist/modules/actorTokenModule/actorToken.facade.d.ts +35 -0
  68. package/dist/modules/actorTokenModule/actorToken.facade.d.ts.map +1 -0
  69. package/dist/modules/actorTokenModule/actorToken.facade.js +123 -0
  70. package/dist/modules/actorTokenModule/actorToken.module.d.ts +3 -0
  71. package/dist/modules/actorTokenModule/actorToken.module.d.ts.map +1 -0
  72. package/dist/modules/actorTokenModule/actorToken.module.js +41 -0
  73. package/dist/modules/actorTokenModule/actorToken.repository.d.ts +11 -0
  74. package/dist/modules/actorTokenModule/actorToken.repository.d.ts.map +1 -0
  75. package/dist/modules/actorTokenModule/actorToken.repository.js +41 -0
  76. package/dist/modules/actorTokenModule/actorToken.service.d.ts +26 -0
  77. package/dist/modules/actorTokenModule/actorToken.service.d.ts.map +1 -0
  78. package/dist/modules/actorTokenModule/actorToken.service.js +169 -0
  79. package/dist/modules/actorTokenModule/actorTokenState.entity.d.ts +31 -0
  80. package/dist/modules/actorTokenModule/actorTokenState.entity.d.ts.map +1 -0
  81. package/dist/modules/actorTokenModule/actorTokenState.entity.js +77 -0
  82. package/dist/modules/actorTokenModule/actorTokenState.repository.d.ts +10 -0
  83. package/dist/modules/actorTokenModule/actorTokenState.repository.d.ts.map +1 -0
  84. package/dist/modules/actorTokenModule/actorTokenState.repository.js +54 -0
  85. package/dist/modules/actorTokenModule/dto/actorToken.dto.d.ts +21 -0
  86. package/dist/modules/actorTokenModule/dto/actorToken.dto.d.ts.map +1 -0
  87. package/dist/modules/actorTokenModule/dto/actorToken.dto.js +99 -0
  88. package/dist/modules/actorTokenModule/enum/EAccessPermission.enum.d.ts +6 -0
  89. package/dist/modules/actorTokenModule/enum/EAccessPermission.enum.d.ts.map +1 -0
  90. package/dist/modules/actorTokenModule/enum/EAccessPermission.enum.js +9 -0
  91. package/dist/modules/actorTokenModule/enum/EActorTokenPrefix.enum.d.ts +5 -0
  92. package/dist/modules/actorTokenModule/enum/EActorTokenPrefix.enum.d.ts.map +1 -0
  93. package/dist/modules/actorTokenModule/enum/EActorTokenPrefix.enum.js +8 -0
  94. package/dist/modules/actorTokenModule/enum/EActorTokenStatus.enum.d.ts +5 -0
  95. package/dist/modules/actorTokenModule/enum/EActorTokenStatus.enum.d.ts.map +1 -0
  96. package/dist/modules/actorTokenModule/enum/EActorTokenStatus.enum.js +8 -0
  97. package/dist/modules/actorTokenModule/enum/EActorType.enum.d.ts +11 -0
  98. package/dist/modules/actorTokenModule/enum/EActorType.enum.d.ts.map +1 -0
  99. package/dist/modules/actorTokenModule/enum/EActorType.enum.js +17 -0
  100. package/dist/modules/actorTokenModule/query/actorToken.query.d.ts +10 -0
  101. package/dist/modules/actorTokenModule/query/actorToken.query.d.ts.map +1 -0
  102. package/dist/modules/actorTokenModule/query/actorToken.query.js +41 -0
  103. package/dist/modules/actorTokenModule/query/actorToken.query.service.d.ts +10 -0
  104. package/dist/modules/actorTokenModule/query/actorToken.query.service.d.ts.map +1 -0
  105. package/dist/modules/actorTokenModule/query/actorToken.query.service.js +47 -0
  106. package/dist/modules/authzModule/adapters/brokerResponse.adapter.d.ts +128 -0
  107. package/dist/modules/authzModule/adapters/brokerResponse.adapter.d.ts.map +1 -0
  108. package/dist/modules/authzModule/adapters/brokerResponse.adapter.js +103 -0
  109. package/dist/modules/authzModule/authz.facade.d.ts +18 -0
  110. package/dist/modules/authzModule/authz.facade.d.ts.map +1 -0
  111. package/dist/modules/authzModule/authz.facade.js +52 -0
  112. package/dist/modules/authzModule/authz.module.d.ts +3 -0
  113. package/dist/modules/authzModule/authz.module.d.ts.map +1 -0
  114. package/dist/modules/authzModule/authz.module.js +50 -0
  115. package/dist/modules/authzModule/authz.service.d.ts +34 -0
  116. package/dist/modules/authzModule/authz.service.d.ts.map +1 -0
  117. package/dist/modules/authzModule/authz.service.js +654 -0
  118. package/dist/modules/authzModule/dto/authz.dto.d.ts +99 -0
  119. package/dist/modules/authzModule/dto/authz.dto.d.ts.map +1 -0
  120. package/dist/modules/authzModule/dto/authz.dto.js +236 -0
  121. package/dist/modules/lobbyModule/dto/lobby.dto.d.ts +12 -0
  122. package/dist/modules/lobbyModule/dto/lobby.dto.d.ts.map +1 -0
  123. package/dist/modules/lobbyModule/dto/lobby.dto.js +79 -0
  124. package/dist/modules/lobbyModule/lobby.entity.d.ts +16 -0
  125. package/dist/modules/lobbyModule/lobby.entity.d.ts.map +1 -0
  126. package/dist/modules/lobbyModule/lobby.entity.js +79 -0
  127. package/dist/modules/lobbyModule/lobby.facade.d.ts +40 -0
  128. package/dist/modules/lobbyModule/lobby.facade.d.ts.map +1 -0
  129. package/dist/modules/lobbyModule/lobby.facade.js +199 -0
  130. package/dist/modules/lobbyModule/lobby.module.d.ts +3 -0
  131. package/dist/modules/lobbyModule/lobby.module.d.ts.map +1 -0
  132. package/dist/modules/lobbyModule/lobby.module.js +36 -0
  133. package/dist/modules/lobbyModule/lobby.repository.d.ts +9 -0
  134. package/dist/modules/lobbyModule/lobby.repository.d.ts.map +1 -0
  135. package/dist/modules/lobbyModule/lobby.repository.js +42 -0
  136. package/dist/modules/lobbyModule/lobby.service.d.ts +41 -0
  137. package/dist/modules/lobbyModule/lobby.service.d.ts.map +1 -0
  138. package/dist/modules/lobbyModule/lobby.service.js +159 -0
  139. package/dist/modules/lobbyModule/lobbyRoom.entity.d.ts +11 -0
  140. package/dist/modules/lobbyModule/lobbyRoom.entity.d.ts.map +1 -0
  141. package/dist/modules/lobbyModule/lobbyRoom.entity.js +52 -0
  142. package/dist/modules/lobbyModule/lobbyRoom.repository.d.ts +8 -0
  143. package/dist/modules/lobbyModule/lobbyRoom.repository.d.ts.map +1 -0
  144. package/dist/modules/lobbyModule/lobbyRoom.repository.js +36 -0
  145. package/dist/modules/lobbyModule/query/lobby.query.d.ts +7 -0
  146. package/dist/modules/lobbyModule/query/lobby.query.d.ts.map +1 -0
  147. package/dist/modules/lobbyModule/query/lobby.query.js +32 -0
  148. package/dist/modules/lobbyModule/query/lobby.query.service.d.ts +10 -0
  149. package/dist/modules/lobbyModule/query/lobby.query.service.d.ts.map +1 -0
  150. package/dist/modules/lobbyModule/query/lobby.query.service.js +42 -0
  151. package/dist/modules/platformAppModule/dto/platformApp.dto.d.ts +28 -0
  152. package/dist/modules/platformAppModule/dto/platformApp.dto.d.ts.map +1 -0
  153. package/dist/modules/platformAppModule/dto/platformApp.dto.js +180 -0
  154. package/dist/modules/platformAppModule/enum/EAppAccessMode.enum.d.ts +5 -0
  155. package/dist/modules/platformAppModule/enum/EAppAccessMode.enum.d.ts.map +1 -0
  156. package/dist/modules/platformAppModule/enum/EAppAccessMode.enum.js +8 -0
  157. package/dist/modules/platformAppModule/enum/EAppStatus.enum.d.ts +6 -0
  158. package/dist/modules/platformAppModule/enum/EAppStatus.enum.d.ts.map +1 -0
  159. package/dist/modules/platformAppModule/enum/EAppStatus.enum.js +9 -0
  160. package/dist/modules/platformAppModule/platformApp.entity.d.ts +32 -0
  161. package/dist/modules/platformAppModule/platformApp.entity.d.ts.map +1 -0
  162. package/dist/modules/platformAppModule/platformApp.entity.js +113 -0
  163. package/dist/modules/platformAppModule/platformApp.facade.d.ts +25 -0
  164. package/dist/modules/platformAppModule/platformApp.facade.d.ts.map +1 -0
  165. package/dist/modules/platformAppModule/platformApp.facade.js +188 -0
  166. package/dist/modules/platformAppModule/platformApp.module.d.ts +3 -0
  167. package/dist/modules/platformAppModule/platformApp.module.d.ts.map +1 -0
  168. package/dist/modules/platformAppModule/platformApp.module.js +29 -0
  169. package/dist/modules/platformAppModule/platformApp.repository.d.ts +10 -0
  170. package/dist/modules/platformAppModule/platformApp.repository.d.ts.map +1 -0
  171. package/dist/modules/platformAppModule/platformApp.repository.js +45 -0
  172. package/dist/modules/platformAppModule/query/platformApp.query.d.ts +9 -0
  173. package/dist/modules/platformAppModule/query/platformApp.query.d.ts.map +1 -0
  174. package/dist/modules/platformAppModule/query/platformApp.query.js +40 -0
  175. package/dist/modules/platformAppModule/query/platformApp.query.service.d.ts +10 -0
  176. package/dist/modules/platformAppModule/query/platformApp.query.service.d.ts.map +1 -0
  177. package/dist/modules/platformAppModule/query/platformApp.query.service.js +45 -0
  178. package/dist/modules/projectConfigModule/dto/projectConfig.dto.d.ts +116 -0
  179. package/dist/modules/projectConfigModule/dto/projectConfig.dto.d.ts.map +1 -0
  180. package/dist/modules/projectConfigModule/dto/projectConfig.dto.js +566 -0
  181. package/dist/modules/projectConfigModule/projectConfig.facade.d.ts +18 -0
  182. package/dist/modules/projectConfigModule/projectConfig.facade.d.ts.map +1 -0
  183. package/dist/modules/projectConfigModule/projectConfig.facade.js +71 -0
  184. package/dist/modules/projectConfigModule/projectConfig.module.d.ts +3 -0
  185. package/dist/modules/projectConfigModule/projectConfig.module.d.ts.map +1 -0
  186. package/dist/modules/projectConfigModule/projectConfig.module.js +23 -0
  187. package/dist/modules/projectConfigModule/projectConfig.service.d.ts +12 -0
  188. package/dist/modules/projectConfigModule/projectConfig.service.d.ts.map +1 -0
  189. package/dist/modules/projectConfigModule/projectConfig.service.js +411 -0
  190. package/dist/modules/projectModule/dto/project.dto.d.ts +15 -0
  191. package/dist/modules/projectModule/dto/project.dto.d.ts.map +1 -0
  192. package/dist/modules/projectModule/dto/project.dto.js +86 -0
  193. package/dist/modules/projectModule/project.entity.d.ts +14 -0
  194. package/dist/modules/projectModule/project.entity.d.ts.map +1 -0
  195. package/dist/modules/projectModule/project.entity.js +74 -0
  196. package/dist/modules/projectModule/project.facade.d.ts +27 -0
  197. package/dist/modules/projectModule/project.facade.d.ts.map +1 -0
  198. package/dist/modules/projectModule/project.facade.js +150 -0
  199. package/dist/modules/projectModule/project.module.d.ts +3 -0
  200. package/dist/modules/projectModule/project.module.d.ts.map +1 -0
  201. package/dist/modules/projectModule/project.module.js +25 -0
  202. package/dist/modules/projectModule/project.repository.d.ts +9 -0
  203. package/dist/modules/projectModule/project.repository.d.ts.map +1 -0
  204. package/dist/modules/projectModule/project.repository.js +42 -0
  205. package/dist/modules/projectModule/query/project.query.d.ts +7 -0
  206. package/dist/modules/projectModule/query/project.query.d.ts.map +1 -0
  207. package/dist/modules/projectModule/query/project.query.js +32 -0
  208. package/dist/modules/projectModule/query/project.query.service.d.ts +10 -0
  209. package/dist/modules/projectModule/query/project.query.service.d.ts.map +1 -0
  210. package/dist/modules/projectModule/query/project.query.service.js +43 -0
  211. package/dist/modules/roomModule/dto/room.dto.d.ts +17 -0
  212. package/dist/modules/roomModule/dto/room.dto.d.ts.map +1 -0
  213. package/dist/modules/roomModule/dto/room.dto.js +123 -0
  214. package/dist/modules/roomModule/dto/roomActorAccess.dto.d.ts +21 -0
  215. package/dist/modules/roomModule/dto/roomActorAccess.dto.d.ts.map +1 -0
  216. package/dist/modules/roomModule/dto/roomActorAccess.dto.js +135 -0
  217. package/dist/modules/roomModule/enum/ERoomStatus.enum.d.ts +5 -0
  218. package/dist/modules/roomModule/enum/ERoomStatus.enum.d.ts.map +1 -0
  219. package/dist/modules/roomModule/enum/ERoomStatus.enum.js +8 -0
  220. package/dist/modules/roomModule/query/room.query.d.ts +9 -0
  221. package/dist/modules/roomModule/query/room.query.d.ts.map +1 -0
  222. package/dist/modules/roomModule/query/room.query.js +40 -0
  223. package/dist/modules/roomModule/query/room.query.service.d.ts +10 -0
  224. package/dist/modules/roomModule/query/room.query.service.d.ts.map +1 -0
  225. package/dist/modules/roomModule/query/room.query.service.js +45 -0
  226. package/dist/modules/roomModule/room.entity.d.ts +17 -0
  227. package/dist/modules/roomModule/room.entity.d.ts.map +1 -0
  228. package/dist/modules/roomModule/room.entity.js +90 -0
  229. package/dist/modules/roomModule/room.facade.d.ts +30 -0
  230. package/dist/modules/roomModule/room.facade.d.ts.map +1 -0
  231. package/dist/modules/roomModule/room.facade.js +154 -0
  232. package/dist/modules/roomModule/room.module.d.ts +3 -0
  233. package/dist/modules/roomModule/room.module.d.ts.map +1 -0
  234. package/dist/modules/roomModule/room.module.js +39 -0
  235. package/dist/modules/roomModule/room.repository.d.ts +10 -0
  236. package/dist/modules/roomModule/room.repository.d.ts.map +1 -0
  237. package/dist/modules/roomModule/room.repository.js +48 -0
  238. package/dist/modules/roomModule/room.service.d.ts +26 -0
  239. package/dist/modules/roomModule/room.service.d.ts.map +1 -0
  240. package/dist/modules/roomModule/room.service.js +130 -0
  241. package/dist/modules/roomModule/roomActorAccess.entity.d.ts +22 -0
  242. package/dist/modules/roomModule/roomActorAccess.entity.d.ts.map +1 -0
  243. package/dist/modules/roomModule/roomActorAccess.entity.js +101 -0
  244. package/dist/modules/roomModule/roomActorAccess.facade.d.ts +20 -0
  245. package/dist/modules/roomModule/roomActorAccess.facade.d.ts.map +1 -0
  246. package/dist/modules/roomModule/roomActorAccess.facade.js +134 -0
  247. package/dist/modules/roomModule/roomActorAccess.repository.d.ts +15 -0
  248. package/dist/modules/roomModule/roomActorAccess.repository.d.ts.map +1 -0
  249. package/dist/modules/roomModule/roomActorAccess.repository.js +81 -0
  250. package/dist/modules/signingKeyModule/dto/signingKey.dto.d.ts +14 -0
  251. package/dist/modules/signingKeyModule/dto/signingKey.dto.d.ts.map +1 -0
  252. package/dist/modules/signingKeyModule/dto/signingKey.dto.js +57 -0
  253. package/dist/modules/signingKeyModule/enum/ESigningKeyPrefix.enum.d.ts +5 -0
  254. package/dist/modules/signingKeyModule/enum/ESigningKeyPrefix.enum.d.ts.map +1 -0
  255. package/dist/modules/signingKeyModule/enum/ESigningKeyPrefix.enum.js +8 -0
  256. package/dist/modules/signingKeyModule/enum/ESigningKeyStatus.enum.d.ts +5 -0
  257. package/dist/modules/signingKeyModule/enum/ESigningKeyStatus.enum.d.ts.map +1 -0
  258. package/dist/modules/signingKeyModule/enum/ESigningKeyStatus.enum.js +8 -0
  259. package/dist/modules/signingKeyModule/query/signingKey.query.d.ts +8 -0
  260. package/dist/modules/signingKeyModule/query/signingKey.query.d.ts.map +1 -0
  261. package/dist/modules/signingKeyModule/query/signingKey.query.js +33 -0
  262. package/dist/modules/signingKeyModule/query/signingKey.query.service.d.ts +10 -0
  263. package/dist/modules/signingKeyModule/query/signingKey.query.service.d.ts.map +1 -0
  264. package/dist/modules/signingKeyModule/query/signingKey.query.service.js +52 -0
  265. package/dist/modules/signingKeyModule/signingKey.entity.d.ts +16 -0
  266. package/dist/modules/signingKeyModule/signingKey.entity.d.ts.map +1 -0
  267. package/dist/modules/signingKeyModule/signingKey.entity.js +85 -0
  268. package/dist/modules/signingKeyModule/signingKey.facade.d.ts +25 -0
  269. package/dist/modules/signingKeyModule/signingKey.facade.d.ts.map +1 -0
  270. package/dist/modules/signingKeyModule/signingKey.facade.js +90 -0
  271. package/dist/modules/signingKeyModule/signingKey.module.d.ts +3 -0
  272. package/dist/modules/signingKeyModule/signingKey.module.d.ts.map +1 -0
  273. package/dist/modules/signingKeyModule/signingKey.module.js +35 -0
  274. package/dist/modules/signingKeyModule/signingKey.repository.d.ts +11 -0
  275. package/dist/modules/signingKeyModule/signingKey.repository.d.ts.map +1 -0
  276. package/dist/modules/signingKeyModule/signingKey.repository.js +39 -0
  277. package/dist/modules/signingKeyModule/signingKey.service.d.ts +40 -0
  278. package/dist/modules/signingKeyModule/signingKey.service.d.ts.map +1 -0
  279. package/dist/modules/signingKeyModule/signingKey.service.js +259 -0
  280. package/dist/schema.d.ts +19 -0
  281. package/dist/schema.d.ts.map +1 -0
  282. package/dist/schema.js +33 -0
  283. package/dist/utils/clientToken.d.ts +2 -0
  284. package/dist/utils/clientToken.d.ts.map +1 -0
  285. package/dist/utils/clientToken.js +6 -0
  286. package/dist/utils/exceptions.d.ts +16 -0
  287. package/dist/utils/exceptions.d.ts.map +1 -0
  288. package/dist/utils/exceptions.js +24 -0
  289. package/dist/utils/guid.d.ts +4 -0
  290. package/dist/utils/guid.d.ts.map +1 -0
  291. package/dist/utils/guid.js +16 -0
  292. package/package.json +127 -0
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RoomActorAccessUpdateDto = exports.RoomActorAccessCreateDto = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_validator_1 = require("class-validator");
15
+ const isValidTopicName_validator_1 = require("../../../common/validators/isValidTopicName.validator");
16
+ const EAccessPermission_enum_1 = require("../../actorTokenModule/enum/EAccessPermission.enum");
17
+ const EActorType_enum_1 = require("../../actorTokenModule/enum/EActorType.enum");
18
+ class RoomActorAccessCreateDto {
19
+ actorTokenId;
20
+ actorType;
21
+ permission;
22
+ topics;
23
+ isActive;
24
+ expiresAt;
25
+ role;
26
+ metadata;
27
+ }
28
+ exports.RoomActorAccessCreateDto = RoomActorAccessCreateDto;
29
+ __decorate([
30
+ (0, swagger_1.ApiPropertyOptional)({
31
+ description: "Grant to one named actor. Mutually exclusive with actorType.",
32
+ }),
33
+ (0, class_validator_1.IsOptional)(),
34
+ (0, class_validator_1.IsUUID)(),
35
+ __metadata("design:type", String)
36
+ ], RoomActorAccessCreateDto.prototype, "actorTokenId", void 0);
37
+ __decorate([
38
+ (0, swagger_1.ApiPropertyOptional)({
39
+ description: "Grant to every actor of this type. Mutually exclusive with actorTokenId.",
40
+ enum: EActorType_enum_1.EActorType,
41
+ }),
42
+ (0, class_validator_1.IsOptional)(),
43
+ (0, class_validator_1.IsEnum)(EActorType_enum_1.EActorType),
44
+ __metadata("design:type", String)
45
+ ], RoomActorAccessCreateDto.prototype, "actorType", void 0);
46
+ __decorate([
47
+ (0, swagger_1.ApiProperty)({ enum: EAccessPermission_enum_1.EAccessPermission }),
48
+ (0, class_validator_1.IsEnum)(EAccessPermission_enum_1.EAccessPermission),
49
+ __metadata("design:type", String)
50
+ ], RoomActorAccessCreateDto.prototype, "permission", void 0);
51
+ __decorate([
52
+ (0, swagger_1.ApiPropertyOptional)({
53
+ description: "Absent means every topic the app defines.",
54
+ example: ["messages", "typing"],
55
+ type: [String],
56
+ }),
57
+ (0, class_validator_1.IsOptional)(),
58
+ (0, class_validator_1.IsArray)(),
59
+ (0, class_validator_1.IsString)({ each: true }),
60
+ (0, isValidTopicName_validator_1.IsValidTopicName)({ each: true }),
61
+ __metadata("design:type", Array)
62
+ ], RoomActorAccessCreateDto.prototype, "topics", void 0);
63
+ __decorate([
64
+ (0, swagger_1.ApiPropertyOptional)({ default: true }),
65
+ (0, class_validator_1.IsOptional)(),
66
+ (0, class_validator_1.IsBoolean)(),
67
+ __metadata("design:type", Boolean)
68
+ ], RoomActorAccessCreateDto.prototype, "isActive", void 0);
69
+ __decorate([
70
+ (0, swagger_1.ApiPropertyOptional)({ example: "2026-12-31T23:59:59Z" }),
71
+ (0, class_validator_1.IsOptional)(),
72
+ (0, class_validator_1.IsISO8601)({ strict: true }),
73
+ __metadata("design:type", Object)
74
+ ], RoomActorAccessCreateDto.prototype, "expiresAt", void 0);
75
+ __decorate([
76
+ (0, swagger_1.ApiPropertyOptional)({ description: "Display label only. Not enforced." }),
77
+ (0, class_validator_1.IsOptional)(),
78
+ (0, class_validator_1.IsString)(),
79
+ (0, class_validator_1.MaxLength)(100),
80
+ __metadata("design:type", String)
81
+ ], RoomActorAccessCreateDto.prototype, "role", void 0);
82
+ __decorate([
83
+ (0, swagger_1.ApiPropertyOptional)(),
84
+ (0, class_validator_1.IsOptional)(),
85
+ (0, class_validator_1.IsObject)(),
86
+ __metadata("design:type", Object)
87
+ ], RoomActorAccessCreateDto.prototype, "metadata", void 0);
88
+ class RoomActorAccessUpdateDto {
89
+ permission;
90
+ topics;
91
+ isActive;
92
+ expiresAt;
93
+ role;
94
+ metadata;
95
+ }
96
+ exports.RoomActorAccessUpdateDto = RoomActorAccessUpdateDto;
97
+ __decorate([
98
+ (0, swagger_1.ApiPropertyOptional)({ enum: EAccessPermission_enum_1.EAccessPermission }),
99
+ (0, class_validator_1.IsOptional)(),
100
+ (0, class_validator_1.IsEnum)(EAccessPermission_enum_1.EAccessPermission),
101
+ __metadata("design:type", String)
102
+ ], RoomActorAccessUpdateDto.prototype, "permission", void 0);
103
+ __decorate([
104
+ (0, swagger_1.ApiPropertyOptional)({ type: [String] }),
105
+ (0, class_validator_1.IsOptional)(),
106
+ (0, class_validator_1.IsArray)(),
107
+ (0, class_validator_1.IsString)({ each: true }),
108
+ (0, isValidTopicName_validator_1.IsValidTopicName)({ each: true }),
109
+ __metadata("design:type", Object)
110
+ ], RoomActorAccessUpdateDto.prototype, "topics", void 0);
111
+ __decorate([
112
+ (0, swagger_1.ApiPropertyOptional)(),
113
+ (0, class_validator_1.IsOptional)(),
114
+ (0, class_validator_1.IsBoolean)(),
115
+ __metadata("design:type", Boolean)
116
+ ], RoomActorAccessUpdateDto.prototype, "isActive", void 0);
117
+ __decorate([
118
+ (0, swagger_1.ApiPropertyOptional)(),
119
+ (0, class_validator_1.IsOptional)(),
120
+ (0, class_validator_1.IsISO8601)({ strict: true }),
121
+ __metadata("design:type", Object)
122
+ ], RoomActorAccessUpdateDto.prototype, "expiresAt", void 0);
123
+ __decorate([
124
+ (0, swagger_1.ApiPropertyOptional)(),
125
+ (0, class_validator_1.IsOptional)(),
126
+ (0, class_validator_1.IsString)(),
127
+ (0, class_validator_1.MaxLength)(100),
128
+ __metadata("design:type", Object)
129
+ ], RoomActorAccessUpdateDto.prototype, "role", void 0);
130
+ __decorate([
131
+ (0, swagger_1.ApiPropertyOptional)(),
132
+ (0, class_validator_1.IsOptional)(),
133
+ (0, class_validator_1.IsObject)(),
134
+ __metadata("design:type", Object)
135
+ ], RoomActorAccessUpdateDto.prototype, "metadata", void 0);
@@ -0,0 +1,5 @@
1
+ export declare enum ERoomStatus {
2
+ Active = "active",
3
+ Disabled = "disabled"
4
+ }
5
+ //# sourceMappingURL=ERoomStatus.enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ERoomStatus.enum.d.ts","sourceRoot":"","sources":["../../../../src/modules/roomModule/enum/ERoomStatus.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ERoomStatus = void 0;
4
+ var ERoomStatus;
5
+ (function (ERoomStatus) {
6
+ ERoomStatus["Active"] = "active";
7
+ ERoomStatus["Disabled"] = "disabled";
8
+ })(ERoomStatus || (exports.ERoomStatus = ERoomStatus = {}));
@@ -0,0 +1,9 @@
1
+ import { BaseQuery } from "../../../common/pagination";
2
+ import { ERoomStatus } from "../enum/ERoomStatus.enum";
3
+ import { RoomEntity } from "../room.entity";
4
+ export declare class RoomQuery extends BaseQuery<RoomEntity> {
5
+ name?: string;
6
+ slug?: string;
7
+ status?: ERoomStatus;
8
+ }
9
+ //# sourceMappingURL=room.query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"room.query.d.ts","sourceRoot":"","sources":["../../../../src/modules/roomModule/query/room.query.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C,qBAAa,SAAU,SAAQ,SAAS,CAAC,UAAU,CAAC;IAIlD,IAAI,CAAC,EAAE,MAAM,CAAC;IAKd,IAAI,CAAC,EAAE,MAAM,CAAC;IAKd,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RoomQuery = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_validator_1 = require("class-validator");
15
+ const pagination_1 = require("../../../common/pagination");
16
+ const ERoomStatus_enum_1 = require("../enum/ERoomStatus.enum");
17
+ class RoomQuery extends pagination_1.BaseQuery {
18
+ name;
19
+ slug;
20
+ status;
21
+ }
22
+ exports.RoomQuery = RoomQuery;
23
+ __decorate([
24
+ (0, swagger_1.ApiPropertyOptional)({ description: "Partial match" }),
25
+ (0, class_validator_1.IsOptional)(),
26
+ (0, class_validator_1.IsString)(),
27
+ __metadata("design:type", String)
28
+ ], RoomQuery.prototype, "name", void 0);
29
+ __decorate([
30
+ (0, swagger_1.ApiPropertyOptional)({ description: "Exact match" }),
31
+ (0, class_validator_1.IsOptional)(),
32
+ (0, class_validator_1.IsString)(),
33
+ __metadata("design:type", String)
34
+ ], RoomQuery.prototype, "slug", void 0);
35
+ __decorate([
36
+ (0, swagger_1.ApiPropertyOptional)({ enum: ERoomStatus_enum_1.ERoomStatus }),
37
+ (0, class_validator_1.IsOptional)(),
38
+ (0, class_validator_1.IsEnum)(ERoomStatus_enum_1.ERoomStatus),
39
+ __metadata("design:type", String)
40
+ ], RoomQuery.prototype, "status", void 0);
@@ -0,0 +1,10 @@
1
+ import { BasePaginationService, PaginatedResult } from "../../../common/pagination";
2
+ import { RoomEntity } from "../room.entity";
3
+ import { RoomRepository } from "../room.repository";
4
+ import { RoomQuery } from "./room.query";
5
+ export declare class RoomQueryService extends BasePaginationService {
6
+ private readonly _repository;
7
+ constructor(_repository: RoomRepository);
8
+ findPaginated(query: RoomQuery, appId: string): Promise<PaginatedResult<RoomEntity>>;
9
+ }
10
+ //# sourceMappingURL=room.query.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"room.query.service.d.ts","sourceRoot":"","sources":["../../../../src/modules/roomModule/query/room.query.service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,eAAe,EAChB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,qBACa,gBAAiB,SAAQ,qBAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,cAAc;IAIxD,aAAa,CACX,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;CAuBxC"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RoomQueryService = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const pagination_1 = require("../../../common/pagination");
15
+ const room_entity_1 = require("../room.entity");
16
+ const room_repository_1 = require("../room.repository");
17
+ let RoomQueryService = class RoomQueryService extends pagination_1.BasePaginationService {
18
+ _repository;
19
+ constructor(_repository) {
20
+ super();
21
+ this._repository = _repository;
22
+ }
23
+ findPaginated(query, appId) {
24
+ const alias = room_entity_1.RoomEntity.entityName();
25
+ const qb = this._repository.createQueryBuilder(alias);
26
+ qb.where(`${alias}.deletedAt IS NULL`);
27
+ qb.andWhere(`${alias}.appId = :appId`, { appId });
28
+ if (query.name) {
29
+ qb.andWhere(`${alias}.name ILIKE :name`, { name: `%${query.name}%` });
30
+ }
31
+ if (query.slug) {
32
+ qb.andWhere(`${alias}.slug = :slug`, { slug: query.slug });
33
+ }
34
+ if (query.status) {
35
+ qb.andWhere(`${alias}.status = :status`, { status: query.status });
36
+ }
37
+ qb.orderBy(`${alias}.createdAt`, "ASC");
38
+ return this.paginate(qb, query);
39
+ }
40
+ };
41
+ exports.RoomQueryService = RoomQueryService;
42
+ exports.RoomQueryService = RoomQueryService = __decorate([
43
+ (0, common_1.Injectable)(),
44
+ __metadata("design:paramtypes", [room_repository_1.RoomRepository])
45
+ ], RoomQueryService);
@@ -0,0 +1,17 @@
1
+ import { BaseTimeEntity } from "../../common/entities/base.entity";
2
+ import { PlatformAppEntity } from "../platformAppModule/platformApp.entity";
3
+ import { ERoomStatus } from "./enum/ERoomStatus.enum";
4
+ export declare class RoomEntity extends BaseTimeEntity {
5
+ static entityName(): string;
6
+ roomId: string;
7
+ generateId(): void;
8
+ appId: string;
9
+ slug: string;
10
+ name: string;
11
+ description?: string | null;
12
+ status: ERoomStatus;
13
+ topics?: string[] | null;
14
+ metadata?: Record<string, unknown> | null;
15
+ app: PlatformAppEntity;
16
+ }
17
+ //# sourceMappingURL=room.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"room.entity.d.ts","sourceRoot":"","sources":["../../../src/modules/roomModule/room.entity.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AActD,qBAGa,UAAW,SAAQ,cAAc;IAC5C,MAAM,CAAC,UAAU;IAKjB,MAAM,EAAE,MAAM,CAAC;IAGf,UAAU;IAMV,KAAK,EAAE,MAAM,CAAC;IAId,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,MAAM,CAAC;IAGb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAQ5B,MAAM,EAAE,WAAW,CAAC;IASpB,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAGzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAK1C,GAAG,EAAG,iBAAiB,CAAC;CACzB"}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RoomEntity = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const base_entity_1 = require("../../common/entities/base.entity");
15
+ const guid_1 = require("../../utils/guid");
16
+ const platformApp_entity_1 = require("../platformAppModule/platformApp.entity");
17
+ const ERoomStatus_enum_1 = require("./enum/ERoomStatus.enum");
18
+ const entityName = "room";
19
+ let RoomEntity = class RoomEntity extends base_entity_1.BaseTimeEntity {
20
+ static entityName() {
21
+ return entityName;
22
+ }
23
+ roomId;
24
+ generateId() {
25
+ this.roomId = (0, guid_1.generateDBUuid)();
26
+ }
27
+ appId;
28
+ slug;
29
+ name;
30
+ description;
31
+ status;
32
+ topics;
33
+ metadata;
34
+ app;
35
+ };
36
+ exports.RoomEntity = RoomEntity;
37
+ __decorate([
38
+ (0, typeorm_1.PrimaryColumn)({ type: "uuid", name: "room_id" }),
39
+ __metadata("design:type", String)
40
+ ], RoomEntity.prototype, "roomId", void 0);
41
+ __decorate([
42
+ (0, typeorm_1.BeforeInsert)(),
43
+ __metadata("design:type", Function),
44
+ __metadata("design:paramtypes", []),
45
+ __metadata("design:returntype", void 0)
46
+ ], RoomEntity.prototype, "generateId", null);
47
+ __decorate([
48
+ (0, typeorm_1.Column)({ type: "uuid", name: "app_id" }),
49
+ (0, typeorm_1.Index)(),
50
+ __metadata("design:type", String)
51
+ ], RoomEntity.prototype, "appId", void 0);
52
+ __decorate([
53
+ (0, typeorm_1.Column)({ type: "varchar", length: 100, name: "slug" }),
54
+ __metadata("design:type", String)
55
+ ], RoomEntity.prototype, "slug", void 0);
56
+ __decorate([
57
+ (0, typeorm_1.Column)({ type: "varchar", length: 255, name: "name" }),
58
+ __metadata("design:type", String)
59
+ ], RoomEntity.prototype, "name", void 0);
60
+ __decorate([
61
+ (0, typeorm_1.Column)({ type: "text", nullable: true, name: "description" }),
62
+ __metadata("design:type", Object)
63
+ ], RoomEntity.prototype, "description", void 0);
64
+ __decorate([
65
+ (0, typeorm_1.Column)({
66
+ type: "varchar",
67
+ length: 50,
68
+ default: ERoomStatus_enum_1.ERoomStatus.Active,
69
+ name: "status",
70
+ }),
71
+ __metadata("design:type", String)
72
+ ], RoomEntity.prototype, "status", void 0);
73
+ __decorate([
74
+ (0, typeorm_1.Column)({ type: "jsonb", nullable: true, name: "topics" }),
75
+ __metadata("design:type", Object)
76
+ ], RoomEntity.prototype, "topics", void 0);
77
+ __decorate([
78
+ (0, typeorm_1.Column)({ type: "jsonb", nullable: true, name: "metadata" }),
79
+ __metadata("design:type", Object)
80
+ ], RoomEntity.prototype, "metadata", void 0);
81
+ __decorate([
82
+ (0, typeorm_1.ManyToOne)(() => platformApp_entity_1.PlatformAppEntity, { onDelete: "CASCADE" }),
83
+ (0, typeorm_1.JoinColumn)({ name: "app_id" }),
84
+ __metadata("design:type", platformApp_entity_1.PlatformAppEntity)
85
+ ], RoomEntity.prototype, "app", void 0);
86
+ exports.RoomEntity = RoomEntity = __decorate([
87
+ (0, typeorm_1.Entity)(entityName),
88
+ (0, typeorm_1.Index)(["appId", "slug"], { unique: true, where: '"deleted_at" IS NULL' }),
89
+ (0, typeorm_1.Index)(["appId", "status"])
90
+ ], RoomEntity);
@@ -0,0 +1,30 @@
1
+ import { DataSource, EntityManager, UpdateResult } from "typeorm";
2
+ import { PaginatedResult } from "../../common/pagination";
3
+ import { RoomCreateDto, RoomPatchDto } from "./dto/room.dto";
4
+ import { RoomEntity } from "./room.entity";
5
+ import { RoomService } from "./room.service";
6
+ import { RoomQuery } from "./query/room.query";
7
+ import { RoomQueryService } from "./query/room.query.service";
8
+ export declare class RoomFacade {
9
+ private readonly _service;
10
+ private readonly _queryService;
11
+ private readonly _dataSource;
12
+ private readonly _logger;
13
+ constructor(_service: RoomService, _queryService: RoomQueryService, _dataSource: DataSource);
14
+ list(appId: string, query: RoomQuery): Promise<PaginatedResult<RoomEntity>>;
15
+ listAll(appId: string): Promise<RoomEntity[]>;
16
+ getRoom(roomId: string, appId: string): Promise<RoomEntity>;
17
+ getRoomBySlug(slug: string, appId: string): Promise<RoomEntity>;
18
+ createRoom(appId: string, data: RoomCreateDto): Promise<RoomEntity>;
19
+ ensureRoom(appId: string, data: RoomCreateDto, maxRooms?: number): Promise<RoomEntity>;
20
+ updateRoom(roomId: string, appId: string, data: RoomPatchDto): Promise<RoomEntity>;
21
+ deleteRoom(roomId: string, appId: string): Promise<UpdateResult>;
22
+ createStaticRoomsFromConfig(appId: string, rooms: Array<{
23
+ slug: string;
24
+ name: string;
25
+ description?: string;
26
+ topics?: string[];
27
+ }>, manager?: EntityManager): Promise<RoomEntity[]>;
28
+ private _generateSlug;
29
+ }
30
+ //# sourceMappingURL=room.facade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"room.facade.d.ts","sourceRoot":"","sources":["../../../src/modules/roomModule/room.facade.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAO1D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAgC9D,qBACa,UAAU;IAInB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAN9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;gBAGpC,QAAQ,EAAE,WAAW,EACrB,aAAa,EAAE,gBAAgB,EAE/B,WAAW,EAAE,UAAU;IAG1C,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IAI3E,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIvC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAU3D,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAiBrE,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;IA8C7D,UAAU,CACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,aAAa,EACnB,QAAQ,SAAmB,GAC1B,OAAO,CAAC,UAAU,CAAC;IA4BtB,UAAU,CACR,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,UAAU,CAAC;IAatB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAsBhE,2BAA2B,CACzB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC,EACF,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,UAAU,EAAE,CAAC;IASxB,OAAO,CAAC,aAAa;CAOtB"}
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var RoomFacade_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.RoomFacade = void 0;
17
+ const typeorm_1 = require("@nestjs/typeorm");
18
+ const common_1 = require("@nestjs/common");
19
+ const typeorm_2 = require("typeorm");
20
+ const exceptions_1 = require("../../utils/exceptions");
21
+ const platformApp_entity_1 = require("../platformAppModule/platformApp.entity");
22
+ const room_service_1 = require("./room.service");
23
+ const room_query_service_1 = require("./query/room.query.service");
24
+ const DEFAULT_ROOM_CAP = 1000;
25
+ const WEBRTC_TOPICS = [
26
+ "webrtc:offer",
27
+ "webrtc:answer",
28
+ "webrtc:candidate",
29
+ "webrtc:state",
30
+ ];
31
+ let RoomFacade = RoomFacade_1 = class RoomFacade {
32
+ _service;
33
+ _queryService;
34
+ _dataSource;
35
+ _logger = new common_1.Logger(RoomFacade_1.name);
36
+ constructor(_service, _queryService, _dataSource) {
37
+ this._service = _service;
38
+ this._queryService = _queryService;
39
+ this._dataSource = _dataSource;
40
+ }
41
+ list(appId, query) {
42
+ return this._queryService.findPaginated(query, appId);
43
+ }
44
+ listAll(appId) {
45
+ return this._service.listByAppId(appId);
46
+ }
47
+ async getRoom(roomId, appId) {
48
+ const room = await this._service.findByIdAndApp(roomId, appId);
49
+ if (!room) {
50
+ throw (0, exceptions_1.notFoundException)(this._logger, {
51
+ errorMsgUser: `Room ${roomId} not found`,
52
+ });
53
+ }
54
+ return room;
55
+ }
56
+ async getRoomBySlug(slug, appId) {
57
+ const room = await this._service.findBySlugAndApp(slug, appId);
58
+ if (!room) {
59
+ throw (0, exceptions_1.notFoundException)(this._logger, {
60
+ errorMsgUser: `Room "${slug}" not found`,
61
+ });
62
+ }
63
+ return room;
64
+ }
65
+ createRoom(appId, data) {
66
+ return this._dataSource.transaction(async (manager) => {
67
+ const slug = data.slug ?? this._generateSlug(data.name);
68
+ const exists = await this._service.slugExists(slug, appId, manager);
69
+ if (exists) {
70
+ throw (0, exceptions_1.conflictException)(this._logger, {
71
+ errorMsgUser: `Room with slug "${slug}" already exists`,
72
+ });
73
+ }
74
+ let topics = data.topics;
75
+ if (!topics || topics.length === 0) {
76
+ const app = await manager.findOne(platformApp_entity_1.PlatformAppEntity, {
77
+ where: { appId },
78
+ select: ["topics"],
79
+ });
80
+ topics = app?.topics ?? undefined;
81
+ }
82
+ if (data.enableWebRTC) {
83
+ topics = [...new Set([...(topics ?? []), ...WEBRTC_TOPICS])];
84
+ }
85
+ return this._service.createRoom(appId, { ...data, slug, topics }, manager);
86
+ });
87
+ }
88
+ async ensureRoom(appId, data, maxRooms = DEFAULT_ROOM_CAP) {
89
+ const slug = data.slug ?? this._generateSlug(data.name);
90
+ const existing = await this._service.findBySlugAndApp(slug, appId);
91
+ if (existing) {
92
+ return existing;
93
+ }
94
+ const count = await this._service.countByAppId(appId);
95
+ if (count >= maxRooms) {
96
+ throw (0, exceptions_1.badRequestException)(this._logger, {
97
+ errorMsgUser: `App ${appId} has reached its room cap (${maxRooms})`,
98
+ });
99
+ }
100
+ try {
101
+ return await this.createRoom(appId, { ...data, slug });
102
+ }
103
+ catch (error) {
104
+ const raced = await this._service.findBySlugAndApp(slug, appId);
105
+ if (raced) {
106
+ return raced;
107
+ }
108
+ throw error;
109
+ }
110
+ }
111
+ updateRoom(roomId, appId, data) {
112
+ return this._dataSource.transaction(async (manager) => {
113
+ const existing = await this._service.updateLock(roomId, appId, manager);
114
+ if (!existing) {
115
+ throw (0, exceptions_1.notFoundException)(this._logger, {
116
+ errorMsgUser: `Room ${roomId} not found`,
117
+ });
118
+ }
119
+ return this._service.patchRoom(roomId, appId, data, manager);
120
+ });
121
+ }
122
+ deleteRoom(roomId, appId) {
123
+ return this._dataSource.transaction(async (manager) => {
124
+ const existing = await this._service.updateLock(roomId, appId, manager);
125
+ if (!existing) {
126
+ throw (0, exceptions_1.notFoundException)(this._logger, {
127
+ errorMsgUser: `Room ${roomId} not found`,
128
+ });
129
+ }
130
+ return this._service.removeRoom(roomId, appId, manager);
131
+ });
132
+ }
133
+ createStaticRoomsFromConfig(appId, rooms, manager) {
134
+ if (manager) {
135
+ return this._service.createStaticRooms(appId, rooms, manager);
136
+ }
137
+ return this._dataSource.transaction((m) => this._service.createStaticRooms(appId, rooms, m));
138
+ }
139
+ _generateSlug(name) {
140
+ return name
141
+ .toLowerCase()
142
+ .trim()
143
+ .replace(/[^a-z0-9]+/g, "-")
144
+ .replace(/^-+|-+$/g, "");
145
+ }
146
+ };
147
+ exports.RoomFacade = RoomFacade;
148
+ exports.RoomFacade = RoomFacade = RoomFacade_1 = __decorate([
149
+ (0, common_1.Injectable)(),
150
+ __param(2, (0, typeorm_1.InjectDataSource)()),
151
+ __metadata("design:paramtypes", [room_service_1.RoomService,
152
+ room_query_service_1.RoomQueryService,
153
+ typeorm_2.DataSource])
154
+ ], RoomFacade);
@@ -0,0 +1,3 @@
1
+ export declare class RoomModule {
2
+ }
3
+ //# sourceMappingURL=room.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"room.module.d.ts","sourceRoot":"","sources":["../../../src/modules/roomModule/room.module.ts"],"names":[],"mappings":"AAYA,qBAea,UAAU;CAAG"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.RoomModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const typeorm_1 = require("@nestjs/typeorm");
12
+ const platformApp_entity_1 = require("../platformAppModule/platformApp.entity");
13
+ const room_entity_1 = require("./room.entity");
14
+ const room_facade_1 = require("./room.facade");
15
+ const room_repository_1 = require("./room.repository");
16
+ const room_service_1 = require("./room.service");
17
+ const roomActorAccess_entity_1 = require("./roomActorAccess.entity");
18
+ const roomActorAccess_facade_1 = require("./roomActorAccess.facade");
19
+ const roomActorAccess_repository_1 = require("./roomActorAccess.repository");
20
+ const room_query_service_1 = require("./query/room.query.service");
21
+ let RoomModule = class RoomModule {
22
+ };
23
+ exports.RoomModule = RoomModule;
24
+ exports.RoomModule = RoomModule = __decorate([
25
+ (0, common_1.Module)({
26
+ imports: [
27
+ typeorm_1.TypeOrmModule.forFeature([room_entity_1.RoomEntity, roomActorAccess_entity_1.RoomActorAccessEntity, platformApp_entity_1.PlatformAppEntity]),
28
+ ],
29
+ providers: [
30
+ room_service_1.RoomService,
31
+ room_query_service_1.RoomQueryService,
32
+ room_facade_1.RoomFacade,
33
+ roomActorAccess_facade_1.RoomActorAccessFacade,
34
+ room_repository_1.RoomRepository,
35
+ roomActorAccess_repository_1.RoomActorAccessRepository,
36
+ ],
37
+ exports: [room_facade_1.RoomFacade, roomActorAccess_facade_1.RoomActorAccessFacade],
38
+ })
39
+ ], RoomModule);
@@ -0,0 +1,10 @@
1
+ import { Repository } from "typeorm";
2
+ import { RoomEntity } from "./room.entity";
3
+ export declare class RoomRepository extends Repository<RoomEntity> {
4
+ constructor(repository: Repository<RoomEntity>);
5
+ findByAppId(appId: string): Promise<RoomEntity[]>;
6
+ findByIdAndApp(roomId: string, appId: string): Promise<RoomEntity | null>;
7
+ findBySlugAndApp(slug: string, appId: string): Promise<RoomEntity | null>;
8
+ slugExists(slug: string, appId: string): Promise<boolean>;
9
+ }
10
+ //# sourceMappingURL=room.repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"room.repository.d.ts","sourceRoot":"","sources":["../../../src/modules/roomModule/room.repository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,qBACa,cAAe,SAAQ,UAAU,CAAC,UAAU,CAAC;gBAOtD,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC;IAKpC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAOjD,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAIzE,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAInE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAMhE"}