@portaidentity/server 1.7.2 → 1.8.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 (487) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/applications/index.d.ts +2 -2
  3. package/dist/applications/index.d.ts.map +1 -1
  4. package/dist/applications/index.js +2 -2
  5. package/dist/applications/index.js.map +1 -1
  6. package/dist/applications/repository.d.ts +49 -4
  7. package/dist/applications/repository.d.ts.map +1 -1
  8. package/dist/applications/repository.js +148 -10
  9. package/dist/applications/repository.js.map +1 -1
  10. package/dist/applications/service.d.ts +35 -17
  11. package/dist/applications/service.d.ts.map +1 -1
  12. package/dist/applications/service.js +144 -35
  13. package/dist/applications/service.js.map +1 -1
  14. package/dist/applications/types.d.ts +1 -1
  15. package/dist/applications/types.d.ts.map +1 -1
  16. package/dist/applications/validators.d.ts +14 -0
  17. package/dist/applications/validators.d.ts.map +1 -0
  18. package/dist/applications/validators.js +14 -0
  19. package/dist/applications/validators.js.map +1 -0
  20. package/dist/auth/effective-branding.d.ts +35 -0
  21. package/dist/auth/effective-branding.d.ts.map +1 -0
  22. package/dist/auth/effective-branding.js +81 -0
  23. package/dist/auth/effective-branding.js.map +1 -0
  24. package/dist/auth/email-service.d.ts +3 -8
  25. package/dist/auth/email-service.d.ts.map +1 -1
  26. package/dist/auth/email-service.js +22 -30
  27. package/dist/auth/email-service.js.map +1 -1
  28. package/dist/auth/i18n.d.ts +5 -0
  29. package/dist/auth/i18n.d.ts.map +1 -1
  30. package/dist/auth/i18n.js +6 -5
  31. package/dist/auth/i18n.js.map +1 -1
  32. package/dist/auth/rate-limiter.d.ts +6 -10
  33. package/dist/auth/rate-limiter.d.ts.map +1 -1
  34. package/dist/auth/rate-limiter.js +12 -16
  35. package/dist/auth/rate-limiter.js.map +1 -1
  36. package/dist/auth/recovery-job-processor.d.ts.map +1 -1
  37. package/dist/auth/recovery-job-processor.js +1 -1
  38. package/dist/auth/recovery-job-processor.js.map +1 -1
  39. package/dist/auth/template-engine.d.ts +3 -1
  40. package/dist/auth/template-engine.d.ts.map +1 -1
  41. package/dist/auth/template-engine.js +1 -1
  42. package/dist/auth/template-engine.js.map +1 -1
  43. package/dist/cli/commands/init.d.ts +1 -1
  44. package/dist/cli/commands/init.d.ts.map +1 -1
  45. package/dist/cli/commands/init.js +12 -12
  46. package/dist/cli/commands/init.js.map +1 -1
  47. package/dist/cli/error-handler.d.ts +3 -2
  48. package/dist/cli/error-handler.d.ts.map +1 -1
  49. package/dist/cli/error-handler.js +9 -2
  50. package/dist/cli/error-handler.js.map +1 -1
  51. package/dist/cli/index.d.ts +1 -1
  52. package/dist/cli/index.d.ts.map +1 -1
  53. package/dist/cli/index.js +1 -1
  54. package/dist/cli/index.js.map +1 -1
  55. package/dist/clients/index.d.ts +1 -1
  56. package/dist/clients/index.js +1 -1
  57. package/dist/clients/repository.d.ts +18 -0
  58. package/dist/clients/repository.d.ts.map +1 -1
  59. package/dist/clients/repository.js +36 -0
  60. package/dist/clients/repository.js.map +1 -1
  61. package/dist/clients/secret-repository.d.ts +35 -8
  62. package/dist/clients/secret-repository.d.ts.map +1 -1
  63. package/dist/clients/secret-repository.js +69 -16
  64. package/dist/clients/secret-repository.js.map +1 -1
  65. package/dist/clients/secret-service.d.ts +5 -9
  66. package/dist/clients/secret-service.d.ts.map +1 -1
  67. package/dist/clients/secret-service.js +13 -22
  68. package/dist/clients/secret-service.js.map +1 -1
  69. package/dist/clients/service.d.ts +10 -13
  70. package/dist/clients/service.d.ts.map +1 -1
  71. package/dist/clients/service.js +112 -40
  72. package/dist/clients/service.js.map +1 -1
  73. package/dist/clients/types.d.ts +1 -1
  74. package/dist/clients/types.d.ts.map +1 -1
  75. package/dist/clients/validators.d.ts +83 -1
  76. package/dist/clients/validators.d.ts.map +1 -1
  77. package/dist/clients/validators.js +110 -0
  78. package/dist/clients/validators.js.map +1 -1
  79. package/dist/config/index.d.ts +1 -0
  80. package/dist/config/index.d.ts.map +1 -1
  81. package/dist/config/index.js +1 -0
  82. package/dist/config/index.js.map +1 -1
  83. package/dist/config/schema.d.ts +1 -0
  84. package/dist/config/schema.d.ts.map +1 -1
  85. package/dist/config/schema.js +23 -1
  86. package/dist/config/schema.js.map +1 -1
  87. package/dist/custom-claims/repository.d.ts +14 -9
  88. package/dist/custom-claims/repository.d.ts.map +1 -1
  89. package/dist/custom-claims/repository.js +38 -11
  90. package/dist/custom-claims/repository.js.map +1 -1
  91. package/dist/custom-claims/service.d.ts +11 -6
  92. package/dist/custom-claims/service.d.ts.map +1 -1
  93. package/dist/custom-claims/service.js +43 -20
  94. package/dist/custom-claims/service.js.map +1 -1
  95. package/dist/index.js +8 -2
  96. package/dist/index.js.map +1 -1
  97. package/dist/lib/admin-permissions.d.ts +12 -7
  98. package/dist/lib/admin-permissions.d.ts.map +1 -1
  99. package/dist/lib/admin-permissions.js +26 -16
  100. package/dist/lib/admin-permissions.js.map +1 -1
  101. package/dist/lib/audit-log.d.ts +2 -2
  102. package/dist/lib/audit-log.d.ts.map +1 -1
  103. package/dist/lib/audit-log.js +1 -1
  104. package/dist/lib/audit-log.js.map +1 -1
  105. package/dist/lib/authority-revocation.d.ts +18 -0
  106. package/dist/lib/authority-revocation.d.ts.map +1 -0
  107. package/dist/lib/authority-revocation.js +37 -0
  108. package/dist/lib/authority-revocation.js.map +1 -0
  109. package/dist/lib/branding-assets.d.ts +35 -5
  110. package/dist/lib/branding-assets.d.ts.map +1 -1
  111. package/dist/lib/branding-assets.js +33 -26
  112. package/dist/lib/branding-assets.js.map +1 -1
  113. package/dist/lib/bulk-operations.d.ts +1 -1
  114. package/dist/lib/bulk-operations.d.ts.map +1 -1
  115. package/dist/lib/bulk-operations.js +1 -13
  116. package/dist/lib/bulk-operations.js.map +1 -1
  117. package/dist/lib/cursor.d.ts +2 -0
  118. package/dist/lib/cursor.d.ts.map +1 -1
  119. package/dist/lib/cursor.js +2 -7
  120. package/dist/lib/cursor.js.map +1 -1
  121. package/dist/lib/database.d.ts.map +1 -1
  122. package/dist/lib/database.js +5 -0
  123. package/dist/lib/database.js.map +1 -1
  124. package/dist/lib/deletion-cleanup.d.ts +43 -0
  125. package/dist/lib/deletion-cleanup.d.ts.map +1 -0
  126. package/dist/lib/deletion-cleanup.js +207 -0
  127. package/dist/lib/deletion-cleanup.js.map +1 -0
  128. package/dist/lib/image-validator.d.ts +3 -1
  129. package/dist/lib/image-validator.d.ts.map +1 -1
  130. package/dist/lib/image-validator.js +32 -19
  131. package/dist/lib/image-validator.js.map +1 -1
  132. package/dist/lib/log-format.d.ts +20 -0
  133. package/dist/lib/log-format.d.ts.map +1 -0
  134. package/dist/lib/log-format.js +22 -0
  135. package/dist/lib/log-format.js.map +1 -0
  136. package/dist/lib/logger.d.ts +3 -1
  137. package/dist/lib/logger.d.ts.map +1 -1
  138. package/dist/lib/logger.js +21 -4
  139. package/dist/lib/logger.js.map +1 -1
  140. package/dist/lib/redis.d.ts.map +1 -1
  141. package/dist/lib/redis.js +3 -0
  142. package/dist/lib/redis.js.map +1 -1
  143. package/dist/lib/session-tracking.d.ts +73 -11
  144. package/dist/lib/session-tracking.d.ts.map +1 -1
  145. package/dist/lib/session-tracking.js +76 -32
  146. package/dist/lib/session-tracking.js.map +1 -1
  147. package/dist/lib/signing-key-crypto.d.ts.map +1 -1
  148. package/dist/lib/signing-key-crypto.js +4 -5
  149. package/dist/lib/signing-key-crypto.js.map +1 -1
  150. package/dist/lib/signing-keys.d.ts +3 -4
  151. package/dist/lib/signing-keys.d.ts.map +1 -1
  152. package/dist/lib/signing-keys.js +66 -41
  153. package/dist/lib/signing-keys.js.map +1 -1
  154. package/dist/lib/super-admin-protection.d.ts +5 -5
  155. package/dist/lib/super-admin-protection.d.ts.map +1 -1
  156. package/dist/lib/super-admin-protection.js +6 -9
  157. package/dist/lib/super-admin-protection.js.map +1 -1
  158. package/dist/lib/system-config-catalog.d.ts +268 -0
  159. package/dist/lib/system-config-catalog.d.ts.map +1 -0
  160. package/dist/lib/system-config-catalog.js +90 -0
  161. package/dist/lib/system-config-catalog.js.map +1 -0
  162. package/dist/lib/system-config.d.ts +30 -33
  163. package/dist/lib/system-config.d.ts.map +1 -1
  164. package/dist/lib/system-config.js +78 -93
  165. package/dist/lib/system-config.js.map +1 -1
  166. package/dist/lib/with-timeout.d.ts +32 -0
  167. package/dist/lib/with-timeout.d.ts.map +1 -0
  168. package/dist/lib/with-timeout.js +45 -0
  169. package/dist/lib/with-timeout.js.map +1 -0
  170. package/dist/middleware/admin-auth.d.ts +6 -5
  171. package/dist/middleware/admin-auth.d.ts.map +1 -1
  172. package/dist/middleware/admin-auth.js +30 -20
  173. package/dist/middleware/admin-auth.js.map +1 -1
  174. package/dist/middleware/admin-cors.d.ts +3 -3
  175. package/dist/middleware/admin-cors.js +3 -3
  176. package/dist/middleware/admin-mutation-audit.d.ts +3 -2
  177. package/dist/middleware/admin-mutation-audit.d.ts.map +1 -1
  178. package/dist/middleware/admin-mutation-audit.js +12 -5
  179. package/dist/middleware/admin-mutation-audit.js.map +1 -1
  180. package/dist/middleware/admin-rate-limiter.d.ts +7 -8
  181. package/dist/middleware/admin-rate-limiter.d.ts.map +1 -1
  182. package/dist/middleware/admin-rate-limiter.js +7 -8
  183. package/dist/middleware/admin-rate-limiter.js.map +1 -1
  184. package/dist/middleware/client-secret-hash.d.ts +10 -29
  185. package/dist/middleware/client-secret-hash.d.ts.map +1 -1
  186. package/dist/middleware/client-secret-hash.js +161 -59
  187. package/dist/middleware/client-secret-hash.js.map +1 -1
  188. package/dist/middleware/health.d.ts +17 -0
  189. package/dist/middleware/health.d.ts.map +1 -1
  190. package/dist/middleware/health.js +25 -21
  191. package/dist/middleware/health.js.map +1 -1
  192. package/dist/middleware/ready.d.ts.map +1 -1
  193. package/dist/middleware/ready.js +1 -12
  194. package/dist/middleware/ready.js.map +1 -1
  195. package/dist/middleware/require-existing-organization.d.ts +18 -0
  196. package/dist/middleware/require-existing-organization.d.ts.map +1 -0
  197. package/dist/middleware/require-existing-organization.js +38 -0
  198. package/dist/middleware/require-existing-organization.js.map +1 -0
  199. package/dist/middleware/require-permission.d.ts.map +1 -1
  200. package/dist/middleware/require-permission.js +35 -1
  201. package/dist/middleware/require-permission.js.map +1 -1
  202. package/dist/middleware/require-user-organization.d.ts.map +1 -1
  203. package/dist/middleware/require-user-organization.js +4 -2
  204. package/dist/middleware/require-user-organization.js.map +1 -1
  205. package/dist/middleware/security-headers.d.ts +18 -0
  206. package/dist/middleware/security-headers.d.ts.map +1 -1
  207. package/dist/middleware/security-headers.js +32 -1
  208. package/dist/middleware/security-headers.js.map +1 -1
  209. package/dist/middleware/tenant-resolver.d.ts +1 -2
  210. package/dist/middleware/tenant-resolver.d.ts.map +1 -1
  211. package/dist/middleware/tenant-resolver.js +1 -5
  212. package/dist/middleware/tenant-resolver.js.map +1 -1
  213. package/dist/middleware/token-rate-limiter.d.ts +37 -16
  214. package/dist/middleware/token-rate-limiter.d.ts.map +1 -1
  215. package/dist/middleware/token-rate-limiter.js +126 -54
  216. package/dist/middleware/token-rate-limiter.js.map +1 -1
  217. package/dist/oidc/account-finder.d.ts +5 -5
  218. package/dist/oidc/account-finder.d.ts.map +1 -1
  219. package/dist/oidc/account-finder.js +31 -23
  220. package/dist/oidc/account-finder.js.map +1 -1
  221. package/dist/oidc/adapter-factory.d.ts.map +1 -1
  222. package/dist/oidc/adapter-factory.js +83 -3
  223. package/dist/oidc/adapter-factory.js.map +1 -1
  224. package/dist/oidc/configuration.d.ts +3 -8
  225. package/dist/oidc/configuration.d.ts.map +1 -1
  226. package/dist/oidc/configuration.js +64 -50
  227. package/dist/oidc/configuration.js.map +1 -1
  228. package/dist/oidc/provider.d.ts.map +1 -1
  229. package/dist/oidc/provider.js +7 -0
  230. package/dist/oidc/provider.js.map +1 -1
  231. package/dist/oidc/redis-adapter.d.ts +2 -3
  232. package/dist/oidc/redis-adapter.d.ts.map +1 -1
  233. package/dist/oidc/redis-adapter.js +54 -46
  234. package/dist/oidc/redis-adapter.js.map +1 -1
  235. package/dist/organizations/branding-url.d.ts +17 -0
  236. package/dist/organizations/branding-url.d.ts.map +1 -0
  237. package/dist/organizations/branding-url.js +38 -0
  238. package/dist/organizations/branding-url.js.map +1 -0
  239. package/dist/organizations/index.d.ts +2 -2
  240. package/dist/organizations/index.d.ts.map +1 -1
  241. package/dist/organizations/index.js +1 -1
  242. package/dist/organizations/index.js.map +1 -1
  243. package/dist/organizations/repository.d.ts +22 -32
  244. package/dist/organizations/repository.d.ts.map +1 -1
  245. package/dist/organizations/repository.js +64 -45
  246. package/dist/organizations/repository.js.map +1 -1
  247. package/dist/organizations/service.d.ts +14 -46
  248. package/dist/organizations/service.d.ts.map +1 -1
  249. package/dist/organizations/service.js +60 -112
  250. package/dist/organizations/service.js.map +1 -1
  251. package/dist/organizations/types.d.ts +1 -15
  252. package/dist/organizations/types.d.ts.map +1 -1
  253. package/dist/organizations/validators.d.ts +41 -0
  254. package/dist/organizations/validators.d.ts.map +1 -0
  255. package/dist/organizations/validators.js +48 -0
  256. package/dist/organizations/validators.js.map +1 -0
  257. package/dist/portability/apply.d.ts +15 -0
  258. package/dist/portability/apply.d.ts.map +1 -0
  259. package/dist/portability/apply.js +274 -0
  260. package/dist/portability/apply.js.map +1 -0
  261. package/dist/portability/authorization.d.ts +30 -0
  262. package/dist/portability/authorization.d.ts.map +1 -0
  263. package/dist/portability/authorization.js +130 -0
  264. package/dist/portability/authorization.js.map +1 -0
  265. package/dist/portability/cleanup.d.ts +29 -0
  266. package/dist/portability/cleanup.d.ts.map +1 -0
  267. package/dist/portability/cleanup.js +167 -0
  268. package/dist/portability/cleanup.js.map +1 -0
  269. package/dist/portability/export.d.ts +18 -0
  270. package/dist/portability/export.d.ts.map +1 -0
  271. package/dist/portability/export.js +125 -0
  272. package/dist/portability/export.js.map +1 -0
  273. package/dist/portability/import-repository.d.ts +204 -0
  274. package/dist/portability/import-repository.d.ts.map +1 -0
  275. package/dist/portability/import-repository.js +347 -0
  276. package/dist/portability/import-repository.js.map +1 -0
  277. package/dist/portability/import-user-client-writers.d.ts +40 -0
  278. package/dist/portability/import-user-client-writers.d.ts.map +1 -0
  279. package/dist/portability/import-user-client-writers.js +168 -0
  280. package/dist/portability/import-user-client-writers.js.map +1 -0
  281. package/dist/portability/index.d.ts +8 -0
  282. package/dist/portability/index.d.ts.map +1 -0
  283. package/dist/portability/index.js +8 -0
  284. package/dist/portability/index.js.map +1 -0
  285. package/dist/portability/plan-support.d.ts +137 -0
  286. package/dist/portability/plan-support.d.ts.map +1 -0
  287. package/dist/portability/plan-support.js +336 -0
  288. package/dist/portability/plan-support.js.map +1 -0
  289. package/dist/portability/plan.d.ts +34 -0
  290. package/dist/portability/plan.d.ts.map +1 -0
  291. package/dist/portability/plan.js +450 -0
  292. package/dist/portability/plan.js.map +1 -0
  293. package/dist/portability/repository.d.ts +95 -0
  294. package/dist/portability/repository.d.ts.map +1 -0
  295. package/dist/portability/repository.js +388 -0
  296. package/dist/portability/repository.js.map +1 -0
  297. package/dist/portability/schema.d.ts +589 -0
  298. package/dist/portability/schema.d.ts.map +1 -0
  299. package/dist/portability/schema.js +458 -0
  300. package/dist/portability/schema.js.map +1 -0
  301. package/dist/portability/types.d.ts +381 -0
  302. package/dist/portability/types.d.ts.map +1 -0
  303. package/dist/portability/types.js +19 -0
  304. package/dist/portability/types.js.map +1 -0
  305. package/dist/rbac/errors.d.ts +4 -0
  306. package/dist/rbac/errors.d.ts.map +1 -1
  307. package/dist/rbac/errors.js +7 -0
  308. package/dist/rbac/errors.js.map +1 -1
  309. package/dist/rbac/index.d.ts +3 -3
  310. package/dist/rbac/index.d.ts.map +1 -1
  311. package/dist/rbac/index.js +3 -3
  312. package/dist/rbac/index.js.map +1 -1
  313. package/dist/rbac/mapping-repository.d.ts +84 -9
  314. package/dist/rbac/mapping-repository.d.ts.map +1 -1
  315. package/dist/rbac/mapping-repository.js +222 -55
  316. package/dist/rbac/mapping-repository.js.map +1 -1
  317. package/dist/rbac/permission-repository.d.ts +36 -19
  318. package/dist/rbac/permission-repository.d.ts.map +1 -1
  319. package/dist/rbac/permission-repository.js +93 -35
  320. package/dist/rbac/permission-repository.js.map +1 -1
  321. package/dist/rbac/permission-service.d.ts +18 -19
  322. package/dist/rbac/permission-service.d.ts.map +1 -1
  323. package/dist/rbac/permission-service.js +100 -57
  324. package/dist/rbac/permission-service.js.map +1 -1
  325. package/dist/rbac/role-repository.d.ts +29 -24
  326. package/dist/rbac/role-repository.d.ts.map +1 -1
  327. package/dist/rbac/role-repository.js +66 -43
  328. package/dist/rbac/role-repository.js.map +1 -1
  329. package/dist/rbac/role-service.d.ts +35 -32
  330. package/dist/rbac/role-service.d.ts.map +1 -1
  331. package/dist/rbac/role-service.js +210 -96
  332. package/dist/rbac/role-service.js.map +1 -1
  333. package/dist/rbac/slugs.d.ts +16 -27
  334. package/dist/rbac/slugs.d.ts.map +1 -1
  335. package/dist/rbac/slugs.js +36 -59
  336. package/dist/rbac/slugs.js.map +1 -1
  337. package/dist/rbac/types.d.ts +2 -4
  338. package/dist/rbac/types.d.ts.map +1 -1
  339. package/dist/rbac/types.js.map +1 -1
  340. package/dist/rbac/user-role-service.d.ts +23 -24
  341. package/dist/rbac/user-role-service.d.ts.map +1 -1
  342. package/dist/rbac/user-role-service.js +117 -61
  343. package/dist/rbac/user-role-service.js.map +1 -1
  344. package/dist/routes/applications.d.ts +4 -2
  345. package/dist/routes/applications.d.ts.map +1 -1
  346. package/dist/routes/applications.js +57 -19
  347. package/dist/routes/applications.js.map +1 -1
  348. package/dist/routes/audit.js +1 -1
  349. package/dist/routes/audit.js.map +1 -1
  350. package/dist/routes/branding.d.ts +3 -3
  351. package/dist/routes/branding.d.ts.map +1 -1
  352. package/dist/routes/branding.js +44 -16
  353. package/dist/routes/branding.js.map +1 -1
  354. package/dist/routes/bulk.d.ts +0 -5
  355. package/dist/routes/bulk.d.ts.map +1 -1
  356. package/dist/routes/bulk.js +3 -5
  357. package/dist/routes/bulk.js.map +1 -1
  358. package/dist/routes/clients.d.ts +4 -4
  359. package/dist/routes/clients.d.ts.map +1 -1
  360. package/dist/routes/clients.js +111 -52
  361. package/dist/routes/clients.js.map +1 -1
  362. package/dist/routes/config.d.ts +17 -12
  363. package/dist/routes/config.d.ts.map +1 -1
  364. package/dist/routes/config.js +165 -64
  365. package/dist/routes/config.js.map +1 -1
  366. package/dist/routes/custom-claims.d.ts.map +1 -1
  367. package/dist/routes/custom-claims.js +8 -2
  368. package/dist/routes/custom-claims.js.map +1 -1
  369. package/dist/routes/exports.d.ts +2 -1
  370. package/dist/routes/exports.d.ts.map +1 -1
  371. package/dist/routes/exports.js +57 -1
  372. package/dist/routes/exports.js.map +1 -1
  373. package/dist/routes/imports.d.ts +2 -2
  374. package/dist/routes/imports.d.ts.map +1 -1
  375. package/dist/routes/imports.js +95 -40
  376. package/dist/routes/imports.js.map +1 -1
  377. package/dist/routes/interactions.d.ts.map +1 -1
  378. package/dist/routes/interactions.js +16 -34
  379. package/dist/routes/interactions.js.map +1 -1
  380. package/dist/routes/invitation.d.ts.map +1 -1
  381. package/dist/routes/invitation.js +10 -23
  382. package/dist/routes/invitation.js.map +1 -1
  383. package/dist/routes/keys.d.ts.map +1 -1
  384. package/dist/routes/keys.js +26 -13
  385. package/dist/routes/keys.js.map +1 -1
  386. package/dist/routes/magic-link.d.ts.map +1 -1
  387. package/dist/routes/magic-link.js +5 -17
  388. package/dist/routes/magic-link.js.map +1 -1
  389. package/dist/routes/organizations.d.ts +1 -2
  390. package/dist/routes/organizations.d.ts.map +1 -1
  391. package/dist/routes/organizations.js +43 -104
  392. package/dist/routes/organizations.js.map +1 -1
  393. package/dist/routes/password-reset.d.ts.map +1 -1
  394. package/dist/routes/password-reset.js +13 -35
  395. package/dist/routes/password-reset.js.map +1 -1
  396. package/dist/routes/permissions.d.ts +1 -1
  397. package/dist/routes/permissions.d.ts.map +1 -1
  398. package/dist/routes/permissions.js +58 -17
  399. package/dist/routes/permissions.js.map +1 -1
  400. package/dist/routes/public-branding.d.ts +16 -0
  401. package/dist/routes/public-branding.d.ts.map +1 -0
  402. package/dist/routes/public-branding.js +52 -0
  403. package/dist/routes/public-branding.js.map +1 -0
  404. package/dist/routes/roles.d.ts +1 -1
  405. package/dist/routes/roles.d.ts.map +1 -1
  406. package/dist/routes/roles.js +63 -21
  407. package/dist/routes/roles.js.map +1 -1
  408. package/dist/routes/sessions.d.ts.map +1 -1
  409. package/dist/routes/sessions.js +23 -12
  410. package/dist/routes/sessions.js.map +1 -1
  411. package/dist/routes/two-factor.d.ts.map +1 -1
  412. package/dist/routes/two-factor.js +91 -38
  413. package/dist/routes/two-factor.js.map +1 -1
  414. package/dist/routes/user-roles.d.ts.map +1 -1
  415. package/dist/routes/user-roles.js +56 -9
  416. package/dist/routes/user-roles.js.map +1 -1
  417. package/dist/routes/users.d.ts +4 -8
  418. package/dist/routes/users.d.ts.map +1 -1
  419. package/dist/routes/users.js +108 -265
  420. package/dist/routes/users.js.map +1 -1
  421. package/dist/server.d.ts.map +1 -1
  422. package/dist/server.js +53 -37
  423. package/dist/server.js.map +1 -1
  424. package/dist/two-factor/errors.d.ts +9 -0
  425. package/dist/two-factor/errors.d.ts.map +1 -1
  426. package/dist/two-factor/errors.js +12 -0
  427. package/dist/two-factor/errors.js.map +1 -1
  428. package/dist/two-factor/index.d.ts +5 -4
  429. package/dist/two-factor/index.d.ts.map +1 -1
  430. package/dist/two-factor/index.js +4 -4
  431. package/dist/two-factor/index.js.map +1 -1
  432. package/dist/two-factor/repository.d.ts +17 -6
  433. package/dist/two-factor/repository.d.ts.map +1 -1
  434. package/dist/two-factor/repository.js +37 -9
  435. package/dist/two-factor/repository.js.map +1 -1
  436. package/dist/two-factor/service.d.ts.map +1 -1
  437. package/dist/two-factor/service.js +26 -19
  438. package/dist/two-factor/service.js.map +1 -1
  439. package/dist/two-factor/totp.d.ts +13 -2
  440. package/dist/two-factor/totp.d.ts.map +1 -1
  441. package/dist/two-factor/totp.js +20 -7
  442. package/dist/two-factor/totp.js.map +1 -1
  443. package/dist/two-factor/types.d.ts +3 -0
  444. package/dist/two-factor/types.d.ts.map +1 -1
  445. package/dist/two-factor/types.js +5 -0
  446. package/dist/two-factor/types.js.map +1 -1
  447. package/dist/users/gdpr.d.ts +2 -40
  448. package/dist/users/gdpr.d.ts.map +1 -1
  449. package/dist/users/gdpr.js +3 -110
  450. package/dist/users/gdpr.js.map +1 -1
  451. package/dist/users/index.d.ts +5 -4
  452. package/dist/users/index.d.ts.map +1 -1
  453. package/dist/users/index.js +5 -4
  454. package/dist/users/index.js.map +1 -1
  455. package/dist/users/repository.d.ts +49 -3
  456. package/dist/users/repository.d.ts.map +1 -1
  457. package/dist/users/repository.js +169 -18
  458. package/dist/users/repository.js.map +1 -1
  459. package/dist/users/service.d.ts +19 -51
  460. package/dist/users/service.d.ts.map +1 -1
  461. package/dist/users/service.js +72 -122
  462. package/dist/users/service.js.map +1 -1
  463. package/dist/users/types.d.ts +4 -5
  464. package/dist/users/types.d.ts.map +1 -1
  465. package/dist/users/types.js.map +1 -1
  466. package/dist/users/validators.d.ts +28 -0
  467. package/dist/users/validators.d.ts.map +1 -0
  468. package/dist/users/validators.js +25 -0
  469. package/dist/users/validators.js.map +1 -0
  470. package/locales/default/en/errors.json +2 -1
  471. package/migrations/024_application_client_correction.sql +39 -0
  472. package/migrations/025_record_deletion_lifecycle.sql +26 -0
  473. package/migrations/026_simplify_user_lifecycle.sql +33 -0
  474. package/migrations/027_branding_asset_size_limits.sql +19 -0
  475. package/migrations/028_totp_replay_protection.sql +17 -0
  476. package/migrations/029_public_session_identifiers.sql +16 -0
  477. package/migrations/030_global_configuration_catalog.sql +39 -0
  478. package/migrations/031_monotonic_updated_at.sql +28 -0
  479. package/package.json +2 -2
  480. package/dist/lib/data-import-plan.d.ts +0 -50
  481. package/dist/lib/data-import-plan.d.ts.map +0 -1
  482. package/dist/lib/data-import-plan.js +0 -235
  483. package/dist/lib/data-import-plan.js.map +0 -1
  484. package/dist/lib/data-import.d.ts +0 -276
  485. package/dist/lib/data-import.d.ts.map +0 -1
  486. package/dist/lib/data-import.js +0 -1694
  487. package/dist/lib/data-import.js.map +0 -1
@@ -14,18 +14,18 @@
14
14
  *
15
15
  * Status lifecycle rules:
16
16
  * - deactivate: active → inactive
17
- * - reactivate: inactive → active
18
- * - suspend: active → suspended
19
- * - unsuspend: suspended → active
20
- * - lock: active → locked (with reason and timestamp)
21
- * - unlock: locked → active (clears reason and timestamp)
17
+ * - activate: inactive → active
18
+ * - automatic lockout: active → locked → active after the configured cooldown
22
19
  */
23
20
  import { writeAuditLog } from '../lib/audit-log.js';
24
21
  import { getSystemConfigNumber } from '../lib/system-config.js';
25
22
  import { cacheUser, getCachedUserById, invalidateUserCache } from './cache.js';
26
23
  import { UserNotFoundError, UserValidationError } from './errors.js';
27
24
  import { ensureDummyPasswordHash, hashPassword, validatePassword, verifyPassword, } from './password.js';
28
- import { emailExists, getPasswordHash, incrementFailedLoginCount, insertUser, findUserByEmail as repoFindByEmail, findUserById as repoFindById, listUsers as repoList, listUsersCursor as repoListCursor, updateUser as repoUpdate, resetFailedLoginCount, recordEligiblePasswordFailure, unlockEligiblePasswordAccount, updateLoginStats, } from './repository.js';
25
+ import { emailExists, getPasswordHash, incrementFailedLoginCount, insertUser, findUserByEmail as repoFindByEmail, findUserById as repoFindById, listUsers as repoList, listUsersCursor as repoListCursor, updateUser as repoUpdate, resetFailedLoginCount, recordEligiblePasswordFailure, unlockEligiblePasswordAccount, updateLoginStats, deleteUserCapture, deleteCapturedUser, } from './repository.js';
26
+ import { getDatabaseTransactionClient } from '../lib/database.js';
27
+ import { writeAuditLogInTransaction } from '../lib/audit-log.js';
28
+ import { registerDeletionCleanup } from '../lib/deletion-cleanup.js';
29
29
  /** Fixed UUID that can never identify a persisted account. */
30
30
  const NON_ACCOUNT_USER_ID = '00000000-0000-0000-0000-000000000000';
31
31
  // ---------------------------------------------------------------------------
@@ -288,64 +288,17 @@ export async function deactivateUser(id, actorId) {
288
288
  });
289
289
  }
290
290
  /**
291
- * Reactivate a user (inactive → active).
291
+ * Activate a user (inactive → active).
292
292
  *
293
293
  * @param id - User UUID
294
294
  * @param actorId - UUID of the user performing the action
295
295
  * @throws UserNotFoundError if not found
296
296
  * @throws UserValidationError if not currently inactive
297
297
  */
298
- export async function reactivateUser(id, actorId) {
298
+ export async function activateUser(id, actorId) {
299
299
  const user = await loadUserForStatusChange(id);
300
300
  if (user.status !== 'inactive') {
301
- throw new UserValidationError(`Cannot reactivate user from status: ${user.status}`);
302
- }
303
- await repoUpdate(id, { status: 'active' });
304
- await invalidateUserCache(id);
305
- await writeAuditLog({
306
- organizationId: user.organizationId,
307
- actorId,
308
- eventType: 'user.reactivated',
309
- eventCategory: 'admin',
310
- metadata: { userId: id },
311
- });
312
- }
313
- /**
314
- * Suspend a user (active → suspended).
315
- *
316
- * @param id - User UUID
317
- * @param reason - Optional reason for suspension
318
- * @param actorId - UUID of the user performing the action
319
- * @throws UserNotFoundError if not found
320
- * @throws UserValidationError if not currently active
321
- */
322
- export async function suspendUser(id, reason, actorId) {
323
- const user = await loadUserForStatusChange(id);
324
- if (user.status !== 'active') {
325
- throw new UserValidationError(`Cannot suspend user from status: ${user.status}`);
326
- }
327
- await repoUpdate(id, { status: 'suspended' });
328
- await invalidateUserCache(id);
329
- await writeAuditLog({
330
- organizationId: user.organizationId,
331
- actorId,
332
- eventType: 'user.suspended',
333
- eventCategory: 'admin',
334
- metadata: { userId: id, reason: reason ?? null },
335
- });
336
- }
337
- /**
338
- * Unsuspend a user (suspended → active).
339
- *
340
- * @param id - User UUID
341
- * @param actorId - UUID of the user performing the action
342
- * @throws UserNotFoundError if not found
343
- * @throws UserValidationError if not currently suspended
344
- */
345
- export async function unsuspendUser(id, actorId) {
346
- const user = await loadUserForStatusChange(id);
347
- if (user.status !== 'suspended') {
348
- throw new UserValidationError(`Cannot unsuspend user from status: ${user.status}`);
301
+ throw new UserValidationError(`Cannot activate user from status: ${user.status}`);
349
302
  }
350
303
  await repoUpdate(id, { status: 'active' });
351
304
  await invalidateUserCache(id);
@@ -357,66 +310,6 @@ export async function unsuspendUser(id, actorId) {
357
310
  metadata: { userId: id },
358
311
  });
359
312
  }
360
- /**
361
- * Lock a user (active → locked).
362
- *
363
- * Sets the locked_at timestamp and locked_reason. Locked users
364
- * cannot authenticate (getPasswordHash only returns for active users).
365
- *
366
- * @param id - User UUID
367
- * @param reason - Reason for locking the account
368
- * @param actorId - UUID of the user performing the action
369
- * @throws UserNotFoundError if not found
370
- * @throws UserValidationError if not currently active
371
- */
372
- export async function lockUser(id, reason, actorId) {
373
- const user = await loadUserForStatusChange(id);
374
- if (user.status !== 'active') {
375
- throw new UserValidationError(`Cannot lock user from status: ${user.status}`);
376
- }
377
- await repoUpdate(id, {
378
- status: 'locked',
379
- lockedAt: new Date(),
380
- lockedReason: reason,
381
- });
382
- await invalidateUserCache(id);
383
- await writeAuditLog({
384
- organizationId: user.organizationId,
385
- actorId,
386
- eventType: 'user.locked',
387
- eventCategory: 'admin',
388
- metadata: { userId: id, reason },
389
- });
390
- }
391
- /**
392
- * Unlock a user (locked → active).
393
- *
394
- * Clears the locked_at timestamp and locked_reason.
395
- *
396
- * @param id - User UUID
397
- * @param actorId - UUID of the user performing the action
398
- * @throws UserNotFoundError if not found
399
- * @throws UserValidationError if not currently locked
400
- */
401
- export async function unlockUser(id, actorId) {
402
- const user = await loadUserForStatusChange(id);
403
- if (user.status !== 'locked') {
404
- throw new UserValidationError(`Cannot unlock user from status: ${user.status}`);
405
- }
406
- await repoUpdate(id, {
407
- status: 'active',
408
- lockedAt: null,
409
- lockedReason: null,
410
- });
411
- await invalidateUserCache(id);
412
- await writeAuditLog({
413
- organizationId: user.organizationId,
414
- actorId,
415
- eventType: 'user.unlocked',
416
- eventCategory: 'admin',
417
- metadata: { userId: id },
418
- });
419
- }
420
313
  // ---------------------------------------------------------------------------
421
314
  // Password management
422
315
  // ---------------------------------------------------------------------------
@@ -498,7 +391,7 @@ export async function verifyLoginPassword(id, password, dependencies) {
498
391
  */
499
392
  export async function prepareUserForPasswordLogin(organizationId, email) {
500
393
  const candidate = await getUserByEmail(organizationId, email);
501
- const cooldownSeconds = await getSystemConfigNumber('lockout_duration_seconds', 900);
394
+ const cooldownSeconds = await getSystemConfigNumber('lockout_duration_seconds');
502
395
  const candidateId = candidate?.id ?? NON_ACCOUNT_USER_ID;
503
396
  const unlocked = await unlockEligiblePasswordAccount(candidateId, new Date(Date.now() - cooldownSeconds * 1_000));
504
397
  await invalidateUserCache(candidateId);
@@ -593,7 +486,7 @@ export async function recordLogin(id) {
593
486
  * @returns Object with `locked: true` if the account was just auto-locked
594
487
  */
595
488
  export async function recordFailedLogin(user) {
596
- const maxAttempts = await getSystemConfigNumber('max_failed_logins', 5);
489
+ const maxAttempts = await getSystemConfigNumber('max_failed_logins');
597
490
  const result = await incrementFailedLoginCount(user.id, maxAttempts);
598
491
  await invalidateUserCache(user.id);
599
492
  const justLocked = result.status === 'locked' && user.status === 'active';
@@ -621,7 +514,7 @@ export async function recordPasswordFailure(user, dependencies) {
621
514
  recordEligibleFailure: recordEligiblePasswordFailure,
622
515
  invalidateCache: invalidateUserCache,
623
516
  };
624
- const maxAttempts = await getSystemConfigNumber('max_failed_logins', 5);
517
+ const maxAttempts = await getSystemConfigNumber('max_failed_logins');
625
518
  const userId = user?.id ?? NON_ACCOUNT_USER_ID;
626
519
  const result = await boundaries.recordEligibleFailure(userId, maxAttempts);
627
520
  await boundaries.invalidateCache(userId);
@@ -642,7 +535,7 @@ export async function recordPasswordFailure(user, dependencies) {
642
535
  * Check whether an auto-locked account should be unlocked (cooldown elapsed).
643
536
  *
644
537
  * Only applies to users with `status = 'locked'` and
645
- * `lockedReason = 'auto_lockout'`. Manual locks are never auto-unlocked.
538
+ * `lockedReason = 'auto_lockout'`.
646
539
  *
647
540
  * The cooldown duration comes from system_config `lockout_duration_seconds`
648
541
  * (default 900 = 15 minutes).
@@ -656,7 +549,7 @@ export async function checkAutoUnlock(user) {
656
549
  }
657
550
  if (!user.lockedAt)
658
551
  return false;
659
- const cooldownSeconds = await getSystemConfigNumber('lockout_duration_seconds', 900);
552
+ const cooldownSeconds = await getSystemConfigNumber('lockout_duration_seconds');
660
553
  const elapsed = (Date.now() - user.lockedAt.getTime()) / 1000;
661
554
  if (elapsed < cooldownSeconds) {
662
555
  return false;
@@ -687,7 +580,9 @@ export async function checkAutoUnlock(user) {
687
580
  * @returns Active user or null
688
581
  */
689
582
  export async function findUserForOidc(sub) {
690
- const user = await getUserById(sub);
583
+ // OIDC account authority is deliberately database-backed so deletion or a
584
+ // restrictive status change takes effect even while a user cache key exists.
585
+ const user = await repoFindById(sub);
691
586
  if (!user)
692
587
  return null;
693
588
  // Only active users can interact with OIDC endpoints
@@ -695,4 +590,59 @@ export async function findUserForOidc(sub) {
695
590
  return null;
696
591
  return user;
697
592
  }
593
+ /**
594
+ * Physically delete a user through its authoritative organization boundary.
595
+ * The repository serializes control-plane deletion and preserves another
596
+ * active user assigned the exact `porta-super-admin` role.
597
+ *
598
+ * @param organizationId - Owning organization UUID.
599
+ * @param userId - User UUID.
600
+ * @param actorId - Actor identifier available for audit attribution.
601
+ * @returns The graph captured before PostgreSQL applied its cascade.
602
+ * @throws UserNotFoundError for a missing or mismatched user.
603
+ * @throws UserValidationError when the last active exact super administrator is protected.
604
+ */
605
+ export async function deleteUser(organizationId, userId, actorId) {
606
+ // The repository performs the locked exact `porta-super-admin` survivor check;
607
+ // this service deliberately cannot bypass that control-plane guard.
608
+ const client = getDatabaseTransactionClient();
609
+ if (!client)
610
+ throw new Error('User deletion requires an active database transaction');
611
+ const capture = await deleteUserCapture(organizationId, userId);
612
+ if (!capture)
613
+ throw new UserNotFoundError(userId);
614
+ await client.query(`UPDATE admin_sessions SET revoked_at = NOW()
615
+ WHERE user_id = ANY($1::uuid[]) AND revoked_at IS NULL`, [capture.userIds]);
616
+ await client.query(`DELETE FROM oidc_payloads
617
+ WHERE id = ANY($1::varchar[]) OR grant_id = ANY($1::varchar[])
618
+ OR payload->>'accountId' = ANY($2::text[])`, [capture.grantIds, capture.userIds]);
619
+ await writeAuditLogInTransaction(client, {
620
+ organizationId,
621
+ userId,
622
+ actorId,
623
+ eventType: 'user.deleted',
624
+ eventCategory: 'admin',
625
+ metadata: {
626
+ organizationId,
627
+ userId,
628
+ email: capture.user.email,
629
+ status: capture.user.status,
630
+ },
631
+ });
632
+ await deleteCapturedUser(organizationId, userId);
633
+ await registerDeletionCleanup({
634
+ resource: 'user',
635
+ targetId: userId,
636
+ parentId: organizationId,
637
+ userIds: capture.userIds,
638
+ clientIds: [],
639
+ publicClientIds: [],
640
+ grantIds: capture.grantIds,
641
+ roleIds: capture.roleIds,
642
+ permissionIds: [],
643
+ claimIds: capture.claimIds,
644
+ applicationIds: capture.applicationIds,
645
+ });
646
+ return capture;
647
+ }
698
648
  //# sourceMappingURL=service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/users/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/users/service.ts"],"names":[],"mappings":"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"}
@@ -22,12 +22,11 @@ export type { PaginatedResult };
22
22
  * User status values — matches the DB CHECK constraint.
23
23
  *
24
24
  * Lifecycle transitions:
25
- * - active → inactive (deactivate), suspended (suspend), locked (lock)
26
- * - inactive → active (reactivate)
27
- * - suspended → active (unsuspend)
28
- * - locked → active (unlock)
25
+ * - active → inactive (administrator deactivation)
26
+ * - inactive → active (activate)
27
+ * - active → locked → active (automatic failed-login protection)
29
28
  */
30
- export type UserStatus = 'active' | 'inactive' | 'suspended' | 'locked';
29
+ export type UserStatus = 'active' | 'inactive' | 'locked';
31
30
  /**
32
31
  * Full user record as used throughout the application.
33
32
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/users/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/users/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/users/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAmPH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,cAAc,EAAE,GAAG,CAAC,eAAe;QAEnC,yDAAyD;QACzD,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,WAAW,EAAE,GAAG,CAAC,aAAa,KAAK,IAAI;QACvC,iBAAiB,EAAE,GAAG,CAAC,mBAAmB;QAE1C,uBAAuB;QACvB,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,iBAAiB,EAAE,GAAG,CAAC,kBAAkB;QACzC,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,mBAAmB,EAAE,GAAG,CAAC,qBAAqB;QAE9C,UAAU;QACV,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,eAAe,EAAE,GAAG,CAAC,gBAAgB;QACrC,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,iBAAiB,EAAE,GAAG,CAAC,mBAAmB;QAC1C,cAAc,EAAE,GAAG,CAAC,eAAe;QAEnC,4BAA4B;QAC5B,gBAAgB,EAAE,GAAG,CAAC,kBAAkB;QACxC,eAAe,EAAG,GAAG,CAAC,iBAAqC,IAAI,IAAI;QAEnE,qBAAqB;QACrB,MAAM,EAAE,GAAG,CAAC,MAAoB;QAChC,QAAQ,EAAE,GAAG,CAAC,SAAS;QACvB,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,WAAW,EAAE,GAAG,CAAC,aAAa;QAC9B,UAAU,EAAE,GAAG,CAAC,WAAW;QAE3B,0CAA0C;QAC1C,gBAAgB,EAAE,GAAG,CAAC,kBAAkB,IAAI,CAAC;QAC7C,iBAAiB,EAAE,GAAG,CAAC,oBAAoB,IAAI,IAAI;QAEnD,aAAa;QACb,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,SAAS,EAAE,GAAG,CAAC,UAAU;KAC1B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/users/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAkPH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,cAAc,EAAE,GAAG,CAAC,eAAe;QAEnC,yDAAyD;QACzD,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,WAAW,EAAE,GAAG,CAAC,aAAa,KAAK,IAAI;QACvC,iBAAiB,EAAE,GAAG,CAAC,mBAAmB;QAE1C,uBAAuB;QACvB,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,iBAAiB,EAAE,GAAG,CAAC,kBAAkB;QACzC,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,mBAAmB,EAAE,GAAG,CAAC,qBAAqB;QAE9C,UAAU;QACV,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,eAAe,EAAE,GAAG,CAAC,gBAAgB;QACrC,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,iBAAiB,EAAE,GAAG,CAAC,mBAAmB;QAC1C,cAAc,EAAE,GAAG,CAAC,eAAe;QAEnC,4BAA4B;QAC5B,gBAAgB,EAAE,GAAG,CAAC,kBAAkB;QACxC,eAAe,EAAG,GAAG,CAAC,iBAAqC,IAAI,IAAI;QAEnE,qBAAqB;QACrB,MAAM,EAAE,GAAG,CAAC,MAAoB;QAChC,QAAQ,EAAE,GAAG,CAAC,SAAS;QACvB,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,WAAW,EAAE,GAAG,CAAC,aAAa;QAC9B,UAAU,EAAE,GAAG,CAAC,WAAW;QAE3B,0CAA0C;QAC1C,gBAAgB,EAAE,GAAG,CAAC,kBAAkB,IAAI,CAAC;QAC7C,iBAAiB,EAAE,GAAG,CAAC,oBAAoB,IAAI,IAAI;QAEnD,aAAa;QACb,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,SAAS,EAAE,GAAG,CAAC,UAAU;KAC1B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,28 @@
1
+ /** Shared user field validators used by Admin requests and portability manifests. */
2
+ import { z } from 'zod';
3
+ /** User email addresses use the existing Admin API syntax and length boundary. */
4
+ export declare const userEmailSchema: z.ZodString;
5
+ /** General OIDC profile names and aliases use the existing database boundary. */
6
+ export declare const userProfileNameSchema: z.ZodString;
7
+ /** OIDC profile URL fields must contain absolute URLs. */
8
+ export declare const userProfileUrlSchema: z.ZodString;
9
+ /** Gender values retain the existing short free-text contract. */
10
+ export declare const userGenderSchema: z.ZodString;
11
+ /** Birthdates use the OIDC calendar-date wire format. */
12
+ export declare const userBirthdateSchema: z.ZodString;
13
+ /** Time-zone values retain the existing bounded IANA-name field contract. */
14
+ export declare const userZoneinfoSchema: z.ZodString;
15
+ /** User locale identifiers retain the existing Admin API length boundary. */
16
+ export declare const userLocaleSchema: z.ZodString;
17
+ /** Phone numbers retain the existing bounded external-number contract. */
18
+ export declare const userPhoneNumberSchema: z.ZodString;
19
+ /** Postal codes retain the existing address field boundary. */
20
+ export declare const userPostalCodeSchema: z.ZodString;
21
+ /** Address countries use two-letter country codes. */
22
+ export declare const userCountrySchema: z.ZodString;
23
+ /** Portable user lifecycle states exclude automatic lock state. */
24
+ export declare const portableUserStatusSchema: z.ZodEnum<{
25
+ active: "active";
26
+ inactive: "inactive";
27
+ }>;
28
+ //# sourceMappingURL=validators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/users/validators.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,kFAAkF;AAClF,eAAO,MAAM,eAAe,aAA8B,CAAC;AAE3D,iFAAiF;AACjF,eAAO,MAAM,qBAAqB,aAAsB,CAAC;AAEzD,0DAA0D;AAC1D,eAAO,MAAM,oBAAoB,aAAmB,CAAC;AAErD,kEAAkE;AAClE,eAAO,MAAM,gBAAgB,aAAqB,CAAC;AAEnD,yDAAyD;AACzD,eAAO,MAAM,mBAAmB,aAA0C,CAAC;AAE3E,6EAA6E;AAC7E,eAAO,MAAM,kBAAkB,aAAqB,CAAC;AAErD,6EAA6E;AAC7E,eAAO,MAAM,gBAAgB,aAAqB,CAAC;AAEnD,0EAA0E;AAC1E,eAAO,MAAM,qBAAqB,aAAqB,CAAC;AAExD,+DAA+D;AAC/D,eAAO,MAAM,oBAAoB,aAAqB,CAAC;AAEvD,sDAAsD;AACtD,eAAO,MAAM,iBAAiB,aAAuB,CAAC;AAEtD,mEAAmE;AACnE,eAAO,MAAM,wBAAwB;;;EAAiC,CAAC"}
@@ -0,0 +1,25 @@
1
+ /** Shared user field validators used by Admin requests and portability manifests. */
2
+ import { z } from 'zod';
3
+ /** User email addresses use the existing Admin API syntax and length boundary. */
4
+ export const userEmailSchema = z.string().email().max(255);
5
+ /** General OIDC profile names and aliases use the existing database boundary. */
6
+ export const userProfileNameSchema = z.string().max(255);
7
+ /** OIDC profile URL fields must contain absolute URLs. */
8
+ export const userProfileUrlSchema = z.string().url();
9
+ /** Gender values retain the existing short free-text contract. */
10
+ export const userGenderSchema = z.string().max(50);
11
+ /** Birthdates use the OIDC calendar-date wire format. */
12
+ export const userBirthdateSchema = z.string().regex(/^\d{4}-\d{2}-\d{2}$/);
13
+ /** Time-zone values retain the existing bounded IANA-name field contract. */
14
+ export const userZoneinfoSchema = z.string().max(50);
15
+ /** User locale identifiers retain the existing Admin API length boundary. */
16
+ export const userLocaleSchema = z.string().max(10);
17
+ /** Phone numbers retain the existing bounded external-number contract. */
18
+ export const userPhoneNumberSchema = z.string().max(50);
19
+ /** Postal codes retain the existing address field boundary. */
20
+ export const userPostalCodeSchema = z.string().max(20);
21
+ /** Address countries use two-letter country codes. */
22
+ export const userCountrySchema = z.string().length(2);
23
+ /** Portable user lifecycle states exclude automatic lock state. */
24
+ export const portableUserStatusSchema = z.enum(['active', 'inactive']);
25
+ //# sourceMappingURL=validators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/users/validators.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,kFAAkF;AAClF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE3D,iFAAiF;AACjF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEzD,0DAA0D;AAC1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;AAErD,kEAAkE;AAClE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAEnD,yDAAyD;AACzD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAE3E,6EAA6E;AAC7E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAErD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAEnD,0EAA0E;AAC1E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAExD,+DAA+D;AAC/D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAEvD,sDAAsD;AACtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAEtD,mEAAmE;AACnE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC"}
@@ -17,5 +17,6 @@
17
17
  "org_suspended": "This organization has been suspended.",
18
18
  "org_archived": "This organization is no longer active.",
19
19
  "login_method_disabled": "This authentication method is not available for this application.",
20
- "no_login_methods_configured": "No authentication methods are configured for this application. Please contact your administrator."
20
+ "no_login_methods_configured": "No authentication methods are configured for this application. Please contact your administrator.",
21
+ "two_factor_unavailable": "Verification is temporarily unavailable. Please contact your administrator."
21
22
  }
@@ -0,0 +1,39 @@
1
+ -- Up Migration
2
+
3
+ -- Refuse the upgrade before changing any row when legacy data exceeds the supported credential
4
+ -- overlap bound. Operators can revoke excess credentials with the previous server and retry.
5
+ -- Hold this lock for the migration transaction so a concurrent secret write cannot pass the
6
+ -- precondition and create unsupported over-limit data before the migration commits.
7
+ LOCK TABLE client_secrets IN SHARE ROW EXCLUSIVE MODE;
8
+
9
+ DO $$
10
+ BEGIN
11
+ IF EXISTS (
12
+ SELECT client_id
13
+ FROM client_secrets
14
+ WHERE status = 'active'
15
+ AND (expires_at IS NULL OR expires_at > NOW())
16
+ GROUP BY client_id
17
+ HAVING COUNT(*) > 10
18
+ ) THEN
19
+ RAISE EXCEPTION 'Client has more than 10 active secrets; revoke excess secrets before upgrading';
20
+ END IF;
21
+ END $$;
22
+
23
+ -- Existing Application Admin roles need organization read access because client administration
24
+ -- resolves the selected organization. The stable slugs and conflict guard make reruns harmless.
25
+ INSERT INTO role_permissions (role_id, permission_id)
26
+ SELECT role_row.id, permission_row.id
27
+ FROM roles AS role_row
28
+ JOIN permissions AS permission_row
29
+ ON permission_row.application_id = role_row.application_id
30
+ WHERE role_row.slug = 'porta-app-admin'
31
+ AND permission_row.slug = 'admin:org:read'
32
+ ON CONFLICT (role_id, permission_id) DO NOTHING;
33
+
34
+ -- Down Migration
35
+
36
+ -- Forward-only data correction. The up migration cannot distinguish a permission mapping that it
37
+ -- inserted from one that already existed, so rollback deliberately preserves both cases rather
38
+ -- than deleting operator-owned access.
39
+ SELECT 1;
@@ -0,0 +1,26 @@
1
+ -- Up Migration
2
+
3
+ ALTER TABLE organizations
4
+ DROP CONSTRAINT organizations_status_check,
5
+ ADD CONSTRAINT organizations_status_check
6
+ CHECK (status IN ('active', 'suspended'));
7
+
8
+ ALTER TABLE applications
9
+ DROP CONSTRAINT applications_status_check,
10
+ ADD CONSTRAINT applications_status_check
11
+ CHECK (status IN ('active', 'inactive'));
12
+
13
+ ALTER TABLE clients
14
+ DROP CONSTRAINT clients_status_check,
15
+ ADD CONSTRAINT clients_status_check
16
+ CHECK (status IN ('active', 'inactive'));
17
+
18
+ ALTER TABLE permissions
19
+ DROP CONSTRAINT permissions_module_id_fkey,
20
+ ADD CONSTRAINT permissions_module_id_fkey
21
+ FOREIGN KEY (module_id) REFERENCES application_modules(id) ON DELETE CASCADE;
22
+
23
+ -- Down Migration
24
+
25
+ -- Deliberate no-op: removed lifecycle values and weaker module ownership are not restored.
26
+ SELECT 1;
@@ -0,0 +1,33 @@
1
+ -- Up Migration
2
+
3
+ UPDATE users
4
+ SET status = 'inactive'
5
+ WHERE status = 'suspended';
6
+
7
+ UPDATE users
8
+ SET status = 'inactive',
9
+ locked_at = NULL,
10
+ locked_reason = NULL,
11
+ failed_login_count = 0,
12
+ last_failed_login_at = NULL
13
+ WHERE status = 'locked'
14
+ AND locked_reason IS DISTINCT FROM 'auto_lockout';
15
+
16
+ ALTER TABLE users
17
+ DROP CONSTRAINT users_status_check,
18
+ ADD CONSTRAINT users_status_check
19
+ CHECK (status IN ('active', 'inactive', 'locked'));
20
+
21
+ COMMENT ON COLUMN users.status IS
22
+ 'User lifecycle: active/inactive by administrator; locked by automatic login protection';
23
+
24
+ UPDATE permissions
25
+ SET slug = 'admin:user:lifecycle',
26
+ name = 'Manage user lifecycle',
27
+ description = 'Activate and deactivate users'
28
+ WHERE slug = 'admin:user:suspend';
29
+
30
+ -- Down Migration
31
+
32
+ -- Deliberate no-op: removed manual suspension and lock operations are not restored.
33
+ SELECT 1;
@@ -0,0 +1,19 @@
1
+ -- Up Migration
2
+
3
+ ALTER TABLE branding_assets
4
+ DROP CONSTRAINT IF EXISTS branding_assets_valid_size;
5
+
6
+ ALTER TABLE branding_assets
7
+ ADD CONSTRAINT branding_assets_valid_size
8
+ CHECK (
9
+ file_size > 0
10
+ AND (
11
+ (asset_type = 'logo' AND file_size <= 2097152)
12
+ OR (asset_type = 'favicon' AND file_size <= 524288)
13
+ )
14
+ );
15
+
16
+ -- Down Migration
17
+
18
+ -- Deliberate no-op: shrinking the limit could reject logos accepted after this migration.
19
+ SELECT 1;
@@ -0,0 +1,17 @@
1
+ -- Up Migration
2
+
3
+ ALTER TABLE user_totp
4
+ ADD COLUMN last_accepted_time_step BIGINT;
5
+
6
+ ALTER TABLE user_totp
7
+ ADD CONSTRAINT user_totp_algorithm_check CHECK (algorithm = 'SHA1'),
8
+ ADD CONSTRAINT user_totp_digits_check CHECK (digits = 6),
9
+ ADD CONSTRAINT user_totp_period_check CHECK (period = 30);
10
+
11
+ -- Down Migration
12
+
13
+ ALTER TABLE user_totp
14
+ DROP CONSTRAINT IF EXISTS user_totp_algorithm_check,
15
+ DROP CONSTRAINT IF EXISTS user_totp_digits_check,
16
+ DROP CONSTRAINT IF EXISTS user_totp_period_check,
17
+ DROP COLUMN IF EXISTS last_accepted_time_step;
@@ -0,0 +1,16 @@
1
+ -- Up Migration
2
+
3
+ -- Administrative session APIs must not expose the Redis session key because
4
+ -- possession of that key grants access to the live session.
5
+
6
+ ALTER TABLE admin_sessions
7
+ ADD COLUMN public_id UUID NOT NULL DEFAULT gen_random_uuid();
8
+
9
+ ALTER TABLE admin_sessions
10
+ ADD CONSTRAINT admin_sessions_public_id_unique UNIQUE (public_id);
11
+
12
+ -- Down Migration
13
+
14
+ ALTER TABLE admin_sessions
15
+ DROP CONSTRAINT IF EXISTS admin_sessions_public_id_unique,
16
+ DROP COLUMN IF EXISTS public_id;