@authup/server-core 1.0.0-beta.17 → 1.0.0-beta.19

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 (444) hide show
  1. package/dist/commands/reset.js +1 -2
  2. package/dist/commands/reset.js.map +1 -1
  3. package/dist/commands/setup.js +1 -2
  4. package/dist/commands/setup.js.map +1 -1
  5. package/dist/commands/start.js +1 -2
  6. package/dist/commands/start.js.map +1 -1
  7. package/dist/config/build.js +1 -2
  8. package/dist/config/build.js.map +1 -1
  9. package/dist/config/module.js +3 -4
  10. package/dist/config/module.js.map +1 -1
  11. package/dist/config/parse.js +1 -2
  12. package/dist/config/parse.js.map +1 -1
  13. package/dist/config/services/logger.js +1 -2
  14. package/dist/config/services/logger.js.map +1 -1
  15. package/dist/config/services/redis.js +2 -3
  16. package/dist/config/services/redis.js.map +1 -1
  17. package/dist/config/services/smtp.js +1 -2
  18. package/dist/config/services/smtp.js.map +1 -1
  19. package/dist/config/services/vault.js +1 -2
  20. package/dist/config/services/vault.js.map +1 -1
  21. package/dist/config/setup.js +1 -2
  22. package/dist/config/setup.js.map +1 -1
  23. package/dist/config/utils/database.js +3 -4
  24. package/dist/config/utils/database.js.map +1 -1
  25. package/dist/config/utils/env.js +1 -2
  26. package/dist/config/utils/env.js.map +1 -1
  27. package/dist/core/domain-event-publisher/module.js +2 -3
  28. package/dist/core/domain-event-publisher/module.js.map +1 -1
  29. package/dist/core/request-validator/module.d.ts +1 -1
  30. package/dist/core/request-validator/module.d.ts.map +1 -1
  31. package/dist/core/request-validator/module.js +5 -3
  32. package/dist/core/request-validator/module.js.map +1 -1
  33. package/dist/core/smtp/module.js +1 -2
  34. package/dist/core/smtp/module.js.map +1 -1
  35. package/dist/core/smtp/singleton.js +3 -4
  36. package/dist/core/smtp/singleton.js.map +1 -1
  37. package/dist/database/helpers/data-source-options.js +2 -3
  38. package/dist/database/helpers/data-source-options.js.map +1 -1
  39. package/dist/database/helpers/entities.js +1 -2
  40. package/dist/database/helpers/entities.js.map +1 -1
  41. package/dist/database/helpers/subscribers.d.ts.map +1 -1
  42. package/dist/database/helpers/subscribers.js +4 -2
  43. package/dist/database/helpers/subscribers.js.map +1 -1
  44. package/dist/database/helpers/uniqueness.js +1 -2
  45. package/dist/database/helpers/uniqueness.js.map +1 -1
  46. package/dist/database/seeds/utils.js +1 -2
  47. package/dist/database/seeds/utils.js.map +1 -1
  48. package/dist/database/subscribers/index.d.ts +3 -0
  49. package/dist/database/subscribers/index.d.ts.map +1 -1
  50. package/dist/database/subscribers/index.js +3 -0
  51. package/dist/database/subscribers/index.js.map +1 -1
  52. package/dist/database/subscribers/permission.d.ts +9 -0
  53. package/dist/database/subscribers/permission.d.ts.map +1 -0
  54. package/dist/database/subscribers/permission.js +79 -0
  55. package/dist/database/subscribers/permission.js.map +1 -0
  56. package/dist/database/subscribers/policy-attribute.d.ts +9 -0
  57. package/dist/database/subscribers/policy-attribute.d.ts.map +1 -0
  58. package/dist/database/subscribers/policy-attribute.js +91 -0
  59. package/dist/database/subscribers/policy-attribute.js.map +1 -0
  60. package/dist/database/subscribers/policy.d.ts +9 -0
  61. package/dist/database/subscribers/policy.d.ts.map +1 -0
  62. package/dist/database/subscribers/policy.js +79 -0
  63. package/dist/database/subscribers/policy.js.map +1 -0
  64. package/dist/domains/constants.d.ts +2 -0
  65. package/dist/domains/constants.d.ts.map +1 -1
  66. package/dist/domains/constants.js +2 -0
  67. package/dist/domains/constants.js.map +1 -1
  68. package/dist/domains/identity-provider/flow/factory.js +1 -2
  69. package/dist/domains/identity-provider/flow/factory.js.map +1 -1
  70. package/dist/domains/identity-provider/protocol/ldap/extract.js +1 -2
  71. package/dist/domains/identity-provider/protocol/ldap/extract.js.map +1 -1
  72. package/dist/domains/identity-provider/protocol/ldap/validation.js +1 -2
  73. package/dist/domains/identity-provider/protocol/ldap/validation.js.map +1 -1
  74. package/dist/domains/identity-provider/protocol/oauth2/extract.js +1 -2
  75. package/dist/domains/identity-provider/protocol/oauth2/extract.js.map +1 -1
  76. package/dist/domains/identity-provider/protocol/oauth2/validation.js +1 -2
  77. package/dist/domains/identity-provider/protocol/oauth2/validation.js.map +1 -1
  78. package/dist/domains/key/utils/sign.js +1 -2
  79. package/dist/domains/key/utils/sign.js.map +1 -1
  80. package/dist/domains/key/utils/singleton.js +1 -2
  81. package/dist/domains/key/utils/singleton.js.map +1 -1
  82. package/dist/domains/key/utils/verify.js +1 -2
  83. package/dist/domains/key/utils/verify.js.map +1 -1
  84. package/dist/domains/policy/built-in/attribute-names.js +1 -2
  85. package/dist/domains/policy/built-in/attribute-names.js.map +1 -1
  86. package/dist/domains/policy/built-in/attributes.js +1 -2
  87. package/dist/domains/policy/built-in/attributes.js.map +1 -1
  88. package/dist/domains/policy/built-in/date.js +1 -2
  89. package/dist/domains/policy/built-in/date.js.map +1 -1
  90. package/dist/domains/policy/built-in/time.js +1 -2
  91. package/dist/domains/policy/built-in/time.js.map +1 -1
  92. package/dist/domains/policy/repository.d.ts +1 -1
  93. package/dist/domains/policy/repository.d.ts.map +1 -1
  94. package/dist/domains/policy/repository.js +6 -5
  95. package/dist/domains/policy/repository.js.map +1 -1
  96. package/dist/domains/realm/utils/query.js +2 -3
  97. package/dist/domains/realm/utils/query.js.map +1 -1
  98. package/dist/domains/realm/utils/resolve.js +1 -2
  99. package/dist/domains/realm/utils/resolve.js.map +1 -1
  100. package/dist/domains/robot/vault.js +4 -5
  101. package/dist/domains/robot/vault.js.map +1 -1
  102. package/dist/domains/robot-permission/entity.js +1 -1
  103. package/dist/domains/robot-permission/entity.js.map +1 -1
  104. package/dist/domains/role/repository.d.ts +3 -2
  105. package/dist/domains/role/repository.d.ts.map +1 -1
  106. package/dist/domains/role/repository.js +16 -4
  107. package/dist/domains/role/repository.js.map +1 -1
  108. package/dist/domains/role-attribute/entity.d.ts +1 -1
  109. package/dist/domains/role-attribute/entity.d.ts.map +1 -1
  110. package/dist/domains/role-attribute/entity.js +3 -3
  111. package/dist/domains/role-attribute/entity.js.map +1 -1
  112. package/dist/domains/role-permission/entity.js +1 -1
  113. package/dist/domains/role-permission/entity.js.map +1 -1
  114. package/dist/domains/user-permission/entity.js +1 -1
  115. package/dist/domains/user-permission/entity.js.map +1 -1
  116. package/dist/http/controllers/client/handlers/create.d.ts.map +1 -1
  117. package/dist/http/controllers/client/handlers/create.js +5 -3
  118. package/dist/http/controllers/client/handlers/create.js.map +1 -1
  119. package/dist/http/controllers/client/handlers/delete.d.ts.map +1 -1
  120. package/dist/http/controllers/client/handlers/delete.js +7 -4
  121. package/dist/http/controllers/client/handlers/delete.js.map +1 -1
  122. package/dist/http/controllers/client/handlers/read.d.ts.map +1 -1
  123. package/dist/http/controllers/client/handlers/read.js +22 -8
  124. package/dist/http/controllers/client/handlers/read.js.map +1 -1
  125. package/dist/http/controllers/client/handlers/update.d.ts.map +1 -1
  126. package/dist/http/controllers/client/handlers/update.js +6 -4
  127. package/dist/http/controllers/client/handlers/update.js.map +1 -1
  128. package/dist/http/controllers/client-scope/handlers/create.d.ts.map +1 -1
  129. package/dist/http/controllers/client-scope/handlers/create.js +5 -3
  130. package/dist/http/controllers/client-scope/handlers/create.js.map +1 -1
  131. package/dist/http/controllers/client-scope/handlers/delete.d.ts.map +1 -1
  132. package/dist/http/controllers/client-scope/handlers/delete.js +7 -4
  133. package/dist/http/controllers/client-scope/handlers/delete.js.map +1 -1
  134. package/dist/http/controllers/client-scope/handlers/read.d.ts.map +1 -1
  135. package/dist/http/controllers/client-scope/handlers/read.js +18 -4
  136. package/dist/http/controllers/client-scope/handlers/read.js.map +1 -1
  137. package/dist/http/controllers/identity-provide-role/handlers/create.d.ts.map +1 -1
  138. package/dist/http/controllers/identity-provide-role/handlers/create.js +5 -3
  139. package/dist/http/controllers/identity-provide-role/handlers/create.js.map +1 -1
  140. package/dist/http/controllers/identity-provide-role/handlers/delete.d.ts.map +1 -1
  141. package/dist/http/controllers/identity-provide-role/handlers/delete.js +7 -4
  142. package/dist/http/controllers/identity-provide-role/handlers/delete.js.map +1 -1
  143. package/dist/http/controllers/identity-provide-role/handlers/read.d.ts.map +1 -1
  144. package/dist/http/controllers/identity-provide-role/handlers/read.js +18 -4
  145. package/dist/http/controllers/identity-provide-role/handlers/read.js.map +1 -1
  146. package/dist/http/controllers/identity-provide-role/handlers/update.d.ts.map +1 -1
  147. package/dist/http/controllers/identity-provide-role/handlers/update.js +6 -4
  148. package/dist/http/controllers/identity-provide-role/handlers/update.js.map +1 -1
  149. package/dist/http/controllers/identity-provider/handlers/create.d.ts.map +1 -1
  150. package/dist/http/controllers/identity-provider/handlers/create.js +5 -3
  151. package/dist/http/controllers/identity-provider/handlers/create.js.map +1 -1
  152. package/dist/http/controllers/identity-provider/handlers/custom.d.ts.map +1 -1
  153. package/dist/http/controllers/identity-provider/handlers/custom.js +5 -5
  154. package/dist/http/controllers/identity-provider/handlers/custom.js.map +1 -1
  155. package/dist/http/controllers/identity-provider/handlers/delete.d.ts.map +1 -1
  156. package/dist/http/controllers/identity-provider/handlers/delete.js +10 -7
  157. package/dist/http/controllers/identity-provider/handlers/delete.js.map +1 -1
  158. package/dist/http/controllers/identity-provider/handlers/read.d.ts.map +1 -1
  159. package/dist/http/controllers/identity-provider/handlers/read.js +12 -6
  160. package/dist/http/controllers/identity-provider/handlers/read.js.map +1 -1
  161. package/dist/http/controllers/identity-provider/handlers/update.d.ts.map +1 -1
  162. package/dist/http/controllers/identity-provider/handlers/update.js +6 -4
  163. package/dist/http/controllers/identity-provider/handlers/update.js.map +1 -1
  164. package/dist/http/controllers/identity-provider/module.js +2 -2
  165. package/dist/http/controllers/identity-provider/module.js.map +1 -1
  166. package/dist/http/controllers/permission/handlers/create.d.ts.map +1 -1
  167. package/dist/http/controllers/permission/handlers/create.js +5 -3
  168. package/dist/http/controllers/permission/handlers/create.js.map +1 -1
  169. package/dist/http/controllers/permission/handlers/delete.d.ts.map +1 -1
  170. package/dist/http/controllers/permission/handlers/delete.js +7 -4
  171. package/dist/http/controllers/permission/handlers/delete.js.map +1 -1
  172. package/dist/http/controllers/permission/handlers/read.d.ts.map +1 -1
  173. package/dist/http/controllers/permission/handlers/read.js +20 -4
  174. package/dist/http/controllers/permission/handlers/read.js.map +1 -1
  175. package/dist/http/controllers/permission/handlers/update.d.ts.map +1 -1
  176. package/dist/http/controllers/permission/handlers/update.js +6 -4
  177. package/dist/http/controllers/permission/handlers/update.js.map +1 -1
  178. package/dist/http/controllers/policy/handlers/create.d.ts.map +1 -1
  179. package/dist/http/controllers/policy/handlers/create.js +5 -3
  180. package/dist/http/controllers/policy/handlers/create.js.map +1 -1
  181. package/dist/http/controllers/policy/handlers/delete.d.ts.map +1 -1
  182. package/dist/http/controllers/policy/handlers/delete.js +7 -4
  183. package/dist/http/controllers/policy/handlers/delete.js.map +1 -1
  184. package/dist/http/controllers/policy/handlers/read.d.ts.map +1 -1
  185. package/dist/http/controllers/policy/handlers/read.js +20 -4
  186. package/dist/http/controllers/policy/handlers/read.js.map +1 -1
  187. package/dist/http/controllers/policy/handlers/update.d.ts.map +1 -1
  188. package/dist/http/controllers/policy/handlers/update.js +6 -4
  189. package/dist/http/controllers/policy/handlers/update.js.map +1 -1
  190. package/dist/http/controllers/policy/utils/validation.d.ts.map +1 -1
  191. package/dist/http/controllers/policy/utils/validation.js +9 -7
  192. package/dist/http/controllers/policy/utils/validation.js.map +1 -1
  193. package/dist/http/controllers/realm/handlers/create.d.ts.map +1 -1
  194. package/dist/http/controllers/realm/handlers/create.js +5 -3
  195. package/dist/http/controllers/realm/handlers/create.js.map +1 -1
  196. package/dist/http/controllers/realm/handlers/delete.d.ts.map +1 -1
  197. package/dist/http/controllers/realm/handlers/delete.js +9 -6
  198. package/dist/http/controllers/realm/handlers/delete.js.map +1 -1
  199. package/dist/http/controllers/realm/handlers/jwks.d.ts.map +1 -1
  200. package/dist/http/controllers/realm/handlers/jwks.js +3 -3
  201. package/dist/http/controllers/realm/handlers/jwks.js.map +1 -1
  202. package/dist/http/controllers/realm/handlers/openid.d.ts.map +1 -1
  203. package/dist/http/controllers/realm/handlers/openid.js +3 -3
  204. package/dist/http/controllers/realm/handlers/openid.js.map +1 -1
  205. package/dist/http/controllers/realm/handlers/read.d.ts.map +1 -1
  206. package/dist/http/controllers/realm/handlers/read.js +6 -7
  207. package/dist/http/controllers/realm/handlers/read.js.map +1 -1
  208. package/dist/http/controllers/realm/handlers/update.d.ts.map +1 -1
  209. package/dist/http/controllers/realm/handlers/update.js +6 -4
  210. package/dist/http/controllers/realm/handlers/update.js.map +1 -1
  211. package/dist/http/controllers/register.js +1 -2
  212. package/dist/http/controllers/register.js.map +1 -1
  213. package/dist/http/controllers/robot/handlers/create.d.ts.map +1 -1
  214. package/dist/http/controllers/robot/handlers/create.js +6 -9
  215. package/dist/http/controllers/robot/handlers/create.js.map +1 -1
  216. package/dist/http/controllers/robot/handlers/delete.d.ts.map +1 -1
  217. package/dist/http/controllers/robot/handlers/delete.js +6 -9
  218. package/dist/http/controllers/robot/handlers/delete.js.map +1 -1
  219. package/dist/http/controllers/robot/handlers/integrity.d.ts.map +1 -1
  220. package/dist/http/controllers/robot/handlers/integrity.js +3 -3
  221. package/dist/http/controllers/robot/handlers/integrity.js.map +1 -1
  222. package/dist/http/controllers/robot/handlers/read.d.ts.map +1 -1
  223. package/dist/http/controllers/robot/handlers/read.js +22 -8
  224. package/dist/http/controllers/robot/handlers/read.js.map +1 -1
  225. package/dist/http/controllers/robot/handlers/update.d.ts.map +1 -1
  226. package/dist/http/controllers/robot/handlers/update.js +5 -9
  227. package/dist/http/controllers/robot/handlers/update.js.map +1 -1
  228. package/dist/http/controllers/robot-permission/handlers/create.js +5 -6
  229. package/dist/http/controllers/robot-permission/handlers/create.js.map +1 -1
  230. package/dist/http/controllers/robot-permission/handlers/delete.d.ts.map +1 -1
  231. package/dist/http/controllers/robot-permission/handlers/delete.js +7 -5
  232. package/dist/http/controllers/robot-permission/handlers/delete.js.map +1 -1
  233. package/dist/http/controllers/robot-permission/handlers/read.d.ts.map +1 -1
  234. package/dist/http/controllers/robot-permission/handlers/read.js +16 -4
  235. package/dist/http/controllers/robot-permission/handlers/read.js.map +1 -1
  236. package/dist/http/controllers/robot-role/handlers/create.js +5 -6
  237. package/dist/http/controllers/robot-role/handlers/create.js.map +1 -1
  238. package/dist/http/controllers/robot-role/handlers/delete.d.ts.map +1 -1
  239. package/dist/http/controllers/robot-role/handlers/delete.js +9 -11
  240. package/dist/http/controllers/robot-role/handlers/delete.js.map +1 -1
  241. package/dist/http/controllers/robot-role/handlers/read.d.ts.map +1 -1
  242. package/dist/http/controllers/robot-role/handlers/read.js +18 -4
  243. package/dist/http/controllers/robot-role/handlers/read.js.map +1 -1
  244. package/dist/http/controllers/role/handlers/create.d.ts.map +1 -1
  245. package/dist/http/controllers/role/handlers/create.js +5 -3
  246. package/dist/http/controllers/role/handlers/create.js.map +1 -1
  247. package/dist/http/controllers/role/handlers/delete.d.ts.map +1 -1
  248. package/dist/http/controllers/role/handlers/delete.js +7 -4
  249. package/dist/http/controllers/role/handlers/delete.js.map +1 -1
  250. package/dist/http/controllers/role/handlers/read.d.ts.map +1 -1
  251. package/dist/http/controllers/role/handlers/read.js +20 -4
  252. package/dist/http/controllers/role/handlers/read.js.map +1 -1
  253. package/dist/http/controllers/role/handlers/update.d.ts.map +1 -1
  254. package/dist/http/controllers/role/handlers/update.js +6 -4
  255. package/dist/http/controllers/role/handlers/update.js.map +1 -1
  256. package/dist/http/controllers/role-attribute/handlers/create.js +2 -3
  257. package/dist/http/controllers/role-attribute/handlers/create.js.map +1 -1
  258. package/dist/http/controllers/role-attribute/handlers/delete.d.ts.map +1 -1
  259. package/dist/http/controllers/role-attribute/handlers/delete.js +4 -4
  260. package/dist/http/controllers/role-attribute/handlers/delete.js.map +1 -1
  261. package/dist/http/controllers/role-attribute/handlers/read.d.ts.map +1 -1
  262. package/dist/http/controllers/role-attribute/handlers/read.js +15 -6
  263. package/dist/http/controllers/role-attribute/handlers/read.js.map +1 -1
  264. package/dist/http/controllers/role-attribute/handlers/update.js +3 -4
  265. package/dist/http/controllers/role-attribute/handlers/update.js.map +1 -1
  266. package/dist/http/controllers/role-permission/handlers/create.js +5 -6
  267. package/dist/http/controllers/role-permission/handlers/create.js.map +1 -1
  268. package/dist/http/controllers/role-permission/handlers/delete.d.ts.map +1 -1
  269. package/dist/http/controllers/role-permission/handlers/delete.js +5 -5
  270. package/dist/http/controllers/role-permission/handlers/delete.js.map +1 -1
  271. package/dist/http/controllers/role-permission/handlers/read.d.ts.map +1 -1
  272. package/dist/http/controllers/role-permission/handlers/read.js +18 -4
  273. package/dist/http/controllers/role-permission/handlers/read.js.map +1 -1
  274. package/dist/http/controllers/root/authorize/handlers/run.js +1 -2
  275. package/dist/http/controllers/root/authorize/handlers/run.js.map +1 -1
  276. package/dist/http/controllers/root/base/handlers/activate.js +2 -2
  277. package/dist/http/controllers/root/base/handlers/activate.js.map +1 -1
  278. package/dist/http/controllers/root/base/handlers/password-forgot.js +2 -2
  279. package/dist/http/controllers/root/base/handlers/password-forgot.js.map +1 -1
  280. package/dist/http/controllers/root/base/handlers/password-reset.js +2 -2
  281. package/dist/http/controllers/root/base/handlers/password-reset.js.map +1 -1
  282. package/dist/http/controllers/root/base/handlers/register.js +2 -2
  283. package/dist/http/controllers/root/base/handlers/register.js.map +1 -1
  284. package/dist/http/controllers/root/jwks/handlers/read.d.ts.map +1 -1
  285. package/dist/http/controllers/root/jwks/handlers/read.js +4 -4
  286. package/dist/http/controllers/root/jwks/handlers/read.js.map +1 -1
  287. package/dist/http/controllers/root/openid/handlers/configuration.js +1 -2
  288. package/dist/http/controllers/root/openid/handlers/configuration.js.map +1 -1
  289. package/dist/http/controllers/root/status/module.js +2 -3
  290. package/dist/http/controllers/root/status/module.js.map +1 -1
  291. package/dist/http/controllers/root/token/handlers/create.js +1 -2
  292. package/dist/http/controllers/root/token/handlers/create.js.map +1 -1
  293. package/dist/http/controllers/root/token/handlers/introspect.js +2 -2
  294. package/dist/http/controllers/root/token/handlers/introspect.js.map +1 -1
  295. package/dist/http/controllers/scope/handlers/create.d.ts.map +1 -1
  296. package/dist/http/controllers/scope/handlers/create.js +5 -3
  297. package/dist/http/controllers/scope/handlers/create.js.map +1 -1
  298. package/dist/http/controllers/scope/handlers/delete.d.ts.map +1 -1
  299. package/dist/http/controllers/scope/handlers/delete.js +7 -4
  300. package/dist/http/controllers/scope/handlers/delete.js.map +1 -1
  301. package/dist/http/controllers/scope/handlers/read.d.ts.map +1 -1
  302. package/dist/http/controllers/scope/handlers/read.js +20 -4
  303. package/dist/http/controllers/scope/handlers/read.js.map +1 -1
  304. package/dist/http/controllers/scope/handlers/update.d.ts.map +1 -1
  305. package/dist/http/controllers/scope/handlers/update.js +6 -4
  306. package/dist/http/controllers/scope/handlers/update.js.map +1 -1
  307. package/dist/http/controllers/user/handlers/create.d.ts.map +1 -1
  308. package/dist/http/controllers/user/handlers/create.js +6 -4
  309. package/dist/http/controllers/user/handlers/create.js.map +1 -1
  310. package/dist/http/controllers/user/handlers/delete.d.ts.map +1 -1
  311. package/dist/http/controllers/user/handlers/delete.js +7 -4
  312. package/dist/http/controllers/user/handlers/delete.js.map +1 -1
  313. package/dist/http/controllers/user/handlers/read.d.ts.map +1 -1
  314. package/dist/http/controllers/user/handlers/read.js +34 -21
  315. package/dist/http/controllers/user/handlers/read.js.map +1 -1
  316. package/dist/http/controllers/user/handlers/update.js +4 -5
  317. package/dist/http/controllers/user/handlers/update.js.map +1 -1
  318. package/dist/http/controllers/user-attribute/handlers/create.d.ts.map +1 -1
  319. package/dist/http/controllers/user-attribute/handlers/create.js +21 -10
  320. package/dist/http/controllers/user-attribute/handlers/create.js.map +1 -1
  321. package/dist/http/controllers/user-attribute/handlers/delete.d.ts.map +1 -1
  322. package/dist/http/controllers/user-attribute/handlers/delete.js +10 -8
  323. package/dist/http/controllers/user-attribute/handlers/delete.js.map +1 -1
  324. package/dist/http/controllers/user-attribute/handlers/read.d.ts.map +1 -1
  325. package/dist/http/controllers/user-attribute/handlers/read.js +24 -15
  326. package/dist/http/controllers/user-attribute/handlers/read.js.map +1 -1
  327. package/dist/http/controllers/user-attribute/handlers/update.d.ts.map +1 -1
  328. package/dist/http/controllers/user-attribute/handlers/update.js +6 -5
  329. package/dist/http/controllers/user-attribute/handlers/update.js.map +1 -1
  330. package/dist/http/controllers/user-attribute/utils/validation.js +2 -2
  331. package/dist/http/controllers/user-attribute/utils/validation.js.map +1 -1
  332. package/dist/http/controllers/user-permission/handlers/create.js +5 -6
  333. package/dist/http/controllers/user-permission/handlers/create.js.map +1 -1
  334. package/dist/http/controllers/user-permission/handlers/delete.d.ts.map +1 -1
  335. package/dist/http/controllers/user-permission/handlers/delete.js +5 -5
  336. package/dist/http/controllers/user-permission/handlers/delete.js.map +1 -1
  337. package/dist/http/controllers/user-permission/handlers/read.d.ts.map +1 -1
  338. package/dist/http/controllers/user-permission/handlers/read.js +18 -4
  339. package/dist/http/controllers/user-permission/handlers/read.js.map +1 -1
  340. package/dist/http/controllers/user-role/handlers/create.js +5 -6
  341. package/dist/http/controllers/user-role/handlers/create.js.map +1 -1
  342. package/dist/http/controllers/user-role/handlers/delete.d.ts.map +1 -1
  343. package/dist/http/controllers/user-role/handlers/delete.js +5 -5
  344. package/dist/http/controllers/user-role/handlers/delete.js.map +1 -1
  345. package/dist/http/controllers/user-role/handlers/read.d.ts.map +1 -1
  346. package/dist/http/controllers/user-role/handlers/read.js +18 -4
  347. package/dist/http/controllers/user-role/handlers/read.js.map +1 -1
  348. package/dist/http/middleware/built-in/auth/module.js +1 -2
  349. package/dist/http/middleware/built-in/auth/module.js.map +1 -1
  350. package/dist/http/middleware/built-in/auth/verify.js +1 -2
  351. package/dist/http/middleware/built-in/auth/verify.js.map +1 -1
  352. package/dist/http/middleware/built-in/basic.js +1 -2
  353. package/dist/http/middleware/built-in/basic.js.map +1 -1
  354. package/dist/http/middleware/built-in/cors.js +1 -2
  355. package/dist/http/middleware/built-in/cors.js.map +1 -1
  356. package/dist/http/middleware/built-in/error.d.ts.map +1 -1
  357. package/dist/http/middleware/built-in/error.js +2 -2
  358. package/dist/http/middleware/built-in/error.js.map +1 -1
  359. package/dist/http/middleware/built-in/loggedin/module.js +2 -2
  360. package/dist/http/middleware/built-in/loggedin/module.js.map +1 -1
  361. package/dist/http/middleware/built-in/logger.js +1 -2
  362. package/dist/http/middleware/built-in/logger.js.map +1 -1
  363. package/dist/http/middleware/built-in/prometheus.js +1 -2
  364. package/dist/http/middleware/built-in/prometheus.js.map +1 -1
  365. package/dist/http/middleware/built-in/rate-limit.js +1 -2
  366. package/dist/http/middleware/built-in/rate-limit.js.map +1 -1
  367. package/dist/http/middleware/built-in/swagger.js +1 -2
  368. package/dist/http/middleware/built-in/swagger.js.map +1 -1
  369. package/dist/http/middleware/module.js +1 -2
  370. package/dist/http/middleware/module.js.map +1 -1
  371. package/dist/http/middleware/utils.js +2 -3
  372. package/dist/http/middleware/utils.js.map +1 -1
  373. package/dist/http/oauth2/authorize/module.js +1 -2
  374. package/dist/http/oauth2/authorize/module.js.map +1 -1
  375. package/dist/http/oauth2/authorize/validation.js +2 -2
  376. package/dist/http/oauth2/authorize/validation.js.map +1 -1
  377. package/dist/http/oauth2/cleaner/event.js +1 -2
  378. package/dist/http/oauth2/cleaner/event.js.map +1 -1
  379. package/dist/http/oauth2/cleaner/interval.js +1 -2
  380. package/dist/http/oauth2/cleaner/interval.js.map +1 -1
  381. package/dist/http/oauth2/cleaner/module.js +1 -2
  382. package/dist/http/oauth2/cleaner/module.js.map +1 -1
  383. package/dist/http/oauth2/cleaner/utils.js +1 -2
  384. package/dist/http/oauth2/cleaner/utils.js.map +1 -1
  385. package/dist/http/oauth2/grant-types/utils/guess.js +1 -2
  386. package/dist/http/oauth2/grant-types/utils/guess.js.map +1 -1
  387. package/dist/http/oauth2/openid/claims.js +1 -2
  388. package/dist/http/oauth2/openid/claims.js.map +1 -1
  389. package/dist/http/oauth2/response/bearer.js +1 -2
  390. package/dist/http/oauth2/response/bearer.js.map +1 -1
  391. package/dist/http/oauth2/response/utils/type.js +1 -2
  392. package/dist/http/oauth2/response/utils/type.js.map +1 -1
  393. package/dist/http/oauth2/scope/check.js +1 -2
  394. package/dist/http/oauth2/scope/check.js.map +1 -1
  395. package/dist/http/oauth2/scope/resolve.js +1 -2
  396. package/dist/http/oauth2/scope/resolve.js.map +1 -1
  397. package/dist/http/oauth2/token/builder/access-token.js +1 -2
  398. package/dist/http/oauth2/token/builder/access-token.js.map +1 -1
  399. package/dist/http/oauth2/token/builder/id-token.js +2 -3
  400. package/dist/http/oauth2/token/builder/id-token.js.map +1 -1
  401. package/dist/http/oauth2/token/builder/refresh-token.js +3 -4
  402. package/dist/http/oauth2/token/builder/refresh-token.js.map +1 -1
  403. package/dist/http/oauth2/token/payload/read.js +1 -2
  404. package/dist/http/oauth2/token/payload/read.js.map +1 -1
  405. package/dist/http/oauth2/token/permissions.js +1 -2
  406. package/dist/http/oauth2/token/permissions.js.map +1 -1
  407. package/dist/http/oauth2/token/sub.js +1 -2
  408. package/dist/http/oauth2/token/sub.js.map +1 -1
  409. package/dist/http/path.js +2 -3
  410. package/dist/http/path.js.map +1 -1
  411. package/dist/http/request/helper/id-param.d.ts +7 -0
  412. package/dist/http/request/helper/id-param.d.ts.map +1 -0
  413. package/dist/http/request/helper/id-param.js +28 -0
  414. package/dist/http/request/helper/id-param.js.map +1 -0
  415. package/dist/http/request/helper/index.d.ts +1 -0
  416. package/dist/http/request/helper/index.d.ts.map +1 -1
  417. package/dist/http/request/helper/index.js +1 -0
  418. package/dist/http/request/helper/index.js.map +1 -1
  419. package/dist/http/request/helper/master-realm.js +1 -2
  420. package/dist/http/request/helper/master-realm.js.map +1 -1
  421. package/dist/http/router/module.js +1 -2
  422. package/dist/http/router/module.js.map +1 -1
  423. package/dist/http/server/module.js +1 -2
  424. package/dist/http/server/module.js.map +1 -1
  425. package/dist/http/server/type.d.ts +0 -1
  426. package/dist/http/server/type.d.ts.map +1 -1
  427. package/dist/http/swagger/module.d.ts.map +1 -1
  428. package/dist/http/swagger/module.js +2 -2
  429. package/dist/http/swagger/module.js.map +1 -1
  430. package/dist/http/swagger/utils.js +1 -2
  431. package/dist/http/swagger/utils.js.map +1 -1
  432. package/dist/http/utils/env.js +2 -3
  433. package/dist/http/utils/env.js.map +1 -1
  434. package/dist/http/utils/owner.js +1 -2
  435. package/dist/http/utils/owner.js.map +1 -1
  436. package/dist/utils/attributes-extract.js +1 -2
  437. package/dist/utils/attributes-extract.js.map +1 -1
  438. package/dist/utils/error.js +3 -4
  439. package/dist/utils/error.js.map +1 -1
  440. package/dist/utils/self-id.d.ts +1 -1
  441. package/dist/utils/self-id.d.ts.map +1 -1
  442. package/dist/utils/self-id.js +1 -2
  443. package/dist/utils/self-id.js.map +1 -1
  444. package/package.json +14 -14
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../../src/http/controllers/user/handlers/create.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAShD,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,CAoCvF"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../../src/http/controllers/user/handlers/create.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAShD,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,CAwCvF"}
@@ -6,7 +6,7 @@
6
6
  * view the LICENSE file that was distributed with this source code.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.createUserRouteHandler = void 0;
9
+ exports.createUserRouteHandler = createUserRouteHandler;
10
10
  const http_1 = require("@ebec/http");
11
11
  const core_kit_1 = require("@authup/core-kit");
12
12
  const routup_1 = require("routup");
@@ -18,14 +18,14 @@ const utils_3 = require("../utils");
18
18
  const request_1 = require("../../../request");
19
19
  async function createUserRouteHandler(req, res) {
20
20
  const ability = (0, utils_2.useRequestEnv)(req, 'abilities');
21
- if (!ability.has(core_kit_1.PermissionName.USER_ADD)) {
21
+ if (!ability.has(core_kit_1.PermissionName.USER_CREATE)) {
22
22
  throw new http_1.ForbiddenError('You are not permitted to add a user.');
23
23
  }
24
24
  const validator = new utils_3.UserRequestValidator();
25
25
  const data = await validator.execute(req, {
26
26
  group: request_1.RequestHandlerOperation.CREATE,
27
27
  });
28
- if (!ability.has(core_kit_1.PermissionName.USER_ADD)) {
28
+ if (!ability.has(core_kit_1.PermissionName.USER_CREATE)) {
29
29
  delete data.name_locked;
30
30
  delete data.active;
31
31
  delete data.status;
@@ -35,6 +35,9 @@ async function createUserRouteHandler(req, res) {
35
35
  const { id: realmId } = (0, utils_2.useRequestEnv)(req, 'realm');
36
36
  data.realm_id = realmId;
37
37
  }
38
+ if (!ability.can(core_kit_1.PermissionName.USER_CREATE, { attributes: data })) {
39
+ throw new http_1.ForbiddenError();
40
+ }
38
41
  if (!(0, core_kit_1.isRealmResourceWritable)((0, utils_2.useRequestEnv)(req, 'realm'), data.realm_id)) {
39
42
  throw new http_1.BadRequestError((0, utils_1.buildErrorMessageForAttribute)('realm_id'));
40
43
  }
@@ -45,5 +48,4 @@ async function createUserRouteHandler(req, res) {
45
48
  delete entity.password;
46
49
  return (0, routup_1.sendCreated)(res, entity);
47
50
  }
48
- exports.createUserRouteHandler = createUserRouteHandler;
49
51
  //# sourceMappingURL=create.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user/handlers/create.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,qCAA6D;AAC7D,+CAA2E;AAE3E,mCAAqC;AACrC,yDAAkD;AAClD,iDAAqD;AACrD,6CAAkE;AAClE,0CAA+C;AAC/C,oCAAgD;AAChD,8CAA2D;AAEpD,KAAK,UAAU,sBAAsB,CAAC,GAAY,EAAE,GAAa;IACpE,MAAM,OAAO,GAAG,IAAA,qBAAa,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,qBAAc,CAAC,sCAAsC,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,4BAAoB,EAAE,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,KAAK,EAAE,iCAAuB,CAAC,MAAM;KACxC,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC,WAAW,CAAC;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC;QACnB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjB,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,IAAA,qBAAa,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,IAAA,kCAAuB,EAAC,IAAA,qBAAa,EAAC,GAAG,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,sBAAe,CAAC,IAAA,qCAA6B,EAAC,UAAU,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,IAAA,iCAAa,GAAE,CAAC;IACzC,MAAM,UAAU,GAAG,IAAI,wBAAc,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAE7D,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE9B,OAAO,MAAM,CAAC,QAAQ,CAAC;IAEvB,OAAO,IAAA,oBAAW,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC;AApCD,wDAoCC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user/handlers/create.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAaH,wDAwCC;AAnDD,qCAA6D;AAC7D,+CAA2E;AAE3E,mCAAqC;AACrC,yDAAkD;AAClD,iDAAqD;AACrD,6CAAkE;AAClE,0CAA+C;AAC/C,oCAAgD;AAChD,8CAA2D;AAEpD,KAAK,UAAU,sBAAsB,CAAC,GAAY,EAAE,GAAa;IACpE,MAAM,OAAO,GAAG,IAAA,qBAAa,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAc,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,qBAAc,CAAC,sCAAsC,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,4BAAoB,EAAE,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,KAAK,EAAE,iCAAuB,CAAC,MAAM;KACxC,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAc,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,WAAW,CAAC;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC;QACnB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjB,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,IAAA,qBAAa,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAc,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,qBAAc,EAAE,CAAC;IAC/B,CAAC;IAED,IAAI,CAAC,IAAA,kCAAuB,EAAC,IAAA,qBAAa,EAAC,GAAG,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,sBAAe,CAAC,IAAA,qCAA6B,EAAC,UAAU,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,IAAA,iCAAa,GAAE,CAAC;IACzC,MAAM,UAAU,GAAG,IAAI,wBAAc,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAE7D,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE9B,OAAO,MAAM,CAAC,QAAQ,CAAC;IAEvB,OAAO,IAAA,oBAAW,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../../src/http/controllers/user/handlers/delete.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAMhD,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,CA+BvF"}
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../../src/http/controllers/user/handlers/delete.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAOhD,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,CAmCvF"}
@@ -6,17 +6,18 @@
6
6
  * view the LICENSE file that was distributed with this source code.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.deleteUserRouteHandler = void 0;
9
+ exports.deleteUserRouteHandler = deleteUserRouteHandler;
10
10
  const http_1 = require("@ebec/http");
11
11
  const core_kit_1 = require("@authup/core-kit");
12
12
  const routup_1 = require("routup");
13
13
  const typeorm_extension_1 = require("typeorm-extension");
14
14
  const domains_1 = require("../../../../domains");
15
+ const request_1 = require("../../../request");
15
16
  const utils_1 = require("../../../utils");
16
17
  async function deleteUserRouteHandler(req, res) {
17
- const id = (0, routup_1.useRequestParam)(req, 'id');
18
+ const id = (0, request_1.useRequestIDParam)(req);
18
19
  const ability = (0, utils_1.useRequestEnv)(req, 'abilities');
19
- if (!ability.has(core_kit_1.PermissionName.USER_DROP)) {
20
+ if (!ability.has(core_kit_1.PermissionName.USER_DELETE)) {
20
21
  throw new http_1.ForbiddenError('You are not authorized to drop a user.');
21
22
  }
22
23
  if ((0, utils_1.useRequestEnv)(req, 'userId') === id) {
@@ -28,6 +29,9 @@ async function deleteUserRouteHandler(req, res) {
28
29
  if (!entity) {
29
30
  throw new http_1.NotFoundError();
30
31
  }
32
+ if (!ability.can(core_kit_1.PermissionName.USER_DELETE, { attributes: entity })) {
33
+ throw new http_1.ForbiddenError();
34
+ }
31
35
  if (!(0, core_kit_1.isRealmResourceWritable)((0, utils_1.useRequestEnv)(req, 'realm'), entity.realm_id)) {
32
36
  throw new http_1.ForbiddenError(`You are not authorized to drop a user fo the realm ${entity.realm_id}`);
33
37
  }
@@ -36,5 +40,4 @@ async function deleteUserRouteHandler(req, res) {
36
40
  entity.id = entityId;
37
41
  return (0, routup_1.sendAccepted)(res, entity);
38
42
  }
39
- exports.deleteUserRouteHandler = deleteUserRouteHandler;
40
43
  //# sourceMappingURL=delete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user/handlers/delete.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,qCAA4E;AAC5E,+CAA2E;AAE3E,mCAAuD;AACvD,yDAAkD;AAClD,iDAAqD;AACrD,0CAA+C;AAExC,KAAK,UAAU,sBAAsB,CAAC,GAAY,EAAE,GAAa;IACpE,MAAM,EAAE,GAAG,IAAA,wBAAe,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAEtC,MAAM,OAAO,GAAG,IAAA,qBAAa,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAc,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,qBAAc,CAAC,wCAAwC,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,IAAA,qBAAa,EAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,sBAAe,CAAC,kCAAkC,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,IAAA,iCAAa,GAAE,CAAC;IACzC,MAAM,UAAU,GAAG,IAAI,wBAAc,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAElD,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,oBAAa,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,IAAA,kCAAuB,EAAC,IAAA,qBAAa,EAAC,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,qBAAc,CAAC,sDAAsD,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtG,CAAC;IAED,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAEhC,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEhC,MAAM,CAAC,EAAE,GAAG,QAAQ,CAAC;IAErB,OAAO,IAAA,qBAAY,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC;AA/BD,wDA+BC"}
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user/handlers/delete.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAWH,wDAmCC;AA5CD,qCAA4E;AAC5E,+CAA2E;AAE3E,mCAAsC;AACtC,yDAAkD;AAClD,iDAAqD;AACrD,8CAAqD;AACrD,0CAA+C;AAExC,KAAK,UAAU,sBAAsB,CAAC,GAAY,EAAE,GAAa;IACpE,MAAM,EAAE,GAAG,IAAA,2BAAiB,EAAC,GAAG,CAAC,CAAC;IAElC,MAAM,OAAO,GAAG,IAAA,qBAAa,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAc,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,qBAAc,CAAC,wCAAwC,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,IAAA,qBAAa,EAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,sBAAe,CAAC,kCAAkC,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,IAAA,iCAAa,GAAE,CAAC;IACzC,MAAM,UAAU,GAAG,IAAI,wBAAc,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAElD,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,oBAAa,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAc,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,qBAAc,EAAE,CAAC;IAC/B,CAAC;IAED,IAAI,CAAC,IAAA,kCAAuB,EAAC,IAAA,qBAAa,EAAC,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,qBAAc,CAAC,sDAAsD,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtG,CAAC;IAED,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAEhC,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEhC,MAAM,CAAC,EAAE,GAAG,QAAQ,CAAC;IAErB,OAAO,IAAA,qBAAY,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../../../src/http/controllers/user/handlers/read.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AA8ChD,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,CAiCxF;AAED,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,CA6DvF"}
1
+ {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../../../src/http/controllers/user/handlers/read.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AA+ChD,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,CAiCxF;AAED,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,CAwEvF"}
@@ -6,7 +6,8 @@
6
6
  * view the LICENSE file that was distributed with this source code.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.getOneUserRouteHandler = exports.getManyUserRouteHandler = void 0;
9
+ exports.getManyUserRouteHandler = getManyUserRouteHandler;
10
+ exports.getOneUserRouteHandler = getOneUserRouteHandler;
10
11
  const query_1 = require("@routup/basic/query");
11
12
  const routup_1 = require("routup");
12
13
  const typeorm_extension_1 = require("typeorm-extension");
@@ -16,6 +17,7 @@ const kit_1 = require("@authup/kit");
16
17
  const domains_1 = require("../../../../domains");
17
18
  const utils_1 = require("../../../../utils");
18
19
  const oauth2_1 = require("../../../oauth2");
20
+ const request_1 = require("../../../request");
19
21
  const utils_2 = require("../../../utils");
20
22
  function buildFieldsOption(req) {
21
23
  const options = {
@@ -35,7 +37,7 @@ function buildFieldsOption(req) {
35
37
  'realm_id',
36
38
  ],
37
39
  };
38
- if ((0, utils_2.useRequestEnv)(req, 'abilities').has(core_kit_1.PermissionName.USER_EDIT)) {
40
+ if ((0, utils_2.useRequestEnv)(req, 'abilities').has(core_kit_1.PermissionName.USER_UPDATE)) {
39
41
  options.allowed = ['email'];
40
42
  }
41
43
  return options;
@@ -70,28 +72,23 @@ async function getManyUserRouteHandler(req, res) {
70
72
  },
71
73
  });
72
74
  }
73
- exports.getManyUserRouteHandler = getManyUserRouteHandler;
74
75
  async function getOneUserRouteHandler(req, res) {
75
- const id = (0, routup_1.useRequestParam)(req, 'id');
76
+ const id = (0, request_1.useRequestIDParam)(req, {
77
+ strict: false,
78
+ });
76
79
  const dataSource = await (0, typeorm_extension_1.useDataSource)();
77
80
  const userRepository = new domains_1.UserRepository(dataSource);
78
81
  const query = userRepository.createQueryBuilder('user');
79
- const scopes = (0, utils_2.useRequestEnv)(req, 'scopes');
80
- let attributes = [];
81
- if ((0, utils_1.isSelfId)(id) &&
82
- (0, utils_2.useRequestEnv)(req, 'userId')) {
83
- attributes = (0, oauth2_1.resolveOAuth2SubAttributesForScope)(kit_1.OAuth2SubKind.USER, scopes);
84
- const validAttributes = userRepository.metadata.columns.map((column) => column.databaseName);
85
- for (let i = 0; i < attributes.length; i++) {
86
- const isValid = validAttributes.includes(attributes[i]);
87
- if (isValid) {
88
- // todo: remove attribute from attributes
89
- query.addSelect(`user.${attributes[i]}`);
90
- }
91
- }
92
- query.where('user.id = :id', { id: (0, utils_2.useRequestEnv)(req, 'userId') });
82
+ const userId = (0, utils_2.useRequestEnv)(req, 'userId');
83
+ let isMe = false;
84
+ if ((0, utils_1.isSelfId)(id) && userId) {
85
+ isMe = true;
86
+ query.where('user.id = :id', { id: userId });
93
87
  }
94
88
  else if ((0, kit_1.isUUID)(id)) {
89
+ if (id === userId) {
90
+ isMe = true;
91
+ }
95
92
  query.where('user.id = :id', { id });
96
93
  }
97
94
  else {
@@ -99,6 +96,24 @@ async function getOneUserRouteHandler(req, res) {
99
96
  const realm = await (0, domains_1.resolveRealm)((0, routup_1.useRequestParam)(req, 'realmId'), true);
100
97
  query.andWhere('user.realm_id = :realmId', { realmId: realm.id });
101
98
  }
99
+ const ability = (0, utils_2.useRequestEnv)(req, 'abilities');
100
+ const hasAbility = ability.has(core_kit_1.PermissionName.USER_READ) ||
101
+ ability.has(core_kit_1.PermissionName.USER_UPDATE) ||
102
+ ability.has(core_kit_1.PermissionName.USER_DELETE);
103
+ if (!isMe && !hasAbility) {
104
+ throw new http_1.ForbiddenError();
105
+ }
106
+ const scopes = (0, utils_2.useRequestEnv)(req, 'scopes');
107
+ if (isMe) {
108
+ const attributes = (0, oauth2_1.resolveOAuth2SubAttributesForScope)(kit_1.OAuth2SubKind.USER, scopes);
109
+ const validAttributes = userRepository.metadata.columns.map((column) => column.databaseName);
110
+ for (let i = 0; i < attributes.length; i++) {
111
+ const isValid = validAttributes.includes(attributes[i]);
112
+ if (isValid) {
113
+ query.addSelect(`user.${attributes[i]}`);
114
+ }
115
+ }
116
+ }
102
117
  (0, domains_1.onlyRealmReadableQueryResources)(query, (0, utils_2.useRequestEnv)(req, 'realm'));
103
118
  (0, typeorm_extension_1.applyQuery)(query, (0, query_1.useRequestQuery)(req), {
104
119
  defaultAlias: 'user',
@@ -111,11 +126,9 @@ async function getOneUserRouteHandler(req, res) {
111
126
  if (!entity) {
112
127
  throw new http_1.NotFoundError();
113
128
  }
114
- if ((0, utils_1.isSelfId)(id) &&
115
- (0, oauth2_1.hasOAuth2Scope)(scopes, core_kit_1.ScopeName.GLOBAL)) {
129
+ if ((isMe && (0, oauth2_1.hasOAuth2Scope)(scopes, core_kit_1.ScopeName.GLOBAL)) || hasAbility) {
116
130
  await userRepository.findAndAppendExtraAttributesTo(entity);
117
131
  }
118
132
  return (0, routup_1.send)(res, entity);
119
133
  }
120
- exports.getOneUserRouteHandler = getOneUserRouteHandler;
121
134
  //# sourceMappingURL=read.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user/handlers/read.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user/handlers/read.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  * view the LICENSE file that was distributed with this source code.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.updateUserRouteHandler = void 0;
9
+ exports.updateUserRouteHandler = updateUserRouteHandler;
10
10
  const http_1 = require("@ebec/http");
11
11
  const core_kit_1 = require("@authup/core-kit");
12
12
  const routup_1 = require("routup");
@@ -17,10 +17,10 @@ const utils_1 = require("../../../utils");
17
17
  const utils_2 = require("../utils");
18
18
  const request_1 = require("../../../request");
19
19
  async function updateUserRouteHandler(req, res) {
20
- const id = (0, routup_1.useRequestParam)(req, 'id');
20
+ const id = (0, request_1.useRequestIDParam)(req);
21
21
  const ability = (0, utils_1.useRequestEnv)(req, 'abilities');
22
22
  const env = (0, utils_1.useRequestEnv)(req);
23
- if (!ability.has(core_kit_1.PermissionName.USER_EDIT) &&
23
+ if (!ability.has(core_kit_1.PermissionName.USER_UPDATE) &&
24
24
  env.userId !== id) {
25
25
  throw new http_1.ForbiddenError('You are not authorized to modify a user.');
26
26
  }
@@ -28,7 +28,7 @@ async function updateUserRouteHandler(req, res) {
28
28
  const data = await validator.execute(req, {
29
29
  group: request_1.RequestHandlerOperation.UPDATE,
30
30
  });
31
- if (!ability.has(core_kit_1.PermissionName.USER_EDIT)) {
31
+ if (!ability.has(core_kit_1.PermissionName.USER_UPDATE)) {
32
32
  delete data.name_locked;
33
33
  delete data.active;
34
34
  delete data.status;
@@ -66,5 +66,4 @@ async function updateUserRouteHandler(req, res) {
66
66
  await repository.save(entity);
67
67
  return (0, routup_1.sendAccepted)(res, entity);
68
68
  }
69
- exports.updateUserRouteHandler = updateUserRouteHandler;
70
69
  //# sourceMappingURL=update.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user/handlers/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user/handlers/update.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/create.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAQhD,wBAAsB,+BAA+B,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,CAmChG"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/create.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAShD,wBAAsB,+BAA+B,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,CA+ChG"}
@@ -6,40 +6,51 @@
6
6
  * view the LICENSE file that was distributed with this source code.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.createUserAttributeRouteHandler = void 0;
9
+ exports.createUserAttributeRouteHandler = createUserAttributeRouteHandler;
10
10
  const http_1 = require("@ebec/http");
11
11
  const core_kit_1 = require("@authup/core-kit");
12
12
  const routup_1 = require("routup");
13
13
  const typeorm_extension_1 = require("typeorm-extension");
14
14
  const domains_1 = require("../../../../domains");
15
- const utils_1 = require("../../../utils");
16
- const utils_2 = require("../utils");
15
+ const utils_1 = require("../../../../utils");
16
+ const utils_2 = require("../../../utils");
17
+ const utils_3 = require("../utils");
17
18
  const request_1 = require("../../../request");
18
19
  async function createUserAttributeRouteHandler(req, res) {
19
- const validator = new utils_2.UserAttributeRequestValidator();
20
+ const validator = new utils_3.UserAttributeRequestValidator();
20
21
  const data = await validator.execute(req, {
21
22
  group: request_1.RequestHandlerOperation.CREATE,
22
23
  });
24
+ const userId = (0, utils_2.useRequestEnv)(req, 'userId');
23
25
  if (data.user) {
24
26
  data.realm_id = data.user.realm_id;
25
27
  data.user_id = data.user.id;
26
28
  }
27
29
  else {
28
- const { id } = (0, utils_1.useRequestEnv)(req, 'realm');
30
+ const { id } = (0, utils_2.useRequestEnv)(req, 'realm');
29
31
  data.realm_id = id;
30
- data.user_id = (0, utils_1.useRequestEnv)(req, 'userId');
32
+ if (userId) {
33
+ data.user_id = userId;
34
+ }
35
+ else {
36
+ throw new http_1.BadRequestError((0, utils_1.buildErrorMessageForAttribute)('user_id'));
37
+ }
31
38
  }
32
- if (data.user_id !== (0, utils_1.useRequestEnv)(req, 'userId')) {
33
- if (!(0, utils_1.useRequestEnv)(req, 'abilities').has(core_kit_1.PermissionName.USER_EDIT) ||
34
- !(0, core_kit_1.isRealmResourceWritable)((0, utils_1.useRequestEnv)(req, 'realm'), data.realm_id)) {
39
+ const abilities = (0, utils_2.useRequestEnv)(req, 'abilities');
40
+ if (data.user_id !== userId) {
41
+ if (!abilities.has(core_kit_1.PermissionName.USER_UPDATE) ||
42
+ !(0, core_kit_1.isRealmResourceWritable)((0, utils_2.useRequestEnv)(req, 'realm'), data.realm_id)) {
35
43
  throw new http_1.ForbiddenError('You are not permitted to set an attribute for the given user...');
36
44
  }
37
45
  }
38
46
  const dataSource = await (0, typeorm_extension_1.useDataSource)();
39
47
  const repository = dataSource.getRepository(domains_1.UserAttributeEntity);
40
48
  const entity = repository.create(data);
49
+ if (data.user_id !== userId &&
50
+ !abilities.can(core_kit_1.PermissionName.USER_UPDATE, { attributes: entity })) {
51
+ throw new http_1.ForbiddenError();
52
+ }
41
53
  await repository.save(entity);
42
54
  return (0, routup_1.sendCreated)(res, entity);
43
55
  }
44
- exports.createUserAttributeRouteHandler = createUserAttributeRouteHandler;
45
56
  //# sourceMappingURL=create.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/create.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,qCAA4C;AAC5C,+CAG0B;AAE1B,mCAAqC;AACrC,yDAAkD;AAClD,iDAA0D;AAC1D,0CAA+C;AAC/C,oCAAyD;AACzD,8CAA2D;AAEpD,KAAK,UAAU,+BAA+B,CAAC,GAAY,EAAE,GAAa;IAC7E,MAAM,SAAS,GAAG,IAAI,qCAA6B,EAAE,CAAC;IAEtD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,KAAK,EAAE,iCAAuB,CAAC,MAAM;KACxC,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAChC,CAAC;SAAM,CAAC;QACJ,MAAM,EAAE,EAAE,EAAE,GAAG,IAAA,qBAAa,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,IAAA,qBAAa,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,IACI,IAAI,CAAC,OAAO,KAAK,IAAA,qBAAa,EAAC,GAAG,EAAE,QAAQ,CAAC,EAC/C,CAAC;QACC,IACI,CAAC,IAAA,qBAAa,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,yBAAc,CAAC,SAAS,CAAC;YAC9D,CAAC,IAAA,kCAAuB,EAAC,IAAA,qBAAa,EAAC,GAAG,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EACtE,CAAC;YACC,MAAM,IAAI,qBAAc,CAAC,iEAAiE,CAAC,CAAC;QAChG,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,IAAA,iCAAa,GAAE,CAAC;IACzC,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,6BAAmB,CAAC,CAAC;IAEjE,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEvC,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE9B,OAAO,IAAA,oBAAW,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC;AAnCD,0EAmCC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/create.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAgBH,0EA+CC;AA7DD,qCAA6D;AAC7D,+CAG0B;AAE1B,mCAAqC;AACrC,yDAAkD;AAClD,iDAA0D;AAC1D,6CAAkE;AAClE,0CAA+C;AAC/C,oCAAyD;AACzD,8CAA2D;AAEpD,KAAK,UAAU,+BAA+B,CAAC,GAAY,EAAE,GAAa;IAC7E,MAAM,SAAS,GAAG,IAAI,qCAA6B,EAAE,CAAC;IAEtD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,KAAK,EAAE,iCAAuB,CAAC,MAAM;KACxC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAA,qBAAa,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC5C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAChC,CAAC;SAAM,CAAC;QACJ,MAAM,EAAE,EAAE,EAAE,GAAG,IAAA,qBAAa,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAC1B,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,sBAAe,CAAC,IAAA,qCAA6B,EAAC,SAAS,CAAC,CAAC,CAAC;QACxE,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,qBAAa,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAElD,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAC1B,IACI,CAAC,SAAS,CAAC,GAAG,CAAC,yBAAc,CAAC,WAAW,CAAC;YAC1C,CAAC,IAAA,kCAAuB,EAAC,IAAA,qBAAa,EAAC,GAAG,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EACtE,CAAC;YACC,MAAM,IAAI,qBAAc,CAAC,iEAAiE,CAAC,CAAC;QAChG,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,IAAA,iCAAa,GAAE,CAAC;IACzC,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,6BAAmB,CAAC,CAAC;IAEjE,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEvC,IACI,IAAI,CAAC,OAAO,KAAK,MAAM;QACvB,CAAC,SAAS,CAAC,GAAG,CAAC,yBAAc,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,EACpE,CAAC;QACC,MAAM,IAAI,qBAAc,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE9B,OAAO,IAAA,oBAAW,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/delete.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAMhD,wBAAsB,+BAA+B,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,CA8BhG"}
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/delete.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAOhD,wBAAsB,+BAA+B,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,CA6BhG"}
@@ -6,25 +6,28 @@
6
6
  * view the LICENSE file that was distributed with this source code.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.deleteUserAttributeRouteHandler = void 0;
9
+ exports.deleteUserAttributeRouteHandler = deleteUserAttributeRouteHandler;
10
10
  const http_1 = require("@ebec/http");
11
11
  const core_kit_1 = require("@authup/core-kit");
12
12
  const routup_1 = require("routup");
13
13
  const typeorm_extension_1 = require("typeorm-extension");
14
14
  const domains_1 = require("../../../../domains");
15
- const env_1 = require("../../../utils/env");
15
+ const request_1 = require("../../../request");
16
+ const utils_1 = require("../../../utils");
16
17
  async function deleteUserAttributeRouteHandler(req, res) {
17
- const id = (0, routup_1.useRequestParam)(req, 'id');
18
+ const id = (0, request_1.useRequestIDParam)(req);
18
19
  const dataSource = await (0, typeorm_extension_1.useDataSource)();
19
20
  const repository = dataSource.getRepository(domains_1.UserAttributeEntity);
20
21
  const entity = await repository.findOneBy({ id });
21
22
  if (!entity) {
22
23
  throw new http_1.NotFoundError();
23
24
  }
24
- if (entity.user_id !== (0, env_1.useRequestEnv)(req, 'userId')) {
25
- if (!(0, env_1.useRequestEnv)(req, 'abilities').has(core_kit_1.PermissionName.USER_EDIT) ||
26
- !(0, core_kit_1.isRealmResourceWritable)((0, env_1.useRequestEnv)(req, 'realm'), entity.realm_id)) {
27
- throw new http_1.ForbiddenError('You are not permitted to drop an attribute for the given user...');
25
+ if (entity.user_id !== (0, utils_1.useRequestEnv)(req, 'userId')) {
26
+ if (!(0, core_kit_1.isRealmResourceWritable)((0, utils_1.useRequestEnv)(req, 'realm'), entity.realm_id)) {
27
+ throw new http_1.ForbiddenError('You are not permitted for the resource realm.');
28
+ }
29
+ if (!(0, utils_1.useRequestEnv)(req, 'abilities').can(core_kit_1.PermissionName.USER_UPDATE, { attributes: entity })) {
30
+ throw new http_1.ForbiddenError();
28
31
  }
29
32
  }
30
33
  const { id: entityId } = entity;
@@ -32,5 +35,4 @@ async function deleteUserAttributeRouteHandler(req, res) {
32
35
  entity.id = entityId;
33
36
  return (0, routup_1.sendAccepted)(res, entity);
34
37
  }
35
- exports.deleteUserAttributeRouteHandler = deleteUserAttributeRouteHandler;
36
38
  //# sourceMappingURL=delete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/delete.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,qCAA2D;AAE3D,+CAA2E;AAE3E,mCAAuD;AACvD,yDAAkD;AAClD,iDAA0D;AAC1D,4CAAmD;AAE5C,KAAK,UAAU,+BAA+B,CAAC,GAAY,EAAE,GAAa;IAC7E,MAAM,EAAE,GAAG,IAAA,wBAAe,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAEtC,MAAM,UAAU,GAAG,MAAM,IAAA,iCAAa,GAAE,CAAC;IACzC,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,6BAAmB,CAAC,CAAC;IAEjE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAElD,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,oBAAa,EAAE,CAAC;IAC9B,CAAC;IAED,IACI,MAAM,CAAC,OAAO,KAAK,IAAA,mBAAa,EAAC,GAAG,EAAE,QAAQ,CAAC,EACjD,CAAC;QACC,IACI,CAAC,IAAA,mBAAa,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,yBAAc,CAAC,SAAS,CAAC;YAC9D,CAAC,IAAA,kCAAuB,EAAC,IAAA,mBAAa,EAAC,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,EACxE,CAAC;YACC,MAAM,IAAI,qBAAc,CAAC,kEAAkE,CAAC,CAAC;QACjG,CAAC;IACL,CAAC;IAED,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAEhC,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEhC,MAAM,CAAC,EAAE,GAAG,QAAQ,CAAC;IAErB,OAAO,IAAA,qBAAY,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC;AA9BD,0EA8BC"}
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/delete.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAYH,0EA6BC;AAvCD,qCAA2D;AAE3D,+CAA2E;AAE3E,mCAAsC;AACtC,yDAAkD;AAClD,iDAA0D;AAC1D,8CAAqD;AACrD,0CAA+C;AAExC,KAAK,UAAU,+BAA+B,CAAC,GAAY,EAAE,GAAa;IAC7E,MAAM,EAAE,GAAG,IAAA,2BAAiB,EAAC,GAAG,CAAC,CAAC;IAElC,MAAM,UAAU,GAAG,MAAM,IAAA,iCAAa,GAAE,CAAC;IACzC,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,6BAAmB,CAAC,CAAC;IAEjE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAElD,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,oBAAa,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,IAAA,qBAAa,EAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,IAAA,kCAAuB,EAAC,IAAA,qBAAa,EAAC,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,qBAAc,CAAC,+CAA+C,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,CAAC,IAAA,qBAAa,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,yBAAc,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YAC3F,MAAM,IAAI,qBAAc,EAAE,CAAC;QAC/B,CAAC;IACL,CAAC;IAED,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAEhC,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEhC,MAAM,CAAC,EAAE,GAAG,QAAQ,CAAC;IAErB,OAAO,IAAA,qBAAY,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/read.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAchD,wBAAsB,gCAAgC,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,CAuCjG;AAED,wBAAsB,+BAA+B,CACjD,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACb,OAAO,CAAC,GAAG,CAAC,CAwBf"}
1
+ {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/read.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAehD,wBAAsB,gCAAgC,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,CA4CjG;AAED,wBAAsB,+BAA+B,CACjD,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACb,OAAO,CAAC,GAAG,CAAC,CA8Bf"}
@@ -6,7 +6,8 @@
6
6
  * view the LICENSE file that was distributed with this source code.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.getOneUserAttributeRouteHandler = exports.getManyUserAttributeRouteHandler = void 0;
9
+ exports.getManyUserAttributeRouteHandler = getManyUserAttributeRouteHandler;
10
+ exports.getOneUserAttributeRouteHandler = getOneUserAttributeRouteHandler;
10
11
  const query_1 = require("@routup/basic/query");
11
12
  const routup_1 = require("routup");
12
13
  const typeorm_1 = require("typeorm");
@@ -14,16 +15,21 @@ const typeorm_extension_1 = require("typeorm-extension");
14
15
  const http_1 = require("@ebec/http");
15
16
  const core_kit_1 = require("@authup/core-kit");
16
17
  const domains_1 = require("../../../../domains");
18
+ const request_1 = require("../../../request");
17
19
  const utils_1 = require("../../../utils");
18
20
  async function getManyUserAttributeRouteHandler(req, res) {
21
+ const userId = (0, utils_1.useRequestEnv)(req, 'userId');
22
+ const ability = (0, utils_1.useRequestEnv)(req, 'abilities');
23
+ if (!userId && !ability.has(core_kit_1.PermissionName.USER_READ)) {
24
+ throw new http_1.ForbiddenError();
25
+ }
19
26
  const dataSource = await (0, typeorm_extension_1.useDataSource)();
20
27
  const repository = dataSource.getRepository(domains_1.UserAttributeEntity);
21
28
  const query = repository.createQueryBuilder('userAttribute');
22
- const ability = (0, utils_1.useRequestEnv)(req, 'abilities');
23
29
  query.where(new typeorm_1.Brackets((qb) => {
24
30
  (0, domains_1.onlyRealmReadableQueryResources)(query, (0, utils_1.useRequestEnv)(req, 'realm'));
25
- if (!ability.has(core_kit_1.PermissionName.USER_EDIT)) {
26
- qb.orWhere('userAttribute.user_id = :userId', { userId: (0, utils_1.useRequestEnv)(req, 'userId') });
31
+ if (!ability.has(core_kit_1.PermissionName.USER_READ)) {
32
+ qb.orWhere('userAttribute.user_id = :userId', { userId });
27
33
  }
28
34
  }));
29
35
  const { pagination } = (0, typeorm_extension_1.applyQuery)(query, (0, query_1.useRequestQuery)(req), {
@@ -47,23 +53,26 @@ async function getManyUserAttributeRouteHandler(req, res) {
47
53
  },
48
54
  });
49
55
  }
50
- exports.getManyUserAttributeRouteHandler = getManyUserAttributeRouteHandler;
51
56
  async function getOneUserAttributeRouteHandler(req, res) {
52
- const id = (0, routup_1.useRequestParam)(req, 'id');
53
- if (typeof id !== 'string') {
54
- throw new http_1.BadRequestError();
57
+ const id = (0, request_1.useRequestIDParam)(req);
58
+ const userId = (0, utils_1.useRequestEnv)(req, 'userId');
59
+ const ability = (0, utils_1.useRequestEnv)(req, 'abilities');
60
+ if (!userId && !ability.has(core_kit_1.PermissionName.USER_READ)) {
61
+ throw new http_1.ForbiddenError();
55
62
  }
56
63
  const dataSource = await (0, typeorm_extension_1.useDataSource)();
57
64
  const repository = dataSource.getRepository(domains_1.UserAttributeEntity);
58
- const result = await repository.findOneBy({ id });
59
- if (!result) {
65
+ const entity = await repository.findOneBy({ id });
66
+ if (!entity) {
60
67
  throw new http_1.NotFoundError();
61
68
  }
62
- if (!(0, core_kit_1.isRealmResourceReadable)((0, utils_1.useRequestEnv)(req, 'realm'), result.realm_id) &&
63
- (0, utils_1.useRequestEnv)(req, 'userId') !== result.user_id) {
64
- throw new http_1.ForbiddenError('You are not authorized to read this user attribute...');
69
+ if (!(0, core_kit_1.isRealmResourceReadable)((0, utils_1.useRequestEnv)(req, 'realm'), entity.realm_id)) {
70
+ throw new http_1.ForbiddenError('You are not permitted for the resource realm.');
65
71
  }
66
- return (0, routup_1.send)(res, result);
72
+ if (userId !== entity.user_id &&
73
+ !ability.can(core_kit_1.PermissionName.USER_READ, { attributes: entity })) {
74
+ throw new http_1.ForbiddenError();
75
+ }
76
+ return (0, routup_1.send)(res, entity);
67
77
  }
68
- exports.getOneUserAttributeRouteHandler = getOneUserAttributeRouteHandler;
69
78
  //# sourceMappingURL=read.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/read.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/read.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/update.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAQhD,wBAAsB,+BAA+B,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,CAgChG"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/update.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAQhD,wBAAsB,+BAA+B,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,CAiChG"}
@@ -6,7 +6,7 @@
6
6
  * view the LICENSE file that was distributed with this source code.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.updateUserAttributeRouteHandler = void 0;
9
+ exports.updateUserAttributeRouteHandler = updateUserAttributeRouteHandler;
10
10
  const http_1 = require("@ebec/http");
11
11
  const core_kit_1 = require("@authup/core-kit");
12
12
  const routup_1 = require("routup");
@@ -16,7 +16,7 @@ const utils_1 = require("../../../utils");
16
16
  const utils_2 = require("../utils");
17
17
  const request_1 = require("../../../request");
18
18
  async function updateUserAttributeRouteHandler(req, res) {
19
- const id = (0, routup_1.useRequestParam)(req, 'id');
19
+ const id = (0, request_1.useRequestIDParam)(req);
20
20
  const validator = new utils_2.UserAttributeRequestValidator();
21
21
  const data = await validator.execute(req, {
22
22
  group: request_1.RequestHandlerOperation.UPDATE,
@@ -28,8 +28,10 @@ async function updateUserAttributeRouteHandler(req, res) {
28
28
  throw new http_1.NotFoundError();
29
29
  }
30
30
  entity = repository.merge(entity, data);
31
- if (entity.user_id !== (0, utils_1.useRequestEnv)(req, 'userId')) {
32
- if (!(0, utils_1.useRequestEnv)(req, 'abilities').has(core_kit_1.PermissionName.USER_EDIT) ||
31
+ const userId = (0, utils_1.useRequestEnv)(req, 'userId');
32
+ const abilities = (0, utils_1.useRequestEnv)(req, 'abilities');
33
+ if (entity.user_id !== userId) {
34
+ if (!abilities.can(core_kit_1.PermissionName.USER_UPDATE, { attributes: entity }) ||
33
35
  !(0, core_kit_1.isRealmResourceWritable)((0, utils_1.useRequestEnv)(req, 'realm'), entity.realm_id)) {
34
36
  throw new http_1.ForbiddenError('You are not permitted to update an attribute for the given user...');
35
37
  }
@@ -37,5 +39,4 @@ async function updateUserAttributeRouteHandler(req, res) {
37
39
  await repository.save(entity);
38
40
  return (0, routup_1.sendAccepted)(res, entity);
39
41
  }
40
- exports.updateUserAttributeRouteHandler = updateUserAttributeRouteHandler;
41
42
  //# sourceMappingURL=update.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/update.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,qCAA2D;AAC3D,+CAA2E;AAE3E,mCAAuD;AACvD,yDAAkD;AAClD,iDAA0D;AAC1D,0CAA+C;AAC/C,oCAAyD;AACzD,8CAA2D;AAEpD,KAAK,UAAU,+BAA+B,CAAC,GAAY,EAAE,GAAa;IAC7E,MAAM,EAAE,GAAG,IAAA,wBAAe,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAEtC,MAAM,SAAS,GAAG,IAAI,qCAA6B,EAAE,CAAC;IACtD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,KAAK,EAAE,iCAAuB,CAAC,MAAM;KACxC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,IAAA,iCAAa,GAAE,CAAC;IACzC,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,6BAAmB,CAAC,CAAC;IAEjE,IAAI,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,oBAAa,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAExC,IACI,MAAM,CAAC,OAAO,KAAK,IAAA,qBAAa,EAAC,GAAG,EAAE,QAAQ,CAAC,EACjD,CAAC;QACC,IACI,CAAC,IAAA,qBAAa,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,yBAAc,CAAC,SAAS,CAAC;YAC9D,CAAC,IAAA,kCAAuB,EAAC,IAAA,qBAAa,EAAC,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,EACxE,CAAC;YACC,MAAM,IAAI,qBAAc,CAAC,oEAAoE,CAAC,CAAC;QACnG,CAAC;IACL,CAAC;IAED,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE9B,OAAO,IAAA,qBAAY,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC;AAhCD,0EAgCC"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/update.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAYH,0EAiCC;AA3CD,qCAA2D;AAC3D,+CAA2E;AAE3E,mCAAsC;AACtC,yDAAkD;AAClD,iDAA0D;AAC1D,0CAA+C;AAC/C,oCAAyD;AACzD,8CAA8E;AAEvE,KAAK,UAAU,+BAA+B,CAAC,GAAY,EAAE,GAAa;IAC7E,MAAM,EAAE,GAAG,IAAA,2BAAiB,EAAC,GAAG,CAAC,CAAC;IAElC,MAAM,SAAS,GAAG,IAAI,qCAA6B,EAAE,CAAC;IACtD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,KAAK,EAAE,iCAAuB,CAAC,MAAM;KACxC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,IAAA,iCAAa,GAAE,CAAC;IACzC,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,6BAAmB,CAAC,CAAC;IAEjE,IAAI,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,oBAAa,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAExC,MAAM,MAAM,GAAG,IAAA,qBAAa,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,IAAA,qBAAa,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAElD,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAC5B,IACI,CAAC,SAAS,CAAC,GAAG,CAAC,yBAAc,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;YAClE,CAAC,IAAA,kCAAuB,EAAC,IAAA,qBAAa,EAAC,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,EACxE,CAAC;YACC,MAAM,IAAI,qBAAc,CAAC,oEAAoE,CAAC,CAAC;QACnG,CAAC;IACL,CAAC;IAED,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE9B,OAAO,IAAA,qBAAY,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC"}
@@ -22,8 +22,8 @@ class UserAttributeRequestValidator extends core_1.RequestDatabaseValidator {
22
22
  .isString()
23
23
  .isLength({ min: 3, max: 255 });
24
24
  this.addTo(request_1.RequestHandlerOperation.CREATE, 'user_id')
25
- .exists()
26
- .isUUID();
25
+ .isUUID()
26
+ .optional({ values: 'null' });
27
27
  this.add('value')
28
28
  .exists()
29
29
  .notEmpty()
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/utils/validation.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,2CAA4D;AAC5D,iDAA0D;AAC1D,8CAA2D;AAE3D,MAAa,6BAA8B,SAAQ,+BAElD;IACG;QACI,KAAK,CAAC,6BAAmB,CAAC,CAAC;QAE3B,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,KAAK,CAAC,iCAAuB,CAAC,MAAM,EAAE,MAAM,CAAC;aAC7C,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAEpC,IAAI,CAAC,KAAK,CAAC,iCAAuB,CAAC,MAAM,EAAE,SAAS,CAAC;aAChD,MAAM,EAAE;aACR,MAAM,EAAE,CAAC;QAEd,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;aAC9B,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;CACJ;AA3BD,sEA2BC"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/utils/validation.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,2CAA4D;AAC5D,iDAA0D;AAC1D,8CAA2D;AAE3D,MAAa,6BAA8B,SAAQ,+BAElD;IACG;QACI,KAAK,CAAC,6BAAmB,CAAC,CAAC;QAE3B,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,KAAK,CAAC,iCAAuB,CAAC,MAAM,EAAE,MAAM,CAAC;aAC7C,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAEpC,IAAI,CAAC,KAAK,CAAC,iCAAuB,CAAC,MAAM,EAAE,SAAS,CAAC;aAChD,MAAM,EAAE;aACR,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAElC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;aAC9B,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;CACJ;AA3BD,sEA2BC"}