@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,23 @@
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.ProjectConfigModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const signingKey_module_1 = require("../signingKeyModule/signingKey.module");
12
+ const projectConfig_facade_1 = require("./projectConfig.facade");
13
+ const projectConfig_service_1 = require("./projectConfig.service");
14
+ let ProjectConfigModule = class ProjectConfigModule {
15
+ };
16
+ exports.ProjectConfigModule = ProjectConfigModule;
17
+ exports.ProjectConfigModule = ProjectConfigModule = __decorate([
18
+ (0, common_1.Module)({
19
+ imports: [signingKey_module_1.SigningKeyModule],
20
+ providers: [projectConfig_service_1.ProjectConfigService, projectConfig_facade_1.ProjectConfigFacade],
21
+ exports: [projectConfig_facade_1.ProjectConfigFacade],
22
+ })
23
+ ], ProjectConfigModule);
@@ -0,0 +1,12 @@
1
+ import { EntityManager } from "typeorm";
2
+ import { SigningKeyFacade } from "../signingKeyModule/signingKey.facade";
3
+ import { ImportedCredentials, ProjectConfigDocDto } from "./dto/projectConfig.dto";
4
+ export declare class ProjectConfigService {
5
+ private readonly _signingKeyFacade;
6
+ private readonly _logger;
7
+ constructor(_signingKeyFacade: SigningKeyFacade);
8
+ importProject(doc: ProjectConfigDocDto, manager: EntityManager): Promise<ImportedCredentials>;
9
+ private _assertUniqueSlugs;
10
+ exportProject(projectId: string, manager: EntityManager): Promise<ProjectConfigDocDto>;
11
+ }
12
+ //# sourceMappingURL=projectConfig.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectConfig.service.d.ts","sourceRoot":"","sources":["../../../src/modules/projectConfigModule/projectConfig.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAU,MAAM,SAAS,CAAC;AAoBhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE,OAAO,EAGL,mBAAmB,EAEnB,mBAAmB,EAEpB,MAAM,yBAAyB,CAAC;AAWjC,qBACa,oBAAoB;IAGnB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAF9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyC;gBAEpC,iBAAiB,EAAE,gBAAgB;IAW1D,aAAa,CACjB,GAAG,EAAE,mBAAmB,EACxB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,mBAAmB,CAAC;IAiP/B,OAAO,CAAC,kBAAkB;IAmDpB,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,mBAAmB,CAAC;CA+LhC"}
@@ -0,0 +1,411 @@
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 ProjectConfigService_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.ProjectConfigService = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const typeorm_1 = require("typeorm");
16
+ const actorAppAccess_entity_1 = require("../actorTokenModule/actorAppAccess.entity");
17
+ const actorToken_entity_1 = require("../actorTokenModule/actorToken.entity");
18
+ const EActorTokenPrefix_enum_1 = require("../actorTokenModule/enum/EActorTokenPrefix.enum");
19
+ const EActorTokenStatus_enum_1 = require("../actorTokenModule/enum/EActorTokenStatus.enum");
20
+ const secretHash_1 = require("../../common/utils/secretHash");
21
+ const accessScope_entity_1 = require("../accessScopeModule/accessScope.entity");
22
+ const lobby_entity_1 = require("../lobbyModule/lobby.entity");
23
+ const lobbyRoom_entity_1 = require("../lobbyModule/lobbyRoom.entity");
24
+ const EAppAccessMode_enum_1 = require("../platformAppModule/enum/EAppAccessMode.enum");
25
+ const EAppStatus_enum_1 = require("../platformAppModule/enum/EAppStatus.enum");
26
+ const platformApp_entity_1 = require("../platformAppModule/platformApp.entity");
27
+ const project_entity_1 = require("../projectModule/project.entity");
28
+ const ERoomStatus_enum_1 = require("../roomModule/enum/ERoomStatus.enum");
29
+ const room_entity_1 = require("../roomModule/room.entity");
30
+ const roomActorAccess_entity_1 = require("../roomModule/roomActorAccess.entity");
31
+ const signingKey_entity_1 = require("../signingKeyModule/signingKey.entity");
32
+ const signingKey_facade_1 = require("../signingKeyModule/signingKey.facade");
33
+ const exceptions_1 = require("../../utils/exceptions");
34
+ const DOC_VERSION = 1;
35
+ let ProjectConfigService = ProjectConfigService_1 = class ProjectConfigService {
36
+ _signingKeyFacade;
37
+ _logger = new common_1.Logger(ProjectConfigService_1.name);
38
+ constructor(_signingKeyFacade) {
39
+ this._signingKeyFacade = _signingKeyFacade;
40
+ }
41
+ async importProject(doc, manager) {
42
+ if (doc.version !== DOC_VERSION) {
43
+ throw (0, exceptions_1.badRequestException)(this._logger, {
44
+ errorMsgUser: `Unsupported document version. Expected ${DOC_VERSION}.`,
45
+ errorMsgSystem: `Got version ${doc.version}`,
46
+ });
47
+ }
48
+ this._assertUniqueSlugs(doc);
49
+ const project = await manager.save(project_entity_1.ProjectEntity, Object.assign(new project_entity_1.ProjectEntity(), {
50
+ name: doc.project.name,
51
+ description: doc.project.description ?? null,
52
+ organizationId: doc.project.organizationId ?? null,
53
+ maxConnections: doc.project.limits?.maxConnections ?? null,
54
+ maxMessageSizeBytes: doc.project.limits?.maxMessageSizeBytes ?? null,
55
+ sessionExpirySeconds: doc.project.limits?.sessionExpirySeconds ?? null,
56
+ limitsSyncedAt: doc.project.limits ? new Date() : null,
57
+ }));
58
+ const scopeIdBySlug = new Map();
59
+ for (const scope of doc.accessScopes ?? []) {
60
+ const saved = await manager.save(accessScope_entity_1.AccessScopeEntity, Object.assign(new accessScope_entity_1.AccessScopeEntity(), {
61
+ projectId: project.projectId,
62
+ slug: scope.slug,
63
+ name: scope.name,
64
+ description: scope.description ?? null,
65
+ metadata: scope.metadata ?? null,
66
+ isActive: scope.isActive ?? true,
67
+ }));
68
+ scopeIdBySlug.set(scope.slug, saved.accessScopeId);
69
+ }
70
+ const appIdBySlug = new Map();
71
+ const roomIdByAppAndSlug = new Map();
72
+ for (const app of doc.apps ?? []) {
73
+ const savedApp = await manager.save(platformApp_entity_1.PlatformAppEntity, Object.assign(new platformApp_entity_1.PlatformAppEntity(), {
74
+ projectId: project.projectId,
75
+ slug: app.slug,
76
+ name: app.name,
77
+ description: app.description ?? null,
78
+ status: app.status ?? EAppStatus_enum_1.EAppStatus.Active,
79
+ accessMode: app.accessMode ?? EAppAccessMode_enum_1.EAppAccessMode.Open,
80
+ topics: app.topics,
81
+ topicConfigs: app.topicConfigs ?? null,
82
+ hydrationWebhook: app.hydrationWebhook ?? null,
83
+ triggerWebhook: app.triggerWebhook ?? null,
84
+ }));
85
+ appIdBySlug.set(app.slug, savedApp.appId);
86
+ for (const room of app.rooms ?? []) {
87
+ const savedRoom = await manager.save(room_entity_1.RoomEntity, Object.assign(new room_entity_1.RoomEntity(), {
88
+ appId: savedApp.appId,
89
+ slug: room.slug,
90
+ name: room.name,
91
+ description: room.description ?? null,
92
+ status: room.status ?? ERoomStatus_enum_1.ERoomStatus.Active,
93
+ topics: room.topics ?? null,
94
+ metadata: room.metadata ?? null,
95
+ }));
96
+ roomIdByAppAndSlug.set(`${app.slug}/${room.slug}`, savedRoom.roomId);
97
+ for (const grant of room.typeGrants ?? []) {
98
+ await manager.save(roomActorAccess_entity_1.RoomActorAccessEntity, Object.assign(new roomActorAccess_entity_1.RoomActorAccessEntity(), {
99
+ roomId: savedRoom.roomId,
100
+ actorTokenId: null,
101
+ actorType: grant.actorType,
102
+ permission: grant.permission,
103
+ topics: grant.topics ?? null,
104
+ isActive: grant.isActive ?? true,
105
+ expiresAt: null,
106
+ }));
107
+ }
108
+ }
109
+ for (const lobby of app.lobbies ?? []) {
110
+ const savedLobby = await manager.save(lobby_entity_1.LobbyEntity, Object.assign(new lobby_entity_1.LobbyEntity(), {
111
+ appId: savedApp.appId,
112
+ slug: lobby.slug,
113
+ name: lobby.name,
114
+ description: lobby.description ?? null,
115
+ metadata: lobby.metadata ?? null,
116
+ }));
117
+ for (const roomSlug of lobby.rooms) {
118
+ const roomId = roomIdByAppAndSlug.get(`${app.slug}/${roomSlug}`);
119
+ if (!roomId) {
120
+ throw (0, exceptions_1.badRequestException)(this._logger, {
121
+ errorMsgUser: `Lobby "${lobby.slug}" references unknown room "${roomSlug}"`,
122
+ });
123
+ }
124
+ await manager.save(lobbyRoom_entity_1.LobbyRoomEntity, Object.assign(new lobbyRoom_entity_1.LobbyRoomEntity(), {
125
+ lobbyId: savedLobby.lobbyId,
126
+ roomId,
127
+ }));
128
+ }
129
+ }
130
+ }
131
+ const credentials = {
132
+ projectId: project.projectId,
133
+ actors: [],
134
+ signingKeys: [],
135
+ };
136
+ for (const actor of doc.actors ?? []) {
137
+ let accessScopeId = null;
138
+ if (actor.scopeSlug) {
139
+ accessScopeId = scopeIdBySlug.get(actor.scopeSlug) ?? null;
140
+ if (!accessScopeId) {
141
+ throw (0, exceptions_1.badRequestException)(this._logger, {
142
+ errorMsgUser: `Actor "${actor.ref}" references unknown scope "${actor.scopeSlug}"`,
143
+ });
144
+ }
145
+ }
146
+ const credential = (0, secretHash_1.generateCredential)(EActorTokenPrefix_enum_1.EActorTokenPrefix.Live);
147
+ const savedActor = await manager.save(actorToken_entity_1.ActorTokenEntity, Object.assign(new actorToken_entity_1.ActorTokenEntity(), {
148
+ projectId: project.projectId,
149
+ keyId: credential.keyId,
150
+ secretHash: credential.secretHash,
151
+ name: actor.name,
152
+ actorType: actor.actorType,
153
+ status: actor.status ?? EActorTokenStatus_enum_1.EActorTokenStatus.Active,
154
+ expiresAt: actor.expiresAt ? new Date(actor.expiresAt) : null,
155
+ metadata: actor.metadata ?? null,
156
+ accessScopeId,
157
+ }));
158
+ credentials.actors.push({
159
+ ref: actor.ref,
160
+ keyId: credential.keyId,
161
+ accessToken: credential.credential,
162
+ });
163
+ for (const grant of actor.appAccess ?? []) {
164
+ const appId = appIdBySlug.get(grant.appSlug);
165
+ if (!appId) {
166
+ throw (0, exceptions_1.badRequestException)(this._logger, {
167
+ errorMsgUser: `Actor "${actor.ref}" references unknown app "${grant.appSlug}"`,
168
+ });
169
+ }
170
+ await manager.save(actorAppAccess_entity_1.ActorAppAccessEntity, Object.assign(new actorAppAccess_entity_1.ActorAppAccessEntity(), {
171
+ actorTokenId: savedActor.actorTokenId,
172
+ appId,
173
+ permission: grant.permission,
174
+ topics: grant.topics ?? null,
175
+ isActive: grant.isActive ?? true,
176
+ expiresAt: grant.expiresAt ? new Date(grant.expiresAt) : null,
177
+ }));
178
+ }
179
+ for (const grant of actor.roomAccess ?? []) {
180
+ const roomId = roomIdByAppAndSlug.get(`${grant.appSlug}/${grant.roomSlug}`);
181
+ if (!roomId) {
182
+ throw (0, exceptions_1.badRequestException)(this._logger, {
183
+ errorMsgUser: `Actor "${actor.ref}" references unknown room "${grant.appSlug}/${grant.roomSlug}"`,
184
+ });
185
+ }
186
+ await manager.save(roomActorAccess_entity_1.RoomActorAccessEntity, Object.assign(new roomActorAccess_entity_1.RoomActorAccessEntity(), {
187
+ roomId,
188
+ actorTokenId: savedActor.actorTokenId,
189
+ actorType: null,
190
+ permission: grant.permission,
191
+ topics: grant.topics ?? null,
192
+ isActive: grant.isActive ?? true,
193
+ expiresAt: grant.expiresAt ? new Date(grant.expiresAt) : null,
194
+ role: grant.role ?? null,
195
+ }));
196
+ }
197
+ }
198
+ for (const key of doc.signingKeys ?? []) {
199
+ const generated = this._signingKeyFacade.generateSigningKey();
200
+ await manager.save(signingKey_entity_1.SigningKeyEntity, Object.assign(new signingKey_entity_1.SigningKeyEntity(), {
201
+ projectId: project.projectId,
202
+ keyId: generated.keyId,
203
+ secretEncrypted: this._signingKeyFacade.encryptForStorage(generated.secret),
204
+ name: key.name,
205
+ }));
206
+ credentials.signingKeys.push({
207
+ ref: key.ref,
208
+ keyId: generated.keyId,
209
+ signingKey: generated.signingKey,
210
+ });
211
+ }
212
+ this._logger.log(`Imported project ${project.projectId}: ` +
213
+ `${doc.apps?.length ?? 0} apps, ${credentials.actors.length} actors`);
214
+ return credentials;
215
+ }
216
+ _assertUniqueSlugs(doc) {
217
+ const check = (label, values) => {
218
+ const seen = new Set();
219
+ for (const value of values) {
220
+ if (seen.has(value)) {
221
+ throw (0, exceptions_1.badRequestException)(this._logger, {
222
+ errorMsgUser: `Duplicate ${label} "${value}"`,
223
+ });
224
+ }
225
+ seen.add(value);
226
+ }
227
+ };
228
+ check("access scope slug", (doc.accessScopes ?? []).map((s) => s.slug));
229
+ check("app slug", (doc.apps ?? []).map((a) => a.slug));
230
+ check("actor ref", (doc.actors ?? []).map((a) => a.ref));
231
+ check("signing key ref", (doc.signingKeys ?? []).map((k) => k.ref));
232
+ for (const app of doc.apps ?? []) {
233
+ check(`room slug in app "${app.slug}"`, (app.rooms ?? []).map((r) => r.slug));
234
+ check(`lobby slug in app "${app.slug}"`, (app.lobbies ?? []).map((l) => l.slug));
235
+ }
236
+ }
237
+ async exportProject(projectId, manager) {
238
+ const project = await manager.findOne(project_entity_1.ProjectEntity, {
239
+ where: { projectId, deletedAt: (0, typeorm_1.IsNull)() },
240
+ });
241
+ if (!project) {
242
+ throw (0, exceptions_1.notFoundException)(this._logger, {
243
+ errorMsgUser: "Project not found",
244
+ });
245
+ }
246
+ const scopes = await manager.find(accessScope_entity_1.AccessScopeEntity, {
247
+ where: { projectId, deletedAt: (0, typeorm_1.IsNull)() },
248
+ order: { slug: "ASC" },
249
+ });
250
+ const scopeSlugById = new Map(scopes.map((s) => [s.accessScopeId, s.slug]));
251
+ const apps = await manager.find(platformApp_entity_1.PlatformAppEntity, {
252
+ where: { projectId, deletedAt: (0, typeorm_1.IsNull)() },
253
+ order: { slug: "ASC" },
254
+ });
255
+ const appSlugById = new Map(apps.map((a) => [a.appId, a.slug]));
256
+ const roomRefById = new Map();
257
+ const appDocs = [];
258
+ for (const app of apps) {
259
+ const rooms = await manager.find(room_entity_1.RoomEntity, {
260
+ where: { appId: app.appId, deletedAt: (0, typeorm_1.IsNull)() },
261
+ order: { slug: "ASC" },
262
+ });
263
+ const roomDocs = [];
264
+ for (const room of rooms) {
265
+ roomRefById.set(room.roomId, {
266
+ appSlug: app.slug,
267
+ roomSlug: room.slug,
268
+ });
269
+ const grants = await manager.find(roomActorAccess_entity_1.RoomActorAccessEntity, {
270
+ where: {
271
+ roomId: room.roomId,
272
+ actorTokenId: (0, typeorm_1.IsNull)(),
273
+ deletedAt: (0, typeorm_1.IsNull)(),
274
+ },
275
+ });
276
+ roomDocs.push({
277
+ slug: room.slug,
278
+ name: room.name,
279
+ description: room.description ?? null,
280
+ status: room.status,
281
+ topics: room.topics ?? null,
282
+ metadata: room.metadata ?? null,
283
+ typeGrants: grants.map((g) => ({
284
+ actorType: g.actorType,
285
+ permission: g.permission,
286
+ topics: g.topics ?? null,
287
+ isActive: g.isActive,
288
+ })),
289
+ });
290
+ }
291
+ const lobbies = await manager.find(lobby_entity_1.LobbyEntity, {
292
+ where: { appId: app.appId, deletedAt: (0, typeorm_1.IsNull)() },
293
+ order: { slug: "ASC" },
294
+ });
295
+ const lobbyDocs = [];
296
+ for (const lobby of lobbies) {
297
+ const links = await manager.find(lobbyRoom_entity_1.LobbyRoomEntity, {
298
+ where: { lobbyId: lobby.lobbyId, deletedAt: (0, typeorm_1.IsNull)() },
299
+ });
300
+ lobbyDocs.push({
301
+ slug: lobby.slug,
302
+ name: lobby.name,
303
+ description: lobby.description ?? null,
304
+ metadata: lobby.metadata ?? null,
305
+ rooms: links
306
+ .map((l) => roomRefById.get(l.roomId)?.roomSlug)
307
+ .filter((s) => !!s)
308
+ .sort(),
309
+ });
310
+ }
311
+ appDocs.push({
312
+ slug: app.slug,
313
+ name: app.name,
314
+ description: app.description ?? null,
315
+ status: app.status,
316
+ accessMode: app.accessMode,
317
+ topics: app.topics ?? [],
318
+ topicConfigs: app.topicConfigs ?? null,
319
+ hydrationWebhook: app.hydrationWebhook ?? null,
320
+ triggerWebhook: app.triggerWebhook ?? null,
321
+ rooms: roomDocs,
322
+ lobbies: lobbyDocs,
323
+ });
324
+ }
325
+ const actors = await manager.find(actorToken_entity_1.ActorTokenEntity, {
326
+ where: { projectId, deletedAt: (0, typeorm_1.IsNull)() },
327
+ order: { keyId: "ASC" },
328
+ });
329
+ const actorDocs = [];
330
+ for (const actor of actors) {
331
+ const appGrants = await manager.find(actorAppAccess_entity_1.ActorAppAccessEntity, {
332
+ where: { actorTokenId: actor.actorTokenId, deletedAt: (0, typeorm_1.IsNull)() },
333
+ });
334
+ const roomGrants = await manager.find(roomActorAccess_entity_1.RoomActorAccessEntity, {
335
+ where: { actorTokenId: actor.actorTokenId, deletedAt: (0, typeorm_1.IsNull)() },
336
+ });
337
+ actorDocs.push({
338
+ ref: actor.keyId,
339
+ name: actor.name,
340
+ actorType: actor.actorType,
341
+ status: actor.status,
342
+ expiresAt: actor.expiresAt ? actor.expiresAt.toISOString() : null,
343
+ metadata: actor.metadata ?? null,
344
+ scopeSlug: actor.accessScopeId
345
+ ? (scopeSlugById.get(actor.accessScopeId) ?? null)
346
+ : null,
347
+ appAccess: appGrants
348
+ .map((g) => ({
349
+ appSlug: appSlugById.get(g.appId),
350
+ permission: g.permission,
351
+ topics: g.topics ?? null,
352
+ isActive: g.isActive,
353
+ expiresAt: g.expiresAt ? g.expiresAt.toISOString() : null,
354
+ }))
355
+ .filter((g) => !!g.appSlug),
356
+ roomAccess: roomGrants
357
+ .map((g) => {
358
+ const ref = roomRefById.get(g.roomId);
359
+ return ref
360
+ ? {
361
+ appSlug: ref.appSlug,
362
+ roomSlug: ref.roomSlug,
363
+ permission: g.permission,
364
+ topics: g.topics ?? null,
365
+ isActive: g.isActive,
366
+ expiresAt: g.expiresAt ? g.expiresAt.toISOString() : null,
367
+ role: g.role ?? null,
368
+ }
369
+ : null;
370
+ })
371
+ .filter((g) => g !== null),
372
+ });
373
+ }
374
+ const signingKeys = await manager.find(signingKey_entity_1.SigningKeyEntity, {
375
+ where: { projectId, deletedAt: (0, typeorm_1.IsNull)() },
376
+ order: { keyId: "ASC" },
377
+ });
378
+ return {
379
+ version: DOC_VERSION,
380
+ project: {
381
+ name: project.name,
382
+ description: project.description ?? null,
383
+ organizationId: project.organizationId,
384
+ ...(project.limitsSyncedAt
385
+ ? {
386
+ limits: {
387
+ maxConnections: project.maxConnections,
388
+ maxMessageSizeBytes: project.maxMessageSizeBytes,
389
+ sessionExpirySeconds: project.sessionExpirySeconds,
390
+ },
391
+ }
392
+ : {}),
393
+ },
394
+ accessScopes: scopes.map((s) => ({
395
+ slug: s.slug,
396
+ name: s.name,
397
+ description: s.description,
398
+ metadata: s.metadata,
399
+ isActive: s.isActive,
400
+ })),
401
+ apps: appDocs,
402
+ actors: actorDocs,
403
+ signingKeys: signingKeys.map((k) => ({ ref: k.keyId, name: k.name })),
404
+ };
405
+ }
406
+ };
407
+ exports.ProjectConfigService = ProjectConfigService;
408
+ exports.ProjectConfigService = ProjectConfigService = ProjectConfigService_1 = __decorate([
409
+ (0, common_1.Injectable)(),
410
+ __metadata("design:paramtypes", [signingKey_facade_1.SigningKeyFacade])
411
+ ], ProjectConfigService);
@@ -0,0 +1,15 @@
1
+ export declare class ProjectCreateDto {
2
+ name: string;
3
+ description?: string;
4
+ organizationId?: string;
5
+ }
6
+ export declare class ProjectPatchDto {
7
+ name?: string;
8
+ description?: string | null;
9
+ }
10
+ export declare class ProjectLimitsDto {
11
+ maxConnections?: number | null;
12
+ maxMessageSizeBytes?: number | null;
13
+ sessionExpirySeconds?: number | null;
14
+ }
15
+ //# sourceMappingURL=project.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.dto.d.ts","sourceRoot":"","sources":["../../../../src/modules/projectModule/dto/project.dto.ts"],"names":[],"mappings":"AAUA,qBAAa,gBAAgB;IAI3B,IAAI,EAAE,MAAM,CAAC;IAKb,WAAW,CAAC,EAAE,MAAM,CAAC;IASrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,eAAe;IAK1B,IAAI,CAAC,EAAE,MAAM,CAAC;IAKd,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAWD,qBAAa,gBAAgB;IAK3B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAM/B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAMpC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC"}
@@ -0,0 +1,86 @@
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.ProjectLimitsDto = exports.ProjectPatchDto = exports.ProjectCreateDto = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_validator_1 = require("class-validator");
15
+ class ProjectCreateDto {
16
+ name;
17
+ description;
18
+ organizationId;
19
+ }
20
+ exports.ProjectCreateDto = ProjectCreateDto;
21
+ __decorate([
22
+ (0, swagger_1.ApiProperty)({ example: "Demo", maxLength: 255 }),
23
+ (0, class_validator_1.IsString)(),
24
+ (0, class_validator_1.MaxLength)(255),
25
+ __metadata("design:type", String)
26
+ ], ProjectCreateDto.prototype, "name", void 0);
27
+ __decorate([
28
+ (0, swagger_1.ApiPropertyOptional)(),
29
+ (0, class_validator_1.IsOptional)(),
30
+ (0, class_validator_1.IsString)(),
31
+ __metadata("design:type", String)
32
+ ], ProjectCreateDto.prototype, "description", void 0);
33
+ __decorate([
34
+ (0, swagger_1.ApiPropertyOptional)({
35
+ description: "Opaque tenant reference. Stored and returned, never interpreted. " +
36
+ "NoLag puts an organization id here; a self-hoster can leave it unset.",
37
+ }),
38
+ (0, class_validator_1.IsOptional)(),
39
+ (0, class_validator_1.IsUUID)(),
40
+ __metadata("design:type", String)
41
+ ], ProjectCreateDto.prototype, "organizationId", void 0);
42
+ class ProjectPatchDto {
43
+ name;
44
+ description;
45
+ }
46
+ exports.ProjectPatchDto = ProjectPatchDto;
47
+ __decorate([
48
+ (0, swagger_1.ApiPropertyOptional)({ maxLength: 255 }),
49
+ (0, class_validator_1.IsOptional)(),
50
+ (0, class_validator_1.IsString)(),
51
+ (0, class_validator_1.MaxLength)(255),
52
+ __metadata("design:type", String)
53
+ ], ProjectPatchDto.prototype, "name", void 0);
54
+ __decorate([
55
+ (0, swagger_1.ApiPropertyOptional)(),
56
+ (0, class_validator_1.IsOptional)(),
57
+ (0, class_validator_1.IsString)(),
58
+ __metadata("design:type", Object)
59
+ ], ProjectPatchDto.prototype, "description", void 0);
60
+ class ProjectLimitsDto {
61
+ maxConnections;
62
+ maxMessageSizeBytes;
63
+ sessionExpirySeconds;
64
+ }
65
+ exports.ProjectLimitsDto = ProjectLimitsDto;
66
+ __decorate([
67
+ (0, swagger_1.ApiPropertyOptional)({ description: "null means unlimited" }),
68
+ (0, class_validator_1.IsOptional)(),
69
+ (0, class_validator_1.IsInt)(),
70
+ (0, class_validator_1.Min)(1),
71
+ __metadata("design:type", Object)
72
+ ], ProjectLimitsDto.prototype, "maxConnections", void 0);
73
+ __decorate([
74
+ (0, swagger_1.ApiPropertyOptional)({ description: "null means unlimited" }),
75
+ (0, class_validator_1.IsOptional)(),
76
+ (0, class_validator_1.IsInt)(),
77
+ (0, class_validator_1.Min)(1),
78
+ __metadata("design:type", Object)
79
+ ], ProjectLimitsDto.prototype, "maxMessageSizeBytes", void 0);
80
+ __decorate([
81
+ (0, swagger_1.ApiPropertyOptional)(),
82
+ (0, class_validator_1.IsOptional)(),
83
+ (0, class_validator_1.IsInt)(),
84
+ (0, class_validator_1.Min)(1),
85
+ __metadata("design:type", Object)
86
+ ], ProjectLimitsDto.prototype, "sessionExpirySeconds", void 0);
@@ -0,0 +1,14 @@
1
+ import { BaseTimeEntity } from "../../common/entities/base.entity";
2
+ export declare class ProjectEntity extends BaseTimeEntity {
3
+ static entityName(): string;
4
+ projectId: string;
5
+ generateId(): void;
6
+ organizationId: string | null;
7
+ name: string;
8
+ description?: string | null;
9
+ maxConnections: number | null;
10
+ maxMessageSizeBytes: number | null;
11
+ sessionExpirySeconds: number | null;
12
+ limitsSyncedAt: Date | null;
13
+ }
14
+ //# sourceMappingURL=project.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.entity.d.ts","sourceRoot":"","sources":["../../../src/modules/projectModule/project.entity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAwBnE,qBACa,aAAc,SAAQ,cAAc;IAC/C,MAAM,CAAC,UAAU;IAKjB,SAAS,EAAE,MAAM,CAAC;IAGlB,UAAU;IASV,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAG9B,IAAI,EAAE,MAAM,CAAC;IAGb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAa5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAI9B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IAInC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IAWpC,cAAc,EAAE,IAAI,GAAG,IAAI,CAAC;CAC7B"}
@@ -0,0 +1,74 @@
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.ProjectEntity = 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 entityName = "project";
17
+ let ProjectEntity = class ProjectEntity extends base_entity_1.BaseTimeEntity {
18
+ static entityName() {
19
+ return entityName;
20
+ }
21
+ projectId;
22
+ generateId() {
23
+ this.projectId = (0, guid_1.generateDBUuid)();
24
+ }
25
+ organizationId;
26
+ name;
27
+ description;
28
+ maxConnections;
29
+ maxMessageSizeBytes;
30
+ sessionExpirySeconds;
31
+ limitsSyncedAt;
32
+ };
33
+ exports.ProjectEntity = ProjectEntity;
34
+ __decorate([
35
+ (0, typeorm_1.PrimaryColumn)({ type: "uuid", name: "project_id" }),
36
+ __metadata("design:type", String)
37
+ ], ProjectEntity.prototype, "projectId", void 0);
38
+ __decorate([
39
+ (0, typeorm_1.BeforeInsert)(),
40
+ __metadata("design:type", Function),
41
+ __metadata("design:paramtypes", []),
42
+ __metadata("design:returntype", void 0)
43
+ ], ProjectEntity.prototype, "generateId", null);
44
+ __decorate([
45
+ (0, typeorm_1.Column)({ type: "uuid", nullable: true, name: "organization_id" }),
46
+ __metadata("design:type", Object)
47
+ ], ProjectEntity.prototype, "organizationId", void 0);
48
+ __decorate([
49
+ (0, typeorm_1.Column)({ type: "varchar", length: 255, name: "name" }),
50
+ __metadata("design:type", String)
51
+ ], ProjectEntity.prototype, "name", void 0);
52
+ __decorate([
53
+ (0, typeorm_1.Column)({ type: "text", nullable: true, name: "description" }),
54
+ __metadata("design:type", Object)
55
+ ], ProjectEntity.prototype, "description", void 0);
56
+ __decorate([
57
+ (0, typeorm_1.Column)({ type: "integer", nullable: true, name: "max_connections" }),
58
+ __metadata("design:type", Object)
59
+ ], ProjectEntity.prototype, "maxConnections", void 0);
60
+ __decorate([
61
+ (0, typeorm_1.Column)({ type: "integer", nullable: true, name: "max_message_size_bytes" }),
62
+ __metadata("design:type", Object)
63
+ ], ProjectEntity.prototype, "maxMessageSizeBytes", void 0);
64
+ __decorate([
65
+ (0, typeorm_1.Column)({ type: "integer", nullable: true, name: "session_expiry_seconds" }),
66
+ __metadata("design:type", Object)
67
+ ], ProjectEntity.prototype, "sessionExpirySeconds", void 0);
68
+ __decorate([
69
+ (0, typeorm_1.Column)({ type: "timestamptz", nullable: true, name: "limits_synced_at" }),
70
+ __metadata("design:type", Object)
71
+ ], ProjectEntity.prototype, "limitsSyncedAt", void 0);
72
+ exports.ProjectEntity = ProjectEntity = __decorate([
73
+ (0, typeorm_1.Entity)(entityName)
74
+ ], ProjectEntity);