@carlonicora/nestjs-neo4jsonapi 1.115.1 → 1.117.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 (437) hide show
  1. package/dist/bootstrap/app.module.factory.d.ts.map +1 -1
  2. package/dist/bootstrap/app.module.factory.js +1 -0
  3. package/dist/bootstrap/app.module.factory.js.map +1 -1
  4. package/dist/bootstrap/bootstrap.options.d.ts +17 -0
  5. package/dist/bootstrap/bootstrap.options.d.ts.map +1 -1
  6. package/dist/common/guards/jwt.auth.admin.guard.d.ts +3 -2
  7. package/dist/common/guards/jwt.auth.admin.guard.d.ts.map +1 -1
  8. package/dist/common/guards/jwt.auth.admin.guard.js +19 -4
  9. package/dist/common/guards/jwt.auth.admin.guard.js.map +1 -1
  10. package/dist/common/guards/jwt.auth.guard.d.ts +3 -2
  11. package/dist/common/guards/jwt.auth.guard.d.ts.map +1 -1
  12. package/dist/common/guards/jwt.auth.guard.js +7 -2
  13. package/dist/common/guards/jwt.auth.guard.js.map +1 -1
  14. package/dist/common/interfaces/entity.schema.interface.d.ts +2 -0
  15. package/dist/common/interfaces/entity.schema.interface.d.ts.map +1 -1
  16. package/dist/common/tokens.d.ts +68 -0
  17. package/dist/common/tokens.d.ts.map +1 -1
  18. package/dist/common/tokens.js +37 -2
  19. package/dist/common/tokens.js.map +1 -1
  20. package/dist/config/base.config.d.ts.map +1 -1
  21. package/dist/config/base.config.js +9 -0
  22. package/dist/config/base.config.js.map +1 -1
  23. package/dist/config/enums/queue.id.d.ts +2 -1
  24. package/dist/config/enums/queue.id.d.ts.map +1 -1
  25. package/dist/config/enums/queue.id.js +1 -0
  26. package/dist/config/enums/queue.id.js.map +1 -1
  27. package/dist/config/interfaces/base.config.interface.d.ts +2 -0
  28. package/dist/config/interfaces/base.config.interface.d.ts.map +1 -1
  29. package/dist/config/interfaces/config.ai.interface.d.ts +8 -0
  30. package/dist/config/interfaces/config.ai.interface.d.ts.map +1 -1
  31. package/dist/config/interfaces/config.auth.interface.d.ts +7 -0
  32. package/dist/config/interfaces/config.auth.interface.d.ts.map +1 -1
  33. package/dist/config/interfaces/config.credits.interface.d.ts +24 -0
  34. package/dist/config/interfaces/config.credits.interface.d.ts.map +1 -0
  35. package/dist/{foundations/auth/entities/auth.entity.js → config/interfaces/config.credits.interface.js} +1 -1
  36. package/dist/config/interfaces/config.credits.interface.js.map +1 -0
  37. package/dist/config/interfaces/config.email.interface.d.ts +6 -0
  38. package/dist/config/interfaces/config.email.interface.d.ts.map +1 -1
  39. package/dist/config/interfaces/index.d.ts +1 -0
  40. package/dist/config/interfaces/index.d.ts.map +1 -1
  41. package/dist/config/interfaces/index.js +1 -0
  42. package/dist/config/interfaces/index.js.map +1 -1
  43. package/dist/core/email/services/email.service.d.ts +1 -0
  44. package/dist/core/email/services/email.service.d.ts.map +1 -1
  45. package/dist/core/email/services/email.service.js +10 -7
  46. package/dist/core/email/services/email.service.js.map +1 -1
  47. package/dist/core/llm/services/embedder.service.d.ts +36 -2
  48. package/dist/core/llm/services/embedder.service.d.ts.map +1 -1
  49. package/dist/core/llm/services/embedder.service.js +87 -7
  50. package/dist/core/llm/services/embedder.service.js.map +1 -1
  51. package/dist/core/llm/services/llm.service.d.ts +9 -1
  52. package/dist/core/llm/services/llm.service.d.ts.map +1 -1
  53. package/dist/core/llm/services/llm.service.js +13 -3
  54. package/dist/core/llm/services/llm.service.js.map +1 -1
  55. package/dist/core/neo4j/abstracts/abstract.repository.d.ts.map +1 -1
  56. package/dist/core/neo4j/abstracts/abstract.repository.js +33 -2
  57. package/dist/core/neo4j/abstracts/abstract.repository.js.map +1 -1
  58. package/dist/foundations/auth/auth.module.d.ts.map +1 -1
  59. package/dist/foundations/auth/auth.module.js +9 -10
  60. package/dist/foundations/auth/auth.module.js.map +1 -1
  61. package/dist/foundations/auth/controllers/auth.controller.d.ts.map +1 -1
  62. package/dist/foundations/auth/controllers/auth.controller.js +5 -0
  63. package/dist/foundations/auth/controllers/auth.controller.js.map +1 -1
  64. package/dist/foundations/auth/controllers/auth.discord.controller.d.ts.map +1 -1
  65. package/dist/foundations/auth/controllers/auth.discord.controller.js +6 -3
  66. package/dist/foundations/auth/controllers/auth.discord.controller.js.map +1 -1
  67. package/dist/foundations/auth/controllers/auth.google.controller.d.ts.map +1 -1
  68. package/dist/foundations/auth/controllers/auth.google.controller.js +7 -3
  69. package/dist/foundations/auth/controllers/auth.google.controller.js.map +1 -1
  70. package/dist/foundations/auth/entities/auth.code.d.ts +34 -0
  71. package/dist/foundations/auth/entities/auth.code.d.ts.map +1 -0
  72. package/dist/foundations/auth/entities/auth.code.js +53 -0
  73. package/dist/foundations/auth/entities/auth.code.js.map +1 -0
  74. package/dist/foundations/auth/entities/auth.d.ts +41 -0
  75. package/dist/foundations/auth/entities/auth.d.ts.map +1 -0
  76. package/dist/foundations/auth/entities/auth.js +68 -0
  77. package/dist/foundations/auth/entities/auth.js.map +1 -0
  78. package/dist/foundations/auth/entities/pending-auth.d.ts +39 -0
  79. package/dist/foundations/auth/entities/pending-auth.d.ts.map +1 -0
  80. package/dist/foundations/auth/entities/pending-auth.js +41 -0
  81. package/dist/foundations/auth/entities/pending-auth.js.map +1 -0
  82. package/dist/foundations/auth/index.d.ts +13 -0
  83. package/dist/foundations/auth/index.d.ts.map +1 -1
  84. package/dist/foundations/auth/index.js +31 -1
  85. package/dist/foundations/auth/index.js.map +1 -1
  86. package/dist/foundations/auth/repositories/auth.repository.d.ts +49 -9
  87. package/dist/foundations/auth/repositories/auth.repository.d.ts.map +1 -1
  88. package/dist/foundations/auth/repositories/auth.repository.js +115 -63
  89. package/dist/foundations/auth/repositories/auth.repository.js.map +1 -1
  90. package/dist/foundations/auth/services/auth.discord.service.d.ts +1 -1
  91. package/dist/foundations/auth/services/auth.discord.service.d.ts.map +1 -1
  92. package/dist/foundations/auth/services/auth.discord.service.js +5 -2
  93. package/dist/foundations/auth/services/auth.discord.service.js.map +1 -1
  94. package/dist/foundations/auth/services/auth.google.service.d.ts +1 -1
  95. package/dist/foundations/auth/services/auth.google.service.d.ts.map +1 -1
  96. package/dist/foundations/auth/services/auth.google.service.js +6 -2
  97. package/dist/foundations/auth/services/auth.google.service.js.map +1 -1
  98. package/dist/foundations/auth/services/auth.service.d.ts +42 -7
  99. package/dist/foundations/auth/services/auth.service.d.ts.map +1 -1
  100. package/dist/foundations/auth/services/auth.service.js +140 -77
  101. package/dist/foundations/auth/services/auth.service.js.map +1 -1
  102. package/dist/foundations/company/dtos/company.post.dto.d.ts +3 -3
  103. package/dist/foundations/company/dtos/company.post.dto.d.ts.map +1 -1
  104. package/dist/foundations/company/dtos/company.post.dto.js +3 -3
  105. package/dist/foundations/company/dtos/company.post.dto.js.map +1 -1
  106. package/dist/foundations/company/dtos/company.put.dto.d.ts +3 -3
  107. package/dist/foundations/company/dtos/company.put.dto.d.ts.map +1 -1
  108. package/dist/foundations/company/dtos/company.put.dto.js +3 -3
  109. package/dist/foundations/company/dtos/company.put.dto.js.map +1 -1
  110. package/dist/foundations/company/entities/company.d.ts +4 -4
  111. package/dist/foundations/company/entities/company.d.ts.map +1 -1
  112. package/dist/foundations/company/entities/company.js +18 -4
  113. package/dist/foundations/company/entities/company.js.map +1 -1
  114. package/dist/foundations/company/index.d.ts +5 -0
  115. package/dist/foundations/company/index.d.ts.map +1 -1
  116. package/dist/foundations/company/index.js +16 -1
  117. package/dist/foundations/company/index.js.map +1 -1
  118. package/dist/foundations/company/processors/company.processor.js +1 -1
  119. package/dist/foundations/company/processors/company.processor.js.map +1 -1
  120. package/dist/foundations/company/repositories/company.repository.d.ts +96 -33
  121. package/dist/foundations/company/repositories/company.repository.d.ts.map +1 -1
  122. package/dist/foundations/company/repositories/company.repository.js +125 -95
  123. package/dist/foundations/company/repositories/company.repository.js.map +1 -1
  124. package/dist/foundations/company/services/company.service.d.ts +52 -13
  125. package/dist/foundations/company/services/company.service.d.ts.map +1 -1
  126. package/dist/foundations/company/services/company.service.js +62 -39
  127. package/dist/foundations/company/services/company.service.js.map +1 -1
  128. package/dist/foundations/content/content.module.d.ts +20 -8
  129. package/dist/foundations/content/content.module.d.ts.map +1 -1
  130. package/dist/foundations/content/content.module.js +40 -24
  131. package/dist/foundations/content/content.module.js.map +1 -1
  132. package/dist/foundations/content/controllers/content.controller.d.ts +1 -1
  133. package/dist/foundations/content/controllers/content.controller.d.ts.map +1 -1
  134. package/dist/foundations/content/controllers/content.controller.js +2 -2
  135. package/dist/foundations/content/controllers/content.controller.js.map +1 -1
  136. package/dist/foundations/content/entities/content.d.ts +74 -0
  137. package/dist/foundations/content/entities/content.d.ts.map +1 -0
  138. package/dist/foundations/content/entities/content.js +141 -0
  139. package/dist/foundations/content/entities/content.js.map +1 -0
  140. package/dist/foundations/content/index.d.ts +2 -4
  141. package/dist/foundations/content/index.d.ts.map +1 -1
  142. package/dist/foundations/content/index.js +6 -5
  143. package/dist/foundations/content/index.js.map +1 -1
  144. package/dist/foundations/content/interfaces/content.extension.interface.d.ts +126 -0
  145. package/dist/foundations/content/interfaces/content.extension.interface.d.ts.map +1 -1
  146. package/dist/foundations/content/interfaces/content.extension.interface.js +7 -1
  147. package/dist/foundations/content/interfaces/content.extension.interface.js.map +1 -1
  148. package/dist/foundations/content/repositories/content.repository.d.ts +14 -7
  149. package/dist/foundations/content/repositories/content.repository.d.ts.map +1 -1
  150. package/dist/foundations/content/repositories/content.repository.js +18 -16
  151. package/dist/foundations/content/repositories/content.repository.js.map +1 -1
  152. package/dist/foundations/content/services/content.cypher.service.d.ts +19 -0
  153. package/dist/foundations/content/services/content.cypher.service.d.ts.map +1 -1
  154. package/dist/foundations/content/services/content.cypher.service.js +65 -4
  155. package/dist/foundations/content/services/content.cypher.service.js.map +1 -1
  156. package/dist/foundations/content/services/content.service.js +4 -4
  157. package/dist/foundations/content/services/content.service.js.map +1 -1
  158. package/dist/foundations/discord-user/services/discord-user.service.js +2 -2
  159. package/dist/foundations/discord-user/services/discord-user.service.js.map +1 -1
  160. package/dist/foundations/feature/entities/feature.d.ts +32 -0
  161. package/dist/foundations/feature/entities/feature.d.ts.map +1 -0
  162. package/dist/foundations/feature/entities/feature.js +64 -0
  163. package/dist/foundations/feature/entities/feature.js.map +1 -0
  164. package/dist/foundations/feature/entities/feature.model.d.ts +1 -3
  165. package/dist/foundations/feature/entities/feature.model.d.ts.map +1 -1
  166. package/dist/foundations/feature/entities/feature.model.js +3 -11
  167. package/dist/foundations/feature/entities/feature.model.js.map +1 -1
  168. package/dist/foundations/feature/feature.module.d.ts.map +1 -1
  169. package/dist/foundations/feature/feature.module.js +4 -5
  170. package/dist/foundations/feature/feature.module.js.map +1 -1
  171. package/dist/foundations/feature/index.d.ts +12 -0
  172. package/dist/foundations/feature/index.d.ts.map +1 -1
  173. package/dist/foundations/feature/index.js +22 -1
  174. package/dist/foundations/feature/index.js.map +1 -1
  175. package/dist/foundations/feature/repositories/feature.repository.d.ts +37 -13
  176. package/dist/foundations/feature/repositories/feature.repository.d.ts.map +1 -1
  177. package/dist/foundations/feature/repositories/feature.repository.js +41 -35
  178. package/dist/foundations/feature/repositories/feature.repository.js.map +1 -1
  179. package/dist/foundations/feature/services/feature.service.d.ts +31 -4
  180. package/dist/foundations/feature/services/feature.service.d.ts.map +1 -1
  181. package/dist/foundations/feature/services/feature.service.js +20 -12
  182. package/dist/foundations/feature/services/feature.service.js.map +1 -1
  183. package/dist/foundations/foundations.modules.d.ts +6 -0
  184. package/dist/foundations/foundations.modules.d.ts.map +1 -1
  185. package/dist/foundations/foundations.modules.js +14 -3
  186. package/dist/foundations/foundations.modules.js.map +1 -1
  187. package/dist/foundations/google-user/services/google-user.service.js +2 -2
  188. package/dist/foundations/google-user/services/google-user.service.js.map +1 -1
  189. package/dist/foundations/index.d.ts +3 -0
  190. package/dist/foundations/index.d.ts.map +1 -1
  191. package/dist/foundations/index.js +3 -0
  192. package/dist/foundations/index.js.map +1 -1
  193. package/dist/foundations/membership/entities/membership.d.ts.map +1 -1
  194. package/dist/foundations/membership/entities/membership.js +4 -0
  195. package/dist/foundations/membership/entities/membership.js.map +1 -1
  196. package/dist/foundations/notification/controllers/notification.controller.js +2 -2
  197. package/dist/foundations/notification/controllers/notification.controller.js.map +1 -1
  198. package/dist/foundations/notification/entities/notification.d.ts +75 -0
  199. package/dist/foundations/notification/entities/notification.d.ts.map +1 -0
  200. package/dist/foundations/notification/entities/notification.js +73 -0
  201. package/dist/foundations/notification/entities/notification.js.map +1 -0
  202. package/dist/foundations/notification/index.d.ts +6 -2
  203. package/dist/foundations/notification/index.d.ts.map +1 -1
  204. package/dist/foundations/notification/index.js +17 -3
  205. package/dist/foundations/notification/index.js.map +1 -1
  206. package/dist/foundations/notification/notification.module.d.ts.map +1 -1
  207. package/dist/foundations/notification/notification.module.js +3 -4
  208. package/dist/foundations/notification/notification.module.js.map +1 -1
  209. package/dist/foundations/notification/repositories/notification.repository.d.ts +125 -8
  210. package/dist/foundations/notification/repositories/notification.repository.d.ts.map +1 -1
  211. package/dist/foundations/notification/repositories/notification.repository.js +219 -20
  212. package/dist/foundations/notification/repositories/notification.repository.js.map +1 -1
  213. package/dist/foundations/notification/services/notification.service.d.ts +31 -5
  214. package/dist/foundations/notification/services/notification.service.d.ts.map +1 -1
  215. package/dist/foundations/notification/services/notification.service.js +26 -9
  216. package/dist/foundations/notification/services/notification.service.js.map +1 -1
  217. package/dist/foundations/rbac/dump.d.ts +48 -4
  218. package/dist/foundations/rbac/dump.d.ts.map +1 -1
  219. package/dist/foundations/rbac/dump.js +28 -4
  220. package/dist/foundations/rbac/dump.js.map +1 -1
  221. package/dist/foundations/rbac/serializer/matrix-to-ts.d.ts +14 -0
  222. package/dist/foundations/rbac/serializer/matrix-to-ts.d.ts.map +1 -1
  223. package/dist/foundations/rbac/serializer/matrix-to-ts.js +13 -3
  224. package/dist/foundations/rbac/serializer/matrix-to-ts.js.map +1 -1
  225. package/dist/foundations/referral/services/referral.service.js +4 -4
  226. package/dist/foundations/referral/services/referral.service.js.map +1 -1
  227. package/dist/foundations/relevancy/repositories/relevancy.repository.d.ts.map +1 -1
  228. package/dist/foundations/relevancy/repositories/relevancy.repository.js +13 -1
  229. package/dist/foundations/relevancy/repositories/relevancy.repository.js.map +1 -1
  230. package/dist/foundations/role/entities/role.d.ts +1 -1
  231. package/dist/foundations/role/entities/role.d.ts.map +1 -1
  232. package/dist/foundations/stripe/index.d.ts +3 -0
  233. package/dist/foundations/stripe/index.d.ts.map +1 -1
  234. package/dist/foundations/stripe/index.js +6 -0
  235. package/dist/foundations/stripe/index.js.map +1 -1
  236. package/dist/foundations/stripe-price/entities/stripe-price.entity.d.ts +1 -1
  237. package/dist/foundations/stripe-price/entities/stripe-price.entity.d.ts.map +1 -1
  238. package/dist/foundations/stripe-subscription/services/token-allocation.service.d.ts +1 -1
  239. package/dist/foundations/stripe-subscription/services/token-allocation.service.js +10 -10
  240. package/dist/foundations/stripe-subscription/services/token-allocation.service.js.map +1 -1
  241. package/dist/foundations/stripe-trial/services/trial.service.js +2 -2
  242. package/dist/foundations/stripe-trial/services/trial.service.js.map +1 -1
  243. package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.js +2 -2
  244. package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.js.map +1 -1
  245. package/dist/foundations/tokenusage/entities/tokenusage.d.ts +50 -0
  246. package/dist/foundations/tokenusage/entities/tokenusage.d.ts.map +1 -0
  247. package/dist/foundations/tokenusage/entities/tokenusage.js +68 -0
  248. package/dist/foundations/tokenusage/entities/tokenusage.js.map +1 -0
  249. package/dist/foundations/tokenusage/enums/tokenusage.type.d.ts +2 -1
  250. package/dist/foundations/tokenusage/enums/tokenusage.type.d.ts.map +1 -1
  251. package/dist/foundations/tokenusage/enums/tokenusage.type.js +1 -0
  252. package/dist/foundations/tokenusage/enums/tokenusage.type.js.map +1 -1
  253. package/dist/foundations/tokenusage/events/tokenusage.events.d.ts +2 -0
  254. package/dist/foundations/tokenusage/events/tokenusage.events.d.ts.map +1 -1
  255. package/dist/foundations/tokenusage/index.d.ts +3 -3
  256. package/dist/foundations/tokenusage/index.d.ts.map +1 -1
  257. package/dist/foundations/tokenusage/index.js +5 -3
  258. package/dist/foundations/tokenusage/index.js.map +1 -1
  259. package/dist/foundations/tokenusage/repositories/tokenusage.repository.d.ts +90 -5
  260. package/dist/foundations/tokenusage/repositories/tokenusage.repository.d.ts.map +1 -1
  261. package/dist/foundations/tokenusage/repositories/tokenusage.repository.js +165 -14
  262. package/dist/foundations/tokenusage/repositories/tokenusage.repository.js.map +1 -1
  263. package/dist/foundations/tokenusage/services/tokenusage.service.d.ts +73 -10
  264. package/dist/foundations/tokenusage/services/tokenusage.service.d.ts.map +1 -1
  265. package/dist/foundations/tokenusage/services/tokenusage.service.js +88 -8
  266. package/dist/foundations/tokenusage/services/tokenusage.service.js.map +1 -1
  267. package/dist/foundations/tokenusage/tokenusage.module.js +3 -3
  268. package/dist/foundations/tokenusage/tokenusage.module.js.map +1 -1
  269. package/dist/foundations/user/controllers/user.controller.js +4 -4
  270. package/dist/foundations/user/controllers/user.controller.js.map +1 -1
  271. package/dist/foundations/user/dtos/user.put.dto.d.ts +1 -1
  272. package/dist/foundations/user/dtos/user.put.dto.d.ts.map +1 -1
  273. package/dist/foundations/user/dtos/user.put.dto.js +1 -1
  274. package/dist/foundations/user/dtos/user.put.dto.js.map +1 -1
  275. package/dist/foundations/user/entities/user.d.ts +4 -0
  276. package/dist/foundations/user/entities/user.d.ts.map +1 -1
  277. package/dist/foundations/user/entities/user.js +18 -4
  278. package/dist/foundations/user/entities/user.js.map +1 -1
  279. package/dist/foundations/user/index.d.ts +6 -1
  280. package/dist/foundations/user/index.d.ts.map +1 -1
  281. package/dist/foundations/user/index.js +13 -1
  282. package/dist/foundations/user/index.js.map +1 -1
  283. package/dist/foundations/user/repositories/user.repository.d.ts +56 -11
  284. package/dist/foundations/user/repositories/user.repository.d.ts.map +1 -1
  285. package/dist/foundations/user/repositories/user.repository.js +55 -35
  286. package/dist/foundations/user/repositories/user.repository.js.map +1 -1
  287. package/dist/foundations/user/services/user.service.d.ts +48 -9
  288. package/dist/foundations/user/services/user.service.d.ts.map +1 -1
  289. package/dist/foundations/user/services/user.service.js +50 -32
  290. package/dist/foundations/user/services/user.service.js.map +1 -1
  291. package/dist/foundations/user-activity/entities/user-activity.d.ts +36 -0
  292. package/dist/foundations/user-activity/entities/user-activity.d.ts.map +1 -0
  293. package/dist/foundations/user-activity/entities/user-activity.js +86 -0
  294. package/dist/foundations/user-activity/entities/user-activity.js.map +1 -0
  295. package/dist/foundations/user-activity/entities/user-activity.meta.d.ts +3 -0
  296. package/dist/foundations/user-activity/entities/user-activity.meta.d.ts.map +1 -0
  297. package/dist/foundations/user-activity/entities/user-activity.meta.js +10 -0
  298. package/dist/foundations/user-activity/entities/user-activity.meta.js.map +1 -0
  299. package/dist/foundations/user-activity/index.d.ts +10 -0
  300. package/dist/foundations/user-activity/index.d.ts.map +1 -0
  301. package/dist/foundations/user-activity/index.js +22 -0
  302. package/dist/foundations/user-activity/index.js.map +1 -0
  303. package/dist/foundations/user-activity/interceptors/user-activity.interceptor.d.ts +29 -0
  304. package/dist/foundations/user-activity/interceptors/user-activity.interceptor.d.ts.map +1 -0
  305. package/dist/foundations/user-activity/interceptors/user-activity.interceptor.js +98 -0
  306. package/dist/foundations/user-activity/interceptors/user-activity.interceptor.js.map +1 -0
  307. package/dist/foundations/user-activity/interfaces/user-activity.config.interface.d.ts +67 -0
  308. package/dist/foundations/user-activity/interfaces/user-activity.config.interface.d.ts.map +1 -0
  309. package/dist/foundations/user-activity/interfaces/user-activity.config.interface.js +26 -0
  310. package/dist/foundations/user-activity/interfaces/user-activity.config.interface.js.map +1 -0
  311. package/dist/foundations/user-activity/interfaces/user-activity.record.input.d.ts +18 -0
  312. package/dist/foundations/user-activity/interfaces/user-activity.record.input.d.ts.map +1 -0
  313. package/dist/foundations/{auth/entities/pending-auth.entity.js → user-activity/interfaces/user-activity.record.input.js} +1 -1
  314. package/dist/foundations/user-activity/interfaces/user-activity.record.input.js.map +1 -0
  315. package/dist/foundations/user-activity/processors/user-activity.processor.d.ts +25 -0
  316. package/dist/foundations/user-activity/processors/user-activity.processor.d.ts.map +1 -0
  317. package/dist/foundations/user-activity/processors/user-activity.processor.js +74 -0
  318. package/dist/foundations/user-activity/processors/user-activity.processor.js.map +1 -0
  319. package/dist/foundations/user-activity/repositories/user-activity.repository.d.ts +47 -0
  320. package/dist/foundations/user-activity/repositories/user-activity.repository.d.ts.map +1 -0
  321. package/dist/foundations/user-activity/repositories/user-activity.repository.js +124 -0
  322. package/dist/foundations/user-activity/repositories/user-activity.repository.js.map +1 -0
  323. package/dist/foundations/user-activity/services/user-activity.service.d.ts +29 -0
  324. package/dist/foundations/user-activity/services/user-activity.service.d.ts.map +1 -0
  325. package/dist/foundations/user-activity/services/user-activity.service.js +61 -0
  326. package/dist/foundations/user-activity/services/user-activity.service.js.map +1 -0
  327. package/dist/foundations/user-activity/user-activity.module.d.ts +40 -0
  328. package/dist/foundations/user-activity/user-activity.module.d.ts.map +1 -0
  329. package/dist/foundations/user-activity/user-activity.module.js +99 -0
  330. package/dist/foundations/user-activity/user-activity.module.js.map +1 -0
  331. package/package.json +2 -1
  332. package/dist/foundations/auth/entities/auth.code.entity.d.ts +0 -7
  333. package/dist/foundations/auth/entities/auth.code.entity.d.ts.map +0 -1
  334. package/dist/foundations/auth/entities/auth.code.entity.js +0 -3
  335. package/dist/foundations/auth/entities/auth.code.entity.js.map +0 -1
  336. package/dist/foundations/auth/entities/auth.code.map.d.ts +0 -8
  337. package/dist/foundations/auth/entities/auth.code.map.d.ts.map +0 -1
  338. package/dist/foundations/auth/entities/auth.code.map.js +0 -13
  339. package/dist/foundations/auth/entities/auth.code.map.js.map +0 -1
  340. package/dist/foundations/auth/entities/auth.code.model.d.ts +0 -4
  341. package/dist/foundations/auth/entities/auth.code.model.d.ts.map +0 -1
  342. package/dist/foundations/auth/entities/auth.code.model.js +0 -13
  343. package/dist/foundations/auth/entities/auth.code.model.js.map +0 -1
  344. package/dist/foundations/auth/entities/auth.entity.d.ts +0 -18
  345. package/dist/foundations/auth/entities/auth.entity.d.ts.map +0 -1
  346. package/dist/foundations/auth/entities/auth.entity.js.map +0 -1
  347. package/dist/foundations/auth/entities/auth.map.d.ts +0 -8
  348. package/dist/foundations/auth/entities/auth.map.d.ts.map +0 -1
  349. package/dist/foundations/auth/entities/auth.map.js +0 -14
  350. package/dist/foundations/auth/entities/auth.map.js.map +0 -1
  351. package/dist/foundations/auth/entities/auth.model.d.ts +0 -4
  352. package/dist/foundations/auth/entities/auth.model.d.ts.map +0 -1
  353. package/dist/foundations/auth/entities/auth.model.js +0 -15
  354. package/dist/foundations/auth/entities/auth.model.js.map +0 -1
  355. package/dist/foundations/auth/entities/pending-auth.entity.d.ts +0 -16
  356. package/dist/foundations/auth/entities/pending-auth.entity.d.ts.map +0 -1
  357. package/dist/foundations/auth/entities/pending-auth.entity.js.map +0 -1
  358. package/dist/foundations/auth/entities/pending-auth.map.d.ts +0 -6
  359. package/dist/foundations/auth/entities/pending-auth.map.d.ts.map +0 -1
  360. package/dist/foundations/auth/entities/pending-auth.map.js +0 -20
  361. package/dist/foundations/auth/entities/pending-auth.map.js.map +0 -1
  362. package/dist/foundations/auth/entities/pending-auth.model.d.ts +0 -9
  363. package/dist/foundations/auth/entities/pending-auth.model.d.ts.map +0 -1
  364. package/dist/foundations/auth/entities/pending-auth.model.js +0 -19
  365. package/dist/foundations/auth/entities/pending-auth.model.js.map +0 -1
  366. package/dist/foundations/auth/serialisers/auth.serialiser.d.ts +0 -13
  367. package/dist/foundations/auth/serialisers/auth.serialiser.d.ts.map +0 -1
  368. package/dist/foundations/auth/serialisers/auth.serialiser.js +0 -52
  369. package/dist/foundations/auth/serialisers/auth.serialiser.js.map +0 -1
  370. package/dist/foundations/auth/serialisers/pending-auth.serialiser.d.ts +0 -18
  371. package/dist/foundations/auth/serialisers/pending-auth.serialiser.d.ts.map +0 -1
  372. package/dist/foundations/auth/serialisers/pending-auth.serialiser.js +0 -49
  373. package/dist/foundations/auth/serialisers/pending-auth.serialiser.js.map +0 -1
  374. package/dist/foundations/content/entities/content.entity.d.ts +0 -31
  375. package/dist/foundations/content/entities/content.entity.d.ts.map +0 -1
  376. package/dist/foundations/content/entities/content.entity.js +0 -3
  377. package/dist/foundations/content/entities/content.entity.js.map +0 -1
  378. package/dist/foundations/content/entities/content.map.d.ts +0 -8
  379. package/dist/foundations/content/entities/content.map.d.ts.map +0 -1
  380. package/dist/foundations/content/entities/content.map.js +0 -19
  381. package/dist/foundations/content/entities/content.map.js.map +0 -1
  382. package/dist/foundations/content/entities/content.model.d.ts +0 -4
  383. package/dist/foundations/content/entities/content.model.d.ts.map +0 -1
  384. package/dist/foundations/content/entities/content.model.js +0 -16
  385. package/dist/foundations/content/entities/content.model.js.map +0 -1
  386. package/dist/foundations/content/factories/content.model.factory.d.ts +0 -17
  387. package/dist/foundations/content/factories/content.model.factory.d.ts.map +0 -1
  388. package/dist/foundations/content/factories/content.model.factory.js +0 -65
  389. package/dist/foundations/content/factories/content.model.factory.js.map +0 -1
  390. package/dist/foundations/content/serialisers/content.serialiser.d.ts +0 -14
  391. package/dist/foundations/content/serialisers/content.serialiser.d.ts.map +0 -1
  392. package/dist/foundations/content/serialisers/content.serialiser.js +0 -78
  393. package/dist/foundations/content/serialisers/content.serialiser.js.map +0 -1
  394. package/dist/foundations/feature/entities/feature.entity.d.ts +0 -8
  395. package/dist/foundations/feature/entities/feature.entity.d.ts.map +0 -1
  396. package/dist/foundations/feature/entities/feature.entity.js +0 -3
  397. package/dist/foundations/feature/entities/feature.entity.js.map +0 -1
  398. package/dist/foundations/feature/entities/feature.map.d.ts +0 -8
  399. package/dist/foundations/feature/entities/feature.map.d.ts.map +0 -1
  400. package/dist/foundations/feature/entities/feature.map.js +0 -14
  401. package/dist/foundations/feature/entities/feature.map.js.map +0 -1
  402. package/dist/foundations/feature/serialisers/feature.serialiser.d.ts +0 -12
  403. package/dist/foundations/feature/serialisers/feature.serialiser.d.ts.map +0 -1
  404. package/dist/foundations/feature/serialisers/feature.serialiser.js +0 -45
  405. package/dist/foundations/feature/serialisers/feature.serialiser.js.map +0 -1
  406. package/dist/foundations/notification/entities/notification.entity.d.ts +0 -10
  407. package/dist/foundations/notification/entities/notification.entity.d.ts.map +0 -1
  408. package/dist/foundations/notification/entities/notification.entity.js +0 -3
  409. package/dist/foundations/notification/entities/notification.entity.js.map +0 -1
  410. package/dist/foundations/notification/entities/notification.map.d.ts +0 -8
  411. package/dist/foundations/notification/entities/notification.map.d.ts.map +0 -1
  412. package/dist/foundations/notification/entities/notification.map.js +0 -16
  413. package/dist/foundations/notification/entities/notification.map.js.map +0 -1
  414. package/dist/foundations/notification/entities/notification.model.d.ts +0 -4
  415. package/dist/foundations/notification/entities/notification.model.d.ts.map +0 -1
  416. package/dist/foundations/notification/entities/notification.model.js +0 -15
  417. package/dist/foundations/notification/entities/notification.model.js.map +0 -1
  418. package/dist/foundations/notification/interfaces/notification.service.interface.d.ts +0 -4
  419. package/dist/foundations/notification/interfaces/notification.service.interface.d.ts.map +0 -1
  420. package/dist/foundations/notification/interfaces/notification.service.interface.js +0 -3
  421. package/dist/foundations/notification/interfaces/notification.service.interface.js.map +0 -1
  422. package/dist/foundations/notification/serialisers/notifications.serialiser.d.ts +0 -12
  423. package/dist/foundations/notification/serialisers/notifications.serialiser.d.ts.map +0 -1
  424. package/dist/foundations/notification/serialisers/notifications.serialiser.js +0 -47
  425. package/dist/foundations/notification/serialisers/notifications.serialiser.js.map +0 -1
  426. package/dist/foundations/tokenusage/entities/tokenusage.entity.d.ts +0 -11
  427. package/dist/foundations/tokenusage/entities/tokenusage.entity.d.ts.map +0 -1
  428. package/dist/foundations/tokenusage/entities/tokenusage.entity.js +0 -3
  429. package/dist/foundations/tokenusage/entities/tokenusage.entity.js.map +0 -1
  430. package/dist/foundations/tokenusage/entities/tokenusage.map.d.ts +0 -8
  431. package/dist/foundations/tokenusage/entities/tokenusage.map.d.ts.map +0 -1
  432. package/dist/foundations/tokenusage/entities/tokenusage.map.js +0 -17
  433. package/dist/foundations/tokenusage/entities/tokenusage.map.js.map +0 -1
  434. package/dist/foundations/tokenusage/entities/tokenusage.model.d.ts +0 -4
  435. package/dist/foundations/tokenusage/entities/tokenusage.model.d.ts.map +0 -1
  436. package/dist/foundations/tokenusage/entities/tokenusage.model.js +0 -15
  437. package/dist/foundations/tokenusage/entities/tokenusage.model.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { RoleDataListDTO } from "../../role/dtos/role.dto";
2
2
  export declare class UserPutAttributesDTO {
3
3
  email: string;
4
- name: string;
4
+ name?: string;
5
5
  title?: string;
6
6
  bio?: string;
7
7
  phone?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"user.put.dto.d.ts","sourceRoot":"","sources":["../../../../src/foundations/user/dtos/user.put.dto.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,qBAAa,oBAAoB;IAG/B,KAAK,EAAE,MAAM,CAAC;IAId,IAAI,EAAE,MAAM,CAAC;IAIb,KAAK,CAAC,EAAE,MAAM,CAAC;IAIf,GAAG,CAAC,EAAE,MAAM,CAAC;IAIb,KAAK,CAAC,EAAE,MAAM,CAAC;IAIf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAIlB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,uBAAuB;IAIlC,KAAK,EAAE,eAAe,CAAC;CACxB;AAED,qBAAa,cAAc;IAEzB,IAAI,EAAE,MAAM,CAAC;IAGb,EAAE,EAAE,MAAM,CAAC;IAKX,UAAU,EAAE,oBAAoB,CAAC;IAKjC,aAAa,EAAE,uBAAuB,CAAC;CACxC;AAED,qBAAa,UAAU;IAIrB,IAAI,EAAE,cAAc,CAAC;IAGrB,QAAQ,EAAE,GAAG,EAAE,CAAC;CACjB"}
1
+ {"version":3,"file":"user.put.dto.d.ts","sourceRoot":"","sources":["../../../../src/foundations/user/dtos/user.put.dto.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,qBAAa,oBAAoB;IAG/B,KAAK,EAAE,MAAM,CAAC;IAId,IAAI,CAAC,EAAE,MAAM,CAAC;IAId,KAAK,CAAC,EAAE,MAAM,CAAC;IAIf,GAAG,CAAC,EAAE,MAAM,CAAC;IAIb,KAAK,CAAC,EAAE,MAAM,CAAC;IAIf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAIlB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,uBAAuB;IAIlC,KAAK,EAAE,eAAe,CAAC;CACxB;AAED,qBAAa,cAAc;IAEzB,IAAI,EAAE,MAAM,CAAC;IAGb,EAAE,EAAE,MAAM,CAAC;IAKX,UAAU,EAAE,oBAAoB,CAAC;IAKjC,aAAa,EAAE,uBAAuB,CAAC;CACxC;AAED,qBAAa,UAAU;IAIrB,IAAI,EAAE,cAAc,CAAC;IAGrB,QAAQ,EAAE,GAAG,EAAE,CAAC;CACjB"}
@@ -23,7 +23,7 @@ __decorate([
23
23
  __metadata("design:type", String)
24
24
  ], UserPutAttributesDTO.prototype, "email", void 0);
25
25
  __decorate([
26
- (0, class_validator_1.IsDefined)(),
26
+ (0, class_validator_1.IsOptional)(),
27
27
  (0, class_validator_1.IsString)(),
28
28
  __metadata("design:type", String)
29
29
  ], UserPutAttributesDTO.prototype, "name", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"user.put.dto.js","sourceRoot":"","sources":["../../../../src/foundations/user/dtos/user.put.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAyC;AACzC,qDAA8G;AAC9G,uDAA2D;AAC3D,6DAAyD;AAEzD,MAAa,oBAAoB;CA4BhC;AA5BD,oDA4BC;AAzBC;IAFC,IAAA,2BAAS,GAAE;IACX,IAAA,0BAAQ,GAAE;;mDACG;AAId;IAFC,IAAA,2BAAS,GAAE;IACX,IAAA,0BAAQ,GAAE;;kDACE;AAIb;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;mDACI;AAIf;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;iDACE;AAIb;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;mDACI;AAIf;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;sDACO;AAIlB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;oDACK;AAGlB,MAAa,uBAAuB;CAKnC;AALD,0DAKC;AADC;IAHC,IAAA,gCAAc,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,0BAAe,CAAC;8BACrB,0BAAe;sDAAC;AAGzB,MAAa,cAAc;CAgB1B;AAhBD,wCAgBC;AAdC;IADC,IAAA,wBAAM,EAAC,oBAAQ,CAAC,QAAQ,CAAC;;4CACb;AAGb;IADC,IAAA,wBAAM,GAAE;;0CACE;AAKX;IAHC,IAAA,gCAAc,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC;8BACrB,oBAAoB;kDAAC;AAKjC;IAHC,IAAA,gCAAc,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC;8BACrB,uBAAuB;qDAAC;AAGzC,MAAa,UAAU;CAQtB;AARD,gCAQC;AAJC;IAHC,IAAA,gCAAc,GAAE;IAChB,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,cAAc,CAAC;8BACrB,cAAc;wCAAC;AAGrB;IADC,IAAA,4BAAU,GAAE;;4CACG"}
1
+ {"version":3,"file":"user.put.dto.js","sourceRoot":"","sources":["../../../../src/foundations/user/dtos/user.put.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAyC;AACzC,qDAA8G;AAC9G,uDAA2D;AAC3D,6DAAyD;AAEzD,MAAa,oBAAoB;CA4BhC;AA5BD,oDA4BC;AAzBC;IAFC,IAAA,2BAAS,GAAE;IACX,IAAA,0BAAQ,GAAE;;mDACG;AAId;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;kDACG;AAId;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;mDACI;AAIf;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;iDACE;AAIb;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;mDACI;AAIf;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;sDACO;AAIlB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;oDACK;AAGlB,MAAa,uBAAuB;CAKnC;AALD,0DAKC;AADC;IAHC,IAAA,gCAAc,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,0BAAe,CAAC;8BACrB,0BAAe;sDAAC;AAGzB,MAAa,cAAc;CAgB1B;AAhBD,wCAgBC;AAdC;IADC,IAAA,wBAAM,EAAC,oBAAQ,CAAC,QAAQ,CAAC;;4CACb;AAGb;IADC,IAAA,wBAAM,GAAE;;0CACE;AAKX;IAHC,IAAA,gCAAc,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC;8BACrB,oBAAoB;kDAAC;AAKjC;IAHC,IAAA,gCAAc,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC;8BACrB,uBAAuB;qDAAC;AAGzC,MAAa,UAAU;CAQtB;AARD,gCAQC;AAJC;IAHC,IAAA,gCAAc,GAAE;IAChB,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,cAAc,CAAC;8BACrB,cAAc;wCAAC;AAGrB;IADC,IAAA,4BAAU,GAAE;;4CACG"}
@@ -39,6 +39,7 @@ export declare const UserDescriptor: import("../../../common").EntityDescriptor<
39
39
  relationship: string;
40
40
  cardinality: "many";
41
41
  dtoKey: string;
42
+ readOnly: true;
42
43
  };
43
44
  company: {
44
45
  model: import("../../../common").DataModelInterface<Company>;
@@ -62,6 +63,7 @@ export declare const OwnerDescriptor: import("../../../common").EntityDescriptor
62
63
  relationship: string;
63
64
  cardinality: "many";
64
65
  dtoKey: string;
66
+ readOnly: true;
65
67
  };
66
68
  company: {
67
69
  model: import("../../../common").DataModelInterface<Company>;
@@ -84,6 +86,7 @@ export declare const AssigneeDescriptor: import("../../../common").EntityDescrip
84
86
  relationship: string;
85
87
  cardinality: "many";
86
88
  dtoKey: string;
89
+ readOnly: true;
87
90
  };
88
91
  company: {
89
92
  model: import("../../../common").DataModelInterface<Company>;
@@ -106,6 +109,7 @@ export declare const AuthorDescriptor: import("../../../common").EntityDescripto
106
109
  relationship: string;
107
110
  cardinality: "many";
108
111
  dtoKey: string;
112
+ readOnly: true;
109
113
  };
110
114
  company: {
111
115
  model: import("../../../common").DataModelInterface<Company>;
@@ -1 +1 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../src/foundations/user/entities/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAmC,MAAM,iBAAiB,CAAC;AAC1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAElE,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAKhD;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,IAAI,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,IAAI,CAAC;IAE1B,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;EAmEzB,CAAC;AAGH,MAAM,MAAM,kBAAkB,GAAG,OAAO,cAAc,CAAC;AAGvD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;EAA+C,CAAC;AAC5E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;EAAkD,CAAC;AAClF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;EAAgD,CAAC"}
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../src/foundations/user/entities/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAmC,MAAM,iBAAiB,CAAC;AAC1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAElE,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAKhD;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,IAAI,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,IAAI,CAAC;IAE1B,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;EAiFzB,CAAC;AAGH,MAAM,MAAM,kBAAkB,GAAG,OAAO,cAAc,CAAC;AAGvD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;EAA+C,CAAC;AAC5E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;EAAkD,CAAC;AAClF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;EAAgD,CAAC"}
@@ -22,7 +22,7 @@ exports.UserDescriptor = (0, common_1.defineEntity)()({
22
22
  name: { type: "string" },
23
23
  title: { type: "string" },
24
24
  bio: { type: "string" },
25
- password: { type: "string", excludeFromJsonApi: true },
25
+ password: { type: "string", excludeFromJsonApi: true, excludeFromSearch: true },
26
26
  avatar: {
27
27
  type: "string",
28
28
  transform: async (data, services) => {
@@ -38,7 +38,8 @@ exports.UserDescriptor = (0, common_1.defineEntity)()({
38
38
  isActive: { type: "boolean", meta: true },
39
39
  lastLogin: { type: "datetime", meta: true },
40
40
  isDeleted: { type: "boolean", meta: true },
41
- code: { type: "string" },
41
+ // one-time invitation/reset code — never serialised, never indexed
42
+ code: { type: "string", excludeFromJsonApi: true, excludeFromSearch: true },
42
43
  codeExpiration: { type: "datetime", excludeFromJsonApi: true },
43
44
  termsAcceptedAt: { type: "datetime", excludeFromJsonApi: true },
44
45
  marketingConsent: { type: "boolean", excludeFromJsonApi: true },
@@ -55,14 +56,27 @@ exports.UserDescriptor = (0, common_1.defineEntity)()({
55
56
  // Serialisation-only: roles are hydrated through the Membership path
56
57
  // (see foundations/membership/queries/membership.query.ts) — no single-hop
57
58
  // (user)-[:HAS_MEMBERSHIP]->(role) edge exists. The serialiser maps by key +
58
- // model, and no generic descriptor-driven writer touches this relationship
59
- // (UserRepository/UserService do not extend AbstractRepository/AbstractService).
59
+ // model, which is what every UserRepository/UserService read path relies on.
60
+ //
61
+ // WARNING: UserRepository/UserService now extend AbstractRepository/
62
+ // AbstractService, so the INHERITED generic methods (find, findById, create,
63
+ // put, patch, addToRelationship…) would traverse/write this relationship as a
64
+ // single hop and therefore silently return no roles (read) or create a bogus
65
+ // (user)-[:HAS_MEMBERSHIP]->(:Role) edge (write). Use the explicit domain
66
+ // methods — findMany / findByUserId / createUser / putUser / addUserToRole —
67
+ // for anything involving roles.
68
+ //
69
+ // `readOnly: true` closes that hole generically (spec §3.4): the generic
70
+ // create/put/patch paths skip this relationship and findByRelated /
71
+ // addToRelationship / removeFromRelationship reject it with 400 instead of
72
+ // silently writing a bogus edge or returning an empty list.
60
73
  role: {
61
74
  model: role_meta_1.roleMeta,
62
75
  direction: "out",
63
76
  relationship: "HAS_MEMBERSHIP",
64
77
  cardinality: "many",
65
78
  dtoKey: "roles",
79
+ readOnly: true,
66
80
  },
67
81
  company: {
68
82
  model: company_1.CompanyDescriptor.model,
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../src/foundations/user/entities/user.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../src/foundations/user/entities/user.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,11 @@
1
+ export { UserController } from "./controllers/user.controller";
1
2
  export { UserDataDTO, UserDataListDTO } from "./dtos/user.dto";
3
+ export { UserPatchAvatarDTO } from "./dtos/user.patch.avatar.dto";
4
+ export { UserPatchRateDTO } from "./dtos/user.patch.rate.dto";
5
+ export { UserPostDataDTO, UserPostDTO } from "./dtos/user.post.dto";
6
+ export { UserPutDTO } from "./dtos/user.put.dto";
2
7
  export { User, UserDescriptor, OwnerDescriptor, AssigneeDescriptor, AuthorDescriptor } from "./entities/user";
3
- export { authorMeta, ownerMeta, userMeta } from "./entities/user.meta";
8
+ export { assigneeMeta, authorMeta, ownerMeta, userMeta } from "./entities/user.meta";
4
9
  export { UserRepository } from "./repositories/user.repository";
5
10
  export { UserCypherService } from "./services/user.cypher.service";
6
11
  export { UserService } from "./services/user.service";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/foundations/user/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC9G,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/foundations/user/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC9G,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
@@ -1,15 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UserModule = exports.UserService = exports.UserCypherService = exports.UserRepository = exports.userMeta = exports.ownerMeta = exports.authorMeta = exports.AuthorDescriptor = exports.AssigneeDescriptor = exports.OwnerDescriptor = exports.UserDescriptor = exports.UserDataListDTO = exports.UserDataDTO = void 0;
3
+ exports.UserModule = exports.UserService = exports.UserCypherService = exports.UserRepository = exports.userMeta = exports.ownerMeta = exports.authorMeta = exports.assigneeMeta = exports.AuthorDescriptor = exports.AssigneeDescriptor = exports.OwnerDescriptor = exports.UserDescriptor = exports.UserPutDTO = exports.UserPostDTO = exports.UserPostDataDTO = exports.UserPatchRateDTO = exports.UserPatchAvatarDTO = exports.UserDataListDTO = exports.UserDataDTO = exports.UserController = void 0;
4
+ var user_controller_1 = require("./controllers/user.controller");
5
+ Object.defineProperty(exports, "UserController", { enumerable: true, get: function () { return user_controller_1.UserController; } });
4
6
  var user_dto_1 = require("./dtos/user.dto");
5
7
  Object.defineProperty(exports, "UserDataDTO", { enumerable: true, get: function () { return user_dto_1.UserDataDTO; } });
6
8
  Object.defineProperty(exports, "UserDataListDTO", { enumerable: true, get: function () { return user_dto_1.UserDataListDTO; } });
9
+ var user_patch_avatar_dto_1 = require("./dtos/user.patch.avatar.dto");
10
+ Object.defineProperty(exports, "UserPatchAvatarDTO", { enumerable: true, get: function () { return user_patch_avatar_dto_1.UserPatchAvatarDTO; } });
11
+ var user_patch_rate_dto_1 = require("./dtos/user.patch.rate.dto");
12
+ Object.defineProperty(exports, "UserPatchRateDTO", { enumerable: true, get: function () { return user_patch_rate_dto_1.UserPatchRateDTO; } });
13
+ var user_post_dto_1 = require("./dtos/user.post.dto");
14
+ Object.defineProperty(exports, "UserPostDataDTO", { enumerable: true, get: function () { return user_post_dto_1.UserPostDataDTO; } });
15
+ Object.defineProperty(exports, "UserPostDTO", { enumerable: true, get: function () { return user_post_dto_1.UserPostDTO; } });
16
+ var user_put_dto_1 = require("./dtos/user.put.dto");
17
+ Object.defineProperty(exports, "UserPutDTO", { enumerable: true, get: function () { return user_put_dto_1.UserPutDTO; } });
7
18
  var user_1 = require("./entities/user");
8
19
  Object.defineProperty(exports, "UserDescriptor", { enumerable: true, get: function () { return user_1.UserDescriptor; } });
9
20
  Object.defineProperty(exports, "OwnerDescriptor", { enumerable: true, get: function () { return user_1.OwnerDescriptor; } });
10
21
  Object.defineProperty(exports, "AssigneeDescriptor", { enumerable: true, get: function () { return user_1.AssigneeDescriptor; } });
11
22
  Object.defineProperty(exports, "AuthorDescriptor", { enumerable: true, get: function () { return user_1.AuthorDescriptor; } });
12
23
  var user_meta_1 = require("./entities/user.meta");
24
+ Object.defineProperty(exports, "assigneeMeta", { enumerable: true, get: function () { return user_meta_1.assigneeMeta; } });
13
25
  Object.defineProperty(exports, "authorMeta", { enumerable: true, get: function () { return user_meta_1.authorMeta; } });
14
26
  Object.defineProperty(exports, "ownerMeta", { enumerable: true, get: function () { return user_meta_1.ownerMeta; } });
15
27
  Object.defineProperty(exports, "userMeta", { enumerable: true, get: function () { return user_meta_1.userMeta; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/foundations/user/index.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAAtD,uGAAA,WAAW,OAAA;AAAE,2GAAA,eAAe,OAAA;AACrC,wCAA8G;AAA/F,sGAAA,cAAc,OAAA;AAAE,uGAAA,eAAe,OAAA;AAAE,0GAAA,kBAAkB,OAAA;AAAE,wGAAA,gBAAgB,OAAA;AACpF,kDAAuE;AAA9D,uGAAA,UAAU,OAAA;AAAE,sGAAA,SAAS,OAAA;AAAE,qGAAA,QAAQ,OAAA;AACxC,kEAAgE;AAAvD,iHAAA,cAAc,OAAA;AACvB,sEAAmE;AAA1D,wHAAA,iBAAiB,OAAA;AAC1B,wDAAsD;AAA7C,2GAAA,WAAW,OAAA;AACpB,6CAA2C;AAAlC,yGAAA,UAAU,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/foundations/user/index.ts"],"names":[],"mappings":";;;AAAA,iEAA+D;AAAtD,iHAAA,cAAc,OAAA;AACvB,4CAA+D;AAAtD,uGAAA,WAAW,OAAA;AAAE,2GAAA,eAAe,OAAA;AACrC,sEAAkE;AAAzD,2HAAA,kBAAkB,OAAA;AAC3B,kEAA8D;AAArD,uHAAA,gBAAgB,OAAA;AACzB,sDAAoE;AAA3D,gHAAA,eAAe,OAAA;AAAE,4GAAA,WAAW,OAAA;AACrC,oDAAiD;AAAxC,0GAAA,UAAU,OAAA;AACnB,wCAA8G;AAA/F,sGAAA,cAAc,OAAA;AAAE,uGAAA,eAAe,OAAA;AAAE,0GAAA,kBAAkB,OAAA;AAAE,wGAAA,gBAAgB,OAAA;AACpF,kDAAqF;AAA5E,yGAAA,YAAY,OAAA;AAAE,uGAAA,UAAU,OAAA;AAAE,sGAAA,SAAS,OAAA;AAAE,qGAAA,QAAQ,OAAA;AACtD,kEAAgE;AAAvD,iHAAA,cAAc,OAAA;AACvB,sEAAmE;AAA1D,wHAAA,iBAAiB,OAAA;AAC1B,wDAAsD;AAA7C,2GAAA,WAAW,OAAA;AACpB,6CAA2C;AAAlC,yGAAA,UAAU,OAAA"}
@@ -1,14 +1,59 @@
1
- import { OnModuleInit } from "@nestjs/common";
2
1
  import { ClsService } from "nestjs-cls";
3
2
  import { JsonApiCursorInterface } from "../../../core/jsonapi/interfaces/jsonapi.cursor.interface";
3
+ import { AbstractRepository } from "../../../core/neo4j/abstracts/abstract.repository";
4
4
  import { Neo4jService } from "../../../core/neo4j/services/neo4j.service";
5
- import { User } from "../../user/entities/user";
5
+ import { SecurityService } from "../../../core/security/services/security.service";
6
+ import { User, UserDescriptor } from "../../user/entities/user";
6
7
  import { UserCypherService } from "../../user/services/user.cypher.service";
7
- export declare class UserRepository implements OnModuleInit {
8
- private readonly neo4j;
9
- private readonly cls;
10
- private readonly userCypherService;
11
- constructor(neo4j: Neo4jService, cls: ClsService, userCypherService: UserCypherService);
8
+ /**
9
+ * User repository.
10
+ *
11
+ * Extends `AbstractRepository` so an application can subclass it (see
12
+ * `ExtendedUserRepository` in a consuming app) and have BOTH the inherited
13
+ * generic methods AND every method declared here resolve the *extended*
14
+ * descriptor. Model resolution is by subclass polymorphism — `this.descriptor`
15
+ * — never by a registry lookup: Nest constructs providers long before
16
+ * `onModuleInit`, where models are registered, so a registry lookup at
17
+ * construction time would yield `undefined`.
18
+ *
19
+ * The three domain methods whose names collide with the abstract's generic
20
+ * CRUD (`create` / `put` / `delete`) are named `createUser` / `putUser` /
21
+ * `deleteUser` so the inherited descriptor-driven CRUD stays reachable.
22
+ */
23
+ export declare class UserRepository extends AbstractRepository<User, typeof UserDescriptor.relationships> {
24
+ protected readonly userCypherService: UserCypherService;
25
+ protected readonly descriptor: import("../../..").EntityDescriptor<User, {
26
+ role: {
27
+ model: import("../../..").DataMeta;
28
+ direction: "out";
29
+ relationship: string;
30
+ cardinality: "many";
31
+ dtoKey: string;
32
+ readOnly: true;
33
+ };
34
+ company: {
35
+ model: import("../../..").DataModelInterface<import("../..").Company>;
36
+ direction: "out";
37
+ relationship: string;
38
+ cardinality: "one";
39
+ };
40
+ module: {
41
+ model: import("../../..").DataMeta;
42
+ direction: "out";
43
+ relationship: string;
44
+ cardinality: "many";
45
+ dtoKey: string;
46
+ };
47
+ }>;
48
+ constructor(neo4j: Neo4jService, securityService: SecurityService, clsService: ClsService, userCypherService: UserCypherService);
49
+ /**
50
+ * `AbstractRepository.onModuleInit` creates the constraints and indexes
51
+ * declared by the descriptor. `defineEntity` only ever emits the `id` UNIQUE
52
+ * constraint, so the User-specific `email` UNIQUE constraint is added here.
53
+ * The fulltext index is created by the parent from `descriptor.indexes`
54
+ * (`stringFields`), which excludes `password` and `code` — both carry
55
+ * `excludeFromSearch: true`.
56
+ */
12
57
  onModuleInit(): Promise<void>;
13
58
  makeCompanyAdmin(params: {
14
59
  userId: string;
@@ -66,7 +111,7 @@ export declare class UserRepository implements OnModuleInit {
66
111
  term?: string;
67
112
  cursor: JsonApiCursorInterface;
68
113
  }): Promise<User[]>;
69
- create(params: {
114
+ createUser(params: {
70
115
  userId: string;
71
116
  email: string;
72
117
  name: string;
@@ -85,11 +130,11 @@ export declare class UserRepository implements OnModuleInit {
85
130
  resetCode(params: {
86
131
  userId: string;
87
132
  }): Promise<User>;
88
- put(params: {
133
+ putUser(params: {
89
134
  isAdmin: boolean;
90
135
  userId: string;
91
136
  email: string;
92
- name: string;
137
+ name?: string;
93
138
  title?: string;
94
139
  bio?: string;
95
140
  password?: string;
@@ -114,7 +159,7 @@ export declare class UserRepository implements OnModuleInit {
114
159
  userId: string;
115
160
  avatar: string;
116
161
  }): Promise<void>;
117
- delete(params: {
162
+ deleteUser(params: {
118
163
  userId: string;
119
164
  }): Promise<void>;
120
165
  addUserToRole(params: {
@@ -1 +1 @@
1
- {"version":3,"file":"user.repository.d.ts","sourceRoot":"","sources":["../../../../src/foundations/user/repositories/user.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.repository.d.ts","sourceRoot":"","sources":["../../../../src/foundations/user/repositories/user.repository.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,9 @@ const common_1 = require("@nestjs/common");
14
14
  const crypto_1 = require("crypto");
15
15
  const nestjs_cls_1 = require("nestjs-cls");
16
16
  const system_roles_1 = require("../../../common/constants/system.roles");
17
+ const abstract_repository_1 = require("../../../core/neo4j/abstracts/abstract.repository");
17
18
  const neo4j_service_1 = require("../../../core/neo4j/services/neo4j.service");
19
+ const security_service_1 = require("../../../core/security/services/security.service");
18
20
  const company_meta_1 = require("../../company/entities/company.meta");
19
21
  const feature_meta_1 = require("../../feature/entities/feature.meta");
20
22
  const membership_query_1 = require("../../membership/queries/membership.query");
@@ -24,26 +26,40 @@ const role_meta_1 = require("../../role/entities/role.meta");
24
26
  const user_1 = require("../../user/entities/user");
25
27
  const user_meta_1 = require("../../user/entities/user.meta");
26
28
  const user_cypher_service_1 = require("../../user/services/user.cypher.service");
27
- let UserRepository = class UserRepository {
28
- constructor(neo4j, cls, userCypherService) {
29
- this.neo4j = neo4j;
30
- this.cls = cls;
29
+ /**
30
+ * User repository.
31
+ *
32
+ * Extends `AbstractRepository` so an application can subclass it (see
33
+ * `ExtendedUserRepository` in a consuming app) and have BOTH the inherited
34
+ * generic methods AND every method declared here resolve the *extended*
35
+ * descriptor. Model resolution is by subclass polymorphism — `this.descriptor`
36
+ * — never by a registry lookup: Nest constructs providers long before
37
+ * `onModuleInit`, where models are registered, so a registry lookup at
38
+ * construction time would yield `undefined`.
39
+ *
40
+ * The three domain methods whose names collide with the abstract's generic
41
+ * CRUD (`create` / `put` / `delete`) are named `createUser` / `putUser` /
42
+ * `deleteUser` so the inherited descriptor-driven CRUD stays reachable.
43
+ */
44
+ let UserRepository = class UserRepository extends abstract_repository_1.AbstractRepository {
45
+ constructor(neo4j, securityService, clsService, userCypherService) {
46
+ super(neo4j, securityService, clsService);
31
47
  this.userCypherService = userCypherService;
48
+ this.descriptor = user_1.UserDescriptor;
32
49
  }
50
+ /**
51
+ * `AbstractRepository.onModuleInit` creates the constraints and indexes
52
+ * declared by the descriptor. `defineEntity` only ever emits the `id` UNIQUE
53
+ * constraint, so the User-specific `email` UNIQUE constraint is added here.
54
+ * The fulltext index is created by the parent from `descriptor.indexes`
55
+ * (`stringFields`), which excludes `password` and `code` — both carry
56
+ * `excludeFromSearch: true`.
57
+ */
33
58
  async onModuleInit() {
34
- await this.neo4j.writeOne({
35
- query: `CREATE CONSTRAINT user_id IF NOT EXISTS FOR (user:User) REQUIRE user.id IS UNIQUE`,
36
- });
59
+ await super.onModuleInit();
37
60
  await this.neo4j.writeOne({
38
61
  query: `CREATE CONSTRAINT user_email IF NOT EXISTS FOR (user:User) REQUIRE user.email IS UNIQUE`,
39
62
  });
40
- // Create fulltext search index for user string fields
41
- if (user_1.UserDescriptor.fulltextIndexName && user_1.UserDescriptor.stringFields.length > 0) {
42
- await this.neo4j.writeOne({
43
- query: `CREATE FULLTEXT INDEX \`${user_1.UserDescriptor.fulltextIndexName}\` IF NOT EXISTS FOR (n:\`${user_meta_1.userMeta.labelName}\`) ON EACH [${user_1.UserDescriptor.stringFields.map((p) => `n.\`${p}\``).join(", ")}]`,
44
- queryParams: {},
45
- });
46
- }
47
63
  }
48
64
  async makeCompanyAdmin(params) {
49
65
  const query = this.neo4j.initQuery();
@@ -61,7 +77,7 @@ let UserRepository = class UserRepository {
61
77
  await this.neo4j.writeOne(query);
62
78
  }
63
79
  async findOneForAdmin(params) {
64
- const query = this.neo4j.initQuery({ serialiser: user_1.UserDescriptor.model });
80
+ const query = this.neo4j.initQuery({ serialiser: this.descriptor.model });
65
81
  query.queryParams = {
66
82
  userId: params.userId,
67
83
  };
@@ -85,7 +101,7 @@ let UserRepository = class UserRepository {
85
101
  * Returns user with roles, company, and features needed for token creation.
86
102
  */
87
103
  async findForTwoFactorLogin(params) {
88
- const query = this.neo4j.initQuery({ serialiser: user_1.UserDescriptor.model });
104
+ const query = this.neo4j.initQuery({ serialiser: this.descriptor.model });
89
105
  query.queryParams = {
90
106
  userId: params.userId,
91
107
  };
@@ -112,7 +128,7 @@ let UserRepository = class UserRepository {
112
128
  return this.neo4j.readOne(query);
113
129
  }
114
130
  async findFullUser(params) {
115
- let query = this.neo4j.initQuery({ serialiser: user_1.UserDescriptor.model });
131
+ let query = this.neo4j.initQuery({ serialiser: this.descriptor.model });
116
132
  query.queryParams = {
117
133
  ...query.queryParams,
118
134
  searchValue: params.userId,
@@ -158,7 +174,7 @@ let UserRepository = class UserRepository {
158
174
  return user;
159
175
  }
160
176
  async findByUserId(params) {
161
- const query = this.neo4j.initQuery({ serialiser: user_1.UserDescriptor.model });
177
+ const query = this.neo4j.initQuery({ serialiser: this.descriptor.model });
162
178
  query.queryParams = {
163
179
  ...query.queryParams,
164
180
  userId: params.userId,
@@ -180,7 +196,7 @@ let UserRepository = class UserRepository {
180
196
  return this.neo4j.readOne(query);
181
197
  }
182
198
  async findByEmail(params) {
183
- const query = this.neo4j.initQuery({ serialiser: user_1.UserDescriptor.model });
199
+ const query = this.neo4j.initQuery({ serialiser: this.descriptor.model });
184
200
  query.queryParams = {
185
201
  email: params.email.toLowerCase(),
186
202
  };
@@ -208,7 +224,7 @@ let UserRepository = class UserRepository {
208
224
  return this.neo4j.readOne(query);
209
225
  }
210
226
  async findByCode(params) {
211
- const query = this.neo4j.initQuery({ serialiser: user_1.UserDescriptor.model });
227
+ const query = this.neo4j.initQuery({ serialiser: this.descriptor.model });
212
228
  query.queryParams = {
213
229
  code: params.code,
214
230
  };
@@ -227,13 +243,13 @@ let UserRepository = class UserRepository {
227
243
  return this.neo4j.readOne(query);
228
244
  }
229
245
  async findMany(params) {
230
- const query = this.neo4j.initQuery({ serialiser: user_1.UserDescriptor.model, cursor: params.cursor });
246
+ const query = this.neo4j.initQuery({ serialiser: this.descriptor.model, cursor: params.cursor });
231
247
  query.queryParams = {
232
248
  ...query.queryParams,
233
249
  term: params.term ? `*${params.term.toLowerCase()}*` : undefined,
234
250
  };
235
- if (params.term && user_1.UserDescriptor.fulltextIndexName) {
236
- query.query += `CALL db.index.fulltext.queryNodes("${user_1.UserDescriptor.fulltextIndexName}", $term)
251
+ if (params.term && this.descriptor.fulltextIndexName) {
252
+ query.query += `CALL db.index.fulltext.queryNodes("${this.descriptor.fulltextIndexName}", $term)
237
253
  YIELD node, score
238
254
  WHERE (node)-[:BELONGS_TO]->(company)
239
255
 
@@ -257,7 +273,7 @@ let UserRepository = class UserRepository {
257
273
  return this.neo4j.readMany(query);
258
274
  }
259
275
  async findManyByContentIds(params) {
260
- const query = this.neo4j.initQuery({ serialiser: user_1.UserDescriptor.model, fetchAll: true });
276
+ const query = this.neo4j.initQuery({ serialiser: this.descriptor.model, fetchAll: true });
261
277
  query.queryParams = {
262
278
  ...query.queryParams,
263
279
  term: params.term,
@@ -276,7 +292,7 @@ let UserRepository = class UserRepository {
276
292
  return this.neo4j.readMany(query);
277
293
  }
278
294
  async findManyByCompany(params) {
279
- const query = this.neo4j.initQuery({ serialiser: user_1.UserDescriptor.model, cursor: params.cursor });
295
+ const query = this.neo4j.initQuery({ serialiser: this.descriptor.model, cursor: params.cursor });
280
296
  query.queryParams = {
281
297
  companyId: params.companyId,
282
298
  term: params.term,
@@ -292,7 +308,7 @@ let UserRepository = class UserRepository {
292
308
  return this.neo4j.readMany(query);
293
309
  }
294
310
  async findInRole(params) {
295
- const query = this.neo4j.initQuery({ serialiser: user_1.UserDescriptor.model, cursor: params.cursor });
311
+ const query = this.neo4j.initQuery({ serialiser: this.descriptor.model, cursor: params.cursor });
296
312
  query.queryParams = {
297
313
  ...query.queryParams,
298
314
  roleId: params.roleId,
@@ -314,7 +330,7 @@ let UserRepository = class UserRepository {
314
330
  return this.neo4j.readMany(query);
315
331
  }
316
332
  async findNotInRole(params) {
317
- const query = this.neo4j.initQuery({ serialiser: user_1.UserDescriptor.model, cursor: params.cursor });
333
+ const query = this.neo4j.initQuery({ serialiser: this.descriptor.model, cursor: params.cursor });
318
334
  query.queryParams = {
319
335
  ...query.queryParams,
320
336
  roleId: params.roleId,
@@ -340,10 +356,10 @@ let UserRepository = class UserRepository {
340
356
  `;
341
357
  return this.neo4j.readMany(query);
342
358
  }
343
- async create(params) {
359
+ async createUser(params) {
344
360
  const query = this.neo4j.initQuery();
345
361
  query.queryParams = {
346
- currentUserId: this.cls.has("userId") ? this.cls.get("userId") : null,
362
+ currentUserId: this.clsService.has("userId") ? this.clsService.get("userId") : null,
347
363
  userId: params.userId,
348
364
  email: params.email.toLowerCase(),
349
365
  name: params.name,
@@ -407,9 +423,12 @@ let UserRepository = class UserRepository {
407
423
  await this.neo4j.writeOne(query);
408
424
  return this.findByUserId({ userId: params.userId });
409
425
  }
410
- async put(params) {
426
+ async putUser(params) {
411
427
  const setClauses = [];
412
- setClauses.push("user.name = $name");
428
+ // `name` is optional on the PUT DTO: an omitted name must leave the stored
429
+ // name untouched, never overwrite it with null.
430
+ if (params.name !== undefined)
431
+ setClauses.push("user.name = $name");
413
432
  setClauses.push("user.email = $email");
414
433
  setClauses.push("user.title = $title");
415
434
  setClauses.push("user.bio = $bio");
@@ -513,7 +532,7 @@ let UserRepository = class UserRepository {
513
532
  `;
514
533
  await this.neo4j.writeOne(query);
515
534
  }
516
- async delete(params) {
535
+ async deleteUser(params) {
517
536
  const query = this.neo4j.initQuery();
518
537
  query.queryParams = {
519
538
  ...query.queryParams,
@@ -573,7 +592,7 @@ let UserRepository = class UserRepository {
573
592
  * These users have the Administrator role and receive internal payment notifications.
574
593
  */
575
594
  async findPlatformAdministrators() {
576
- const query = this.neo4j.initQuery({ serialiser: user_1.UserDescriptor.model, fetchAll: true });
595
+ const query = this.neo4j.initQuery({ serialiser: this.descriptor.model, fetchAll: true });
577
596
  query.queryParams = {
578
597
  administratorRoleId: system_roles_1.RoleId.Administrator,
579
598
  };
@@ -590,7 +609,7 @@ let UserRepository = class UserRepository {
590
609
  * Query path: StripeCustomer -> Company <- User with CompanyAdministrator role
591
610
  */
592
611
  async findCompanyAdminsByStripeCustomerId(params) {
593
- const query = this.neo4j.initQuery({ serialiser: user_1.UserDescriptor.model, fetchAll: true });
612
+ const query = this.neo4j.initQuery({ serialiser: this.descriptor.model, fetchAll: true });
594
613
  query.queryParams = {
595
614
  stripeCustomerId: params.stripeCustomerId,
596
615
  companyAdminRoleId: system_roles_1.RoleId.CompanyAdministrator,
@@ -616,7 +635,7 @@ let UserRepository = class UserRepository {
616
635
  * Used for deletion warning notifications
617
636
  */
618
637
  async findAdminsByCompanyId(params) {
619
- const query = this.neo4j.initQuery({ serialiser: user_1.UserDescriptor.model, fetchAll: true });
638
+ const query = this.neo4j.initQuery({ serialiser: this.descriptor.model, fetchAll: true });
620
639
  query.queryParams = {
621
640
  companyId: params.companyId,
622
641
  companyAdminRoleId: system_roles_1.RoleId.CompanyAdministrator,
@@ -636,6 +655,7 @@ exports.UserRepository = UserRepository;
636
655
  exports.UserRepository = UserRepository = __decorate([
637
656
  (0, common_1.Injectable)(),
638
657
  __metadata("design:paramtypes", [neo4j_service_1.Neo4jService,
658
+ security_service_1.SecurityService,
639
659
  nestjs_cls_1.ClsService,
640
660
  user_cypher_service_1.UserCypherService])
641
661
  ], UserRepository);