@thunderid/nextjs 1.4.0 → 1.6.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 (400) hide show
  1. package/dist/cjs/client/admin.cjs +6 -0
  2. package/dist/cjs/client/components/{presentation → account}/ChangeCredential/ChangeCredential.cjs +2 -2
  3. package/dist/cjs/client/components/account/ChangeCredential/ChangeCredential.cjs.map +1 -0
  4. package/dist/cjs/client/components/{presentation → account}/User/User.cjs +1 -1
  5. package/dist/cjs/client/components/account/User/User.cjs.map +1 -0
  6. package/dist/cjs/client/components/{presentation → account}/UserAvatar/UserAvatar.cjs +1 -1
  7. package/dist/cjs/client/components/account/UserAvatar/UserAvatar.cjs.map +1 -0
  8. package/dist/cjs/client/components/{presentation → account}/UserDropdown/UserDropdown.cjs +1 -1
  9. package/dist/cjs/client/components/account/UserDropdown/UserDropdown.cjs.map +1 -0
  10. package/dist/cjs/client/components/{presentation → account}/UserProfile/UserProfile.cjs +1 -1
  11. package/dist/cjs/client/components/account/UserProfile/UserProfile.cjs.map +1 -0
  12. package/dist/cjs/client/components/admin/AgentCreate/AgentCreate.cjs +28 -0
  13. package/dist/cjs/client/components/admin/AgentCreate/AgentCreate.cjs.map +1 -0
  14. package/dist/cjs/client/components/admin/AgentDetails/AgentDetails.cjs +28 -0
  15. package/dist/cjs/client/components/admin/AgentDetails/AgentDetails.cjs.map +1 -0
  16. package/dist/cjs/client/components/admin/AgentList/AgentList.cjs +28 -0
  17. package/dist/cjs/client/components/admin/AgentList/AgentList.cjs.map +1 -0
  18. package/dist/cjs/client/components/admin/GroupCreate/GroupCreate.cjs +28 -0
  19. package/dist/cjs/client/components/admin/GroupCreate/GroupCreate.cjs.map +1 -0
  20. package/dist/cjs/client/components/admin/GroupList/GroupList.cjs +28 -0
  21. package/dist/cjs/client/components/admin/GroupList/GroupList.cjs.map +1 -0
  22. package/dist/cjs/client/components/admin/GroupMembers/GroupMembers.cjs +28 -0
  23. package/dist/cjs/client/components/admin/GroupMembers/GroupMembers.cjs.map +1 -0
  24. package/dist/cjs/client/components/admin/RoleAssignments/RoleAssignments.cjs +28 -0
  25. package/dist/cjs/client/components/admin/RoleAssignments/RoleAssignments.cjs.map +1 -0
  26. package/dist/cjs/client/components/admin/RoleCreate/RoleCreate.cjs +28 -0
  27. package/dist/cjs/client/components/admin/RoleCreate/RoleCreate.cjs.map +1 -0
  28. package/dist/cjs/client/components/admin/RoleList/RoleList.cjs +28 -0
  29. package/dist/cjs/client/components/admin/RoleList/RoleList.cjs.map +1 -0
  30. package/dist/cjs/client/components/admin/RolePermissions/RolePermissions.cjs +28 -0
  31. package/dist/cjs/client/components/admin/RolePermissions/RolePermissions.cjs.map +1 -0
  32. package/dist/cjs/client/components/admin/UserCreate/UserCreate.cjs +28 -0
  33. package/dist/cjs/client/components/admin/UserCreate/UserCreate.cjs.map +1 -0
  34. package/dist/cjs/client/components/admin/UserDetails/UserDetails.cjs +28 -0
  35. package/dist/cjs/client/components/admin/UserDetails/UserDetails.cjs.map +1 -0
  36. package/dist/cjs/client/components/admin/UserList/UserList.cjs +28 -0
  37. package/dist/cjs/client/components/admin/UserList/UserList.cjs.map +1 -0
  38. package/dist/cjs/client/components/{presentation → auth}/SignIn/SignIn.cjs +1 -1
  39. package/dist/cjs/client/components/auth/SignIn/SignIn.cjs.map +1 -0
  40. package/dist/cjs/client/components/{presentation → auth}/SignUp/SignUp.cjs +1 -1
  41. package/dist/cjs/client/components/auth/SignUp/SignUp.cjs.map +1 -0
  42. package/dist/cjs/client/components/{actions → auth/buttons}/SignInButton/SignInButton.cjs +3 -3
  43. package/dist/cjs/client/components/auth/buttons/SignInButton/SignInButton.cjs.map +1 -0
  44. package/dist/cjs/client/components/{actions → auth/buttons}/SignOutButton/SignOutButton.cjs +4 -4
  45. package/dist/cjs/client/components/auth/buttons/SignOutButton/SignOutButton.cjs.map +1 -0
  46. package/dist/cjs/client/components/{actions → auth/buttons}/SignUpButton/SignUpButton.cjs +3 -3
  47. package/dist/cjs/client/components/auth/buttons/SignUpButton/SignUpButton.cjs.map +1 -0
  48. package/dist/cjs/client/components/{control → auth/guards}/SignedIn/SignedIn.cjs +3 -3
  49. package/dist/cjs/client/components/auth/guards/SignedIn/SignedIn.cjs.map +1 -0
  50. package/dist/cjs/client/components/{control → auth/guards}/SignedOut/SignedOut.cjs +3 -3
  51. package/dist/cjs/client/components/auth/guards/SignedOut/SignedOut.cjs.map +1 -0
  52. package/dist/cjs/client/components/{presentation → primitives}/AuthFlowSelect/AuthFlowSelect.cjs +1 -1
  53. package/dist/cjs/client/components/primitives/AuthFlowSelect/AuthFlowSelect.cjs.map +1 -0
  54. package/dist/cjs/client/components/{presentation → primitives}/UserSelect/UserSelect.cjs +1 -1
  55. package/dist/cjs/client/components/primitives/UserSelect/UserSelect.cjs.map +1 -0
  56. package/dist/cjs/client/components/{presentation → primitives}/UserTypeSelect/UserTypeSelect.cjs +1 -1
  57. package/dist/cjs/client/components/primitives/UserTypeSelect/UserTypeSelect.cjs.map +1 -0
  58. package/dist/cjs/client/contexts/ThunderID/ThunderIDProvider.cjs +5 -1
  59. package/dist/cjs/client/contexts/ThunderID/ThunderIDProvider.cjs.map +1 -1
  60. package/dist/cjs/client/fetchAuthFlowsFromServer.cjs +1 -1
  61. package/dist/cjs/client/fetchAuthFlowsFromServer.cjs.map +1 -1
  62. package/dist/cjs/client/fetchFlowMetaFromServer.cjs +1 -1
  63. package/dist/cjs/client/fetchFlowMetaFromServer.cjs.map +1 -1
  64. package/dist/cjs/client/fetchManagementFromServer.cjs +32 -0
  65. package/dist/cjs/client/fetchManagementFromServer.cjs.map +1 -0
  66. package/dist/cjs/client/fetchUserTypesFromServer.cjs +1 -1
  67. package/dist/cjs/client/fetchUserTypesFromServer.cjs.map +1 -1
  68. package/dist/cjs/client/fetchUsersFromServer.cjs +1 -1
  69. package/dist/cjs/client/fetchUsersFromServer.cjs.map +1 -1
  70. package/dist/cjs/client/hooks/management/useGrantedPermissions.cjs +51 -0
  71. package/dist/cjs/client/hooks/management/useGrantedPermissions.cjs.map +1 -0
  72. package/dist/cjs/client/index.cjs +33 -15
  73. package/dist/cjs/index.cjs +311 -16
  74. package/dist/cjs/server/ThunderIDProvider.cjs +10 -8
  75. package/dist/cjs/server/ThunderIDProvider.cjs.map +1 -1
  76. package/dist/cjs/server/actions/{getUserAction.cjs → account/getUserAction.cjs} +2 -2
  77. package/dist/cjs/server/actions/account/getUserAction.cjs.map +1 -0
  78. package/dist/cjs/server/actions/{getUserProfileAction.cjs → account/getUserProfileAction.cjs} +2 -2
  79. package/dist/cjs/server/actions/account/getUserProfileAction.cjs.map +1 -0
  80. package/dist/cjs/server/actions/{getUserSchemaAction.cjs → account/getUserSchemaAction.cjs} +2 -2
  81. package/dist/cjs/server/actions/account/getUserSchemaAction.cjs.map +1 -0
  82. package/dist/cjs/server/actions/{updateUserCredentialsAction.cjs → account/updateUserCredentialsAction.cjs} +3 -3
  83. package/dist/cjs/server/actions/account/updateUserCredentialsAction.cjs.map +1 -0
  84. package/dist/cjs/server/actions/{updateUserProfileAction.cjs → account/updateUserProfileAction.cjs} +2 -2
  85. package/dist/cjs/server/actions/account/updateUserProfileAction.cjs.map +1 -0
  86. package/dist/cjs/server/actions/{getAuthFlowsAction.cjs → auth/getAuthFlowsAction.cjs} +3 -3
  87. package/dist/cjs/server/actions/auth/getAuthFlowsAction.cjs.map +1 -0
  88. package/dist/cjs/server/actions/{getFlowMetaAction.cjs → auth/getFlowMetaAction.cjs} +4 -4
  89. package/dist/cjs/server/actions/auth/getFlowMetaAction.cjs.map +1 -0
  90. package/dist/cjs/server/actions/{handleOAuthCallbackAction.cjs → auth/handleOAuthCallbackAction.cjs} +6 -6
  91. package/dist/cjs/server/actions/auth/handleOAuthCallbackAction.cjs.map +1 -0
  92. package/dist/cjs/server/actions/{signInAction.cjs → auth/signInAction.cjs} +6 -6
  93. package/dist/cjs/server/actions/auth/signInAction.cjs.map +1 -0
  94. package/dist/cjs/server/actions/{signOutAction.cjs → auth/signOutAction.cjs} +7 -7
  95. package/dist/cjs/server/actions/auth/signOutAction.cjs.map +1 -0
  96. package/dist/cjs/server/actions/{signUpAction.cjs → auth/signUpAction.cjs} +2 -2
  97. package/dist/cjs/server/actions/auth/signUpAction.cjs.map +1 -0
  98. package/dist/cjs/server/actions/management/getGrantedPermissionsAction.cjs +32 -0
  99. package/dist/cjs/server/actions/management/getGrantedPermissionsAction.cjs.map +1 -0
  100. package/dist/cjs/server/actions/{getUserTypesAction.cjs → management/getUserTypesAction.cjs} +3 -3
  101. package/dist/cjs/server/actions/management/getUserTypesAction.cjs.map +1 -0
  102. package/dist/cjs/server/actions/{getUsersAction.cjs → management/getUsersAction.cjs} +3 -3
  103. package/dist/cjs/server/actions/management/getUsersAction.cjs.map +1 -0
  104. package/dist/cjs/server/actions/management/managementRequestAction.cjs +79 -0
  105. package/dist/cjs/server/actions/management/managementRequestAction.cjs.map +1 -0
  106. package/dist/cjs/utils/managementCollections.cjs +22 -0
  107. package/dist/cjs/utils/managementCollections.cjs.map +1 -0
  108. package/dist/client/admin.d.ts +3 -0
  109. package/dist/client/admin.d.ts.map +1 -0
  110. package/dist/client/admin.js +6 -0
  111. package/dist/client/components/account/ChangeCredential/ChangeCredential.d.ts.map +1 -0
  112. package/dist/client/components/{presentation → account}/ChangeCredential/ChangeCredential.js +2 -2
  113. package/dist/client/components/account/ChangeCredential/ChangeCredential.js.map +1 -0
  114. package/dist/client/components/account/User/User.d.ts.map +1 -0
  115. package/dist/client/components/{presentation → account}/User/User.js +1 -1
  116. package/dist/client/components/account/User/User.js.map +1 -0
  117. package/dist/client/components/account/UserAvatar/UserAvatar.d.ts.map +1 -0
  118. package/dist/client/components/{presentation → account}/UserAvatar/UserAvatar.js +1 -1
  119. package/dist/client/components/account/UserAvatar/UserAvatar.js.map +1 -0
  120. package/dist/client/components/account/UserDropdown/UserDropdown.d.ts.map +1 -0
  121. package/dist/client/components/{presentation → account}/UserDropdown/UserDropdown.js +1 -1
  122. package/dist/client/components/account/UserDropdown/UserDropdown.js.map +1 -0
  123. package/dist/client/components/account/UserProfile/UserProfile.d.ts.map +1 -0
  124. package/dist/client/components/{presentation → account}/UserProfile/UserProfile.js +1 -1
  125. package/dist/client/components/account/UserProfile/UserProfile.js.map +1 -0
  126. package/dist/client/components/admin/AgentCreate/AgentCreate.d.ts +17 -0
  127. package/dist/client/components/admin/AgentCreate/AgentCreate.d.ts.map +1 -0
  128. package/dist/client/components/admin/AgentCreate/AgentCreate.js +25 -0
  129. package/dist/client/components/admin/AgentCreate/AgentCreate.js.map +1 -0
  130. package/dist/client/components/admin/AgentDetails/AgentDetails.d.ts +17 -0
  131. package/dist/client/components/admin/AgentDetails/AgentDetails.d.ts.map +1 -0
  132. package/dist/client/components/admin/AgentDetails/AgentDetails.js +25 -0
  133. package/dist/client/components/admin/AgentDetails/AgentDetails.js.map +1 -0
  134. package/dist/client/components/admin/AgentList/AgentList.d.ts +17 -0
  135. package/dist/client/components/admin/AgentList/AgentList.d.ts.map +1 -0
  136. package/dist/client/components/admin/AgentList/AgentList.js +25 -0
  137. package/dist/client/components/admin/AgentList/AgentList.js.map +1 -0
  138. package/dist/client/components/admin/GroupCreate/GroupCreate.d.ts +17 -0
  139. package/dist/client/components/admin/GroupCreate/GroupCreate.d.ts.map +1 -0
  140. package/dist/client/components/admin/GroupCreate/GroupCreate.js +25 -0
  141. package/dist/client/components/admin/GroupCreate/GroupCreate.js.map +1 -0
  142. package/dist/client/components/admin/GroupList/GroupList.d.ts +17 -0
  143. package/dist/client/components/admin/GroupList/GroupList.d.ts.map +1 -0
  144. package/dist/client/components/admin/GroupList/GroupList.js +25 -0
  145. package/dist/client/components/admin/GroupList/GroupList.js.map +1 -0
  146. package/dist/client/components/admin/GroupMembers/GroupMembers.d.ts +17 -0
  147. package/dist/client/components/admin/GroupMembers/GroupMembers.d.ts.map +1 -0
  148. package/dist/client/components/admin/GroupMembers/GroupMembers.js +25 -0
  149. package/dist/client/components/admin/GroupMembers/GroupMembers.js.map +1 -0
  150. package/dist/client/components/admin/RoleAssignments/RoleAssignments.d.ts +17 -0
  151. package/dist/client/components/admin/RoleAssignments/RoleAssignments.d.ts.map +1 -0
  152. package/dist/client/components/admin/RoleAssignments/RoleAssignments.js +25 -0
  153. package/dist/client/components/admin/RoleAssignments/RoleAssignments.js.map +1 -0
  154. package/dist/client/components/admin/RoleCreate/RoleCreate.d.ts +17 -0
  155. package/dist/client/components/admin/RoleCreate/RoleCreate.d.ts.map +1 -0
  156. package/dist/client/components/admin/RoleCreate/RoleCreate.js +25 -0
  157. package/dist/client/components/admin/RoleCreate/RoleCreate.js.map +1 -0
  158. package/dist/client/components/admin/RoleList/RoleList.d.ts +17 -0
  159. package/dist/client/components/admin/RoleList/RoleList.d.ts.map +1 -0
  160. package/dist/client/components/admin/RoleList/RoleList.js +25 -0
  161. package/dist/client/components/admin/RoleList/RoleList.js.map +1 -0
  162. package/dist/client/components/admin/RolePermissions/RolePermissions.d.ts +17 -0
  163. package/dist/client/components/admin/RolePermissions/RolePermissions.d.ts.map +1 -0
  164. package/dist/client/components/admin/RolePermissions/RolePermissions.js +25 -0
  165. package/dist/client/components/admin/RolePermissions/RolePermissions.js.map +1 -0
  166. package/dist/client/components/admin/UserCreate/UserCreate.d.ts +17 -0
  167. package/dist/client/components/admin/UserCreate/UserCreate.d.ts.map +1 -0
  168. package/dist/client/components/admin/UserCreate/UserCreate.js +25 -0
  169. package/dist/client/components/admin/UserCreate/UserCreate.js.map +1 -0
  170. package/dist/client/components/admin/UserDetails/UserDetails.d.ts +17 -0
  171. package/dist/client/components/admin/UserDetails/UserDetails.d.ts.map +1 -0
  172. package/dist/client/components/admin/UserDetails/UserDetails.js +25 -0
  173. package/dist/client/components/admin/UserDetails/UserDetails.js.map +1 -0
  174. package/dist/client/components/admin/UserList/UserList.d.ts +17 -0
  175. package/dist/client/components/admin/UserList/UserList.d.ts.map +1 -0
  176. package/dist/client/components/admin/UserList/UserList.js +25 -0
  177. package/dist/client/components/admin/UserList/UserList.js.map +1 -0
  178. package/dist/client/components/auth/SignIn/SignIn.d.ts.map +1 -0
  179. package/dist/client/components/{presentation → auth}/SignIn/SignIn.js +1 -1
  180. package/dist/client/components/auth/SignIn/SignIn.js.map +1 -0
  181. package/dist/client/components/auth/SignUp/SignUp.d.ts.map +1 -0
  182. package/dist/client/components/{presentation → auth}/SignUp/SignUp.js +1 -1
  183. package/dist/client/components/auth/SignUp/SignUp.js.map +1 -0
  184. package/dist/client/components/auth/buttons/SignInButton/SignInButton.d.ts.map +1 -0
  185. package/dist/client/components/{actions → auth/buttons}/SignInButton/SignInButton.js +2 -2
  186. package/dist/client/components/auth/buttons/SignInButton/SignInButton.js.map +1 -0
  187. package/dist/client/components/auth/buttons/SignOutButton/SignOutButton.d.ts.map +1 -0
  188. package/dist/client/components/{actions → auth/buttons}/SignOutButton/SignOutButton.js +3 -3
  189. package/dist/client/components/auth/buttons/SignOutButton/SignOutButton.js.map +1 -0
  190. package/dist/client/components/auth/buttons/SignUpButton/SignUpButton.d.ts.map +1 -0
  191. package/dist/client/components/{actions → auth/buttons}/SignUpButton/SignUpButton.js +2 -2
  192. package/dist/client/components/auth/buttons/SignUpButton/SignUpButton.js.map +1 -0
  193. package/dist/client/components/auth/guards/Loading/Loading.d.ts.map +1 -0
  194. package/dist/client/components/auth/guards/SignedIn/SignedIn.d.ts.map +1 -0
  195. package/dist/client/components/{control → auth/guards}/SignedIn/SignedIn.js +2 -2
  196. package/dist/client/components/auth/guards/SignedIn/SignedIn.js.map +1 -0
  197. package/dist/client/components/auth/guards/SignedOut/SignedOut.d.ts.map +1 -0
  198. package/dist/client/components/{control → auth/guards}/SignedOut/SignedOut.js +2 -2
  199. package/dist/client/components/auth/guards/SignedOut/SignedOut.js.map +1 -0
  200. package/dist/client/components/primitives/AuthFlowSelect/AuthFlowSelect.d.ts.map +1 -0
  201. package/dist/client/components/{presentation → primitives}/AuthFlowSelect/AuthFlowSelect.js +1 -1
  202. package/dist/client/components/primitives/AuthFlowSelect/AuthFlowSelect.js.map +1 -0
  203. package/dist/client/components/primitives/UserSelect/UserSelect.d.ts.map +1 -0
  204. package/dist/client/components/{presentation → primitives}/UserSelect/UserSelect.js +1 -1
  205. package/dist/client/components/primitives/UserSelect/UserSelect.js.map +1 -0
  206. package/dist/client/components/primitives/UserTypeSelect/UserTypeSelect.d.ts.map +1 -0
  207. package/dist/client/components/{presentation → primitives}/UserTypeSelect/UserTypeSelect.js +1 -1
  208. package/dist/client/components/primitives/UserTypeSelect/UserTypeSelect.js.map +1 -0
  209. package/dist/client/contexts/ThunderID/ThunderIDProvider.d.ts.map +1 -1
  210. package/dist/client/contexts/ThunderID/ThunderIDProvider.js +5 -1
  211. package/dist/client/contexts/ThunderID/ThunderIDProvider.js.map +1 -1
  212. package/dist/client/fetchAuthFlowsFromServer.js +1 -1
  213. package/dist/client/fetchAuthFlowsFromServer.js.map +1 -1
  214. package/dist/client/fetchFlowMetaFromServer.js +1 -1
  215. package/dist/client/fetchFlowMetaFromServer.js.map +1 -1
  216. package/dist/client/fetchManagementFromServer.d.ts +14 -0
  217. package/dist/client/fetchManagementFromServer.d.ts.map +1 -0
  218. package/dist/client/fetchManagementFromServer.js +32 -0
  219. package/dist/client/fetchManagementFromServer.js.map +1 -0
  220. package/dist/client/fetchUserTypesFromServer.js +1 -1
  221. package/dist/client/fetchUserTypesFromServer.js.map +1 -1
  222. package/dist/client/fetchUsersFromServer.js +1 -1
  223. package/dist/client/fetchUsersFromServer.js.map +1 -1
  224. package/dist/client/hooks/management/useGrantedPermissions.d.ts +17 -0
  225. package/dist/client/hooks/management/useGrantedPermissions.d.ts.map +1 -0
  226. package/dist/client/hooks/management/useGrantedPermissions.js +48 -0
  227. package/dist/client/hooks/management/useGrantedPermissions.js.map +1 -0
  228. package/dist/client/index.d.ts +58 -30
  229. package/dist/client/index.d.ts.map +1 -1
  230. package/dist/client/index.js +30 -15
  231. package/dist/index.js +31 -16
  232. package/dist/server/ThunderIDProvider.d.ts.map +1 -1
  233. package/dist/server/ThunderIDProvider.js +10 -8
  234. package/dist/server/ThunderIDProvider.js.map +1 -1
  235. package/dist/server/actions/account/getUserAction.d.ts.map +1 -0
  236. package/dist/server/actions/{getUserAction.js → account/getUserAction.js} +2 -2
  237. package/dist/server/actions/account/getUserAction.js.map +1 -0
  238. package/dist/server/actions/account/getUserProfileAction.d.ts.map +1 -0
  239. package/dist/server/actions/{getUserProfileAction.js → account/getUserProfileAction.js} +2 -2
  240. package/dist/server/actions/account/getUserProfileAction.js.map +1 -0
  241. package/dist/server/actions/account/getUserSchemaAction.d.ts.map +1 -0
  242. package/dist/server/actions/{getUserSchemaAction.js → account/getUserSchemaAction.js} +2 -2
  243. package/dist/server/actions/account/getUserSchemaAction.js.map +1 -0
  244. package/dist/server/actions/account/updateUserCredentialsAction.d.ts.map +1 -0
  245. package/dist/server/actions/{updateUserCredentialsAction.js → account/updateUserCredentialsAction.js} +2 -2
  246. package/dist/server/actions/account/updateUserCredentialsAction.js.map +1 -0
  247. package/dist/server/actions/account/updateUserProfileAction.d.ts.map +1 -0
  248. package/dist/server/actions/{updateUserProfileAction.js → account/updateUserProfileAction.js} +2 -2
  249. package/dist/server/actions/account/updateUserProfileAction.js.map +1 -0
  250. package/dist/server/actions/{getAuthFlowsAction.d.ts → auth/getAuthFlowsAction.d.ts} +1 -1
  251. package/dist/server/actions/auth/getAuthFlowsAction.d.ts.map +1 -0
  252. package/dist/server/actions/{getAuthFlowsAction.js → auth/getAuthFlowsAction.js} +2 -2
  253. package/dist/server/actions/auth/getAuthFlowsAction.js.map +1 -0
  254. package/dist/server/actions/auth/getFlowMetaAction.d.ts.map +1 -0
  255. package/dist/server/actions/{getFlowMetaAction.js → auth/getFlowMetaAction.js} +3 -3
  256. package/dist/server/actions/auth/getFlowMetaAction.js.map +1 -0
  257. package/dist/server/actions/auth/handleOAuthCallbackAction.d.ts.map +1 -0
  258. package/dist/server/actions/{handleOAuthCallbackAction.js → auth/handleOAuthCallbackAction.js} +5 -5
  259. package/dist/server/actions/auth/handleOAuthCallbackAction.js.map +1 -0
  260. package/dist/server/actions/auth/signInAction.d.ts.map +1 -0
  261. package/dist/server/actions/{signInAction.js → auth/signInAction.js} +5 -5
  262. package/dist/server/actions/auth/signInAction.js.map +1 -0
  263. package/dist/server/actions/auth/signOutAction.d.ts.map +1 -0
  264. package/dist/server/actions/{signOutAction.js → auth/signOutAction.js} +6 -6
  265. package/dist/server/actions/auth/signOutAction.js.map +1 -0
  266. package/dist/server/actions/auth/signUpAction.d.ts.map +1 -0
  267. package/dist/server/actions/{signUpAction.js → auth/signUpAction.js} +2 -2
  268. package/dist/server/actions/auth/signUpAction.js.map +1 -0
  269. package/dist/server/actions/management/getGrantedPermissionsAction.d.ts +11 -0
  270. package/dist/server/actions/management/getGrantedPermissionsAction.d.ts.map +1 -0
  271. package/dist/server/actions/management/getGrantedPermissionsAction.js +30 -0
  272. package/dist/server/actions/management/getGrantedPermissionsAction.js.map +1 -0
  273. package/dist/server/actions/{getUserTypesAction.d.ts → management/getUserTypesAction.d.ts} +1 -1
  274. package/dist/server/actions/management/getUserTypesAction.d.ts.map +1 -0
  275. package/dist/server/actions/{getUserTypesAction.js → management/getUserTypesAction.js} +2 -2
  276. package/dist/server/actions/management/getUserTypesAction.js.map +1 -0
  277. package/dist/server/actions/{getUsersAction.d.ts → management/getUsersAction.d.ts} +1 -1
  278. package/dist/server/actions/management/getUsersAction.d.ts.map +1 -0
  279. package/dist/server/actions/{getUsersAction.js → management/getUsersAction.js} +2 -2
  280. package/dist/server/actions/management/getUsersAction.js.map +1 -0
  281. package/dist/server/actions/management/managementRequestAction.d.ts +36 -0
  282. package/dist/server/actions/management/managementRequestAction.d.ts.map +1 -0
  283. package/dist/server/actions/management/managementRequestAction.js +77 -0
  284. package/dist/server/actions/management/managementRequestAction.js.map +1 -0
  285. package/dist/utils/managementCollections.d.ts +8 -0
  286. package/dist/utils/managementCollections.d.ts.map +1 -0
  287. package/dist/utils/managementCollections.js +20 -0
  288. package/dist/utils/managementCollections.js.map +1 -0
  289. package/package.json +3 -3
  290. package/dist/cjs/client/components/actions/SignInButton/SignInButton.cjs.map +0 -1
  291. package/dist/cjs/client/components/actions/SignOutButton/SignOutButton.cjs.map +0 -1
  292. package/dist/cjs/client/components/actions/SignUpButton/SignUpButton.cjs.map +0 -1
  293. package/dist/cjs/client/components/control/SignedIn/SignedIn.cjs.map +0 -1
  294. package/dist/cjs/client/components/control/SignedOut/SignedOut.cjs.map +0 -1
  295. package/dist/cjs/client/components/presentation/AuthFlowSelect/AuthFlowSelect.cjs.map +0 -1
  296. package/dist/cjs/client/components/presentation/ChangeCredential/ChangeCredential.cjs.map +0 -1
  297. package/dist/cjs/client/components/presentation/SignIn/SignIn.cjs.map +0 -1
  298. package/dist/cjs/client/components/presentation/SignUp/SignUp.cjs.map +0 -1
  299. package/dist/cjs/client/components/presentation/User/User.cjs.map +0 -1
  300. package/dist/cjs/client/components/presentation/UserAvatar/UserAvatar.cjs.map +0 -1
  301. package/dist/cjs/client/components/presentation/UserDropdown/UserDropdown.cjs.map +0 -1
  302. package/dist/cjs/client/components/presentation/UserProfile/UserProfile.cjs.map +0 -1
  303. package/dist/cjs/client/components/presentation/UserSelect/UserSelect.cjs.map +0 -1
  304. package/dist/cjs/client/components/presentation/UserTypeSelect/UserTypeSelect.cjs.map +0 -1
  305. package/dist/cjs/server/actions/getAuthFlowsAction.cjs.map +0 -1
  306. package/dist/cjs/server/actions/getFlowMetaAction.cjs.map +0 -1
  307. package/dist/cjs/server/actions/getUserAction.cjs.map +0 -1
  308. package/dist/cjs/server/actions/getUserProfileAction.cjs.map +0 -1
  309. package/dist/cjs/server/actions/getUserSchemaAction.cjs.map +0 -1
  310. package/dist/cjs/server/actions/getUserTypesAction.cjs.map +0 -1
  311. package/dist/cjs/server/actions/getUsersAction.cjs.map +0 -1
  312. package/dist/cjs/server/actions/handleOAuthCallbackAction.cjs.map +0 -1
  313. package/dist/cjs/server/actions/signInAction.cjs.map +0 -1
  314. package/dist/cjs/server/actions/signOutAction.cjs.map +0 -1
  315. package/dist/cjs/server/actions/signUpAction.cjs.map +0 -1
  316. package/dist/cjs/server/actions/updateUserCredentialsAction.cjs.map +0 -1
  317. package/dist/cjs/server/actions/updateUserProfileAction.cjs.map +0 -1
  318. package/dist/client/components/actions/SignInButton/SignInButton.d.ts.map +0 -1
  319. package/dist/client/components/actions/SignInButton/SignInButton.js.map +0 -1
  320. package/dist/client/components/actions/SignOutButton/SignOutButton.d.ts.map +0 -1
  321. package/dist/client/components/actions/SignOutButton/SignOutButton.js.map +0 -1
  322. package/dist/client/components/actions/SignUpButton/SignUpButton.d.ts.map +0 -1
  323. package/dist/client/components/actions/SignUpButton/SignUpButton.js.map +0 -1
  324. package/dist/client/components/control/Loading/Loading.d.ts.map +0 -1
  325. package/dist/client/components/control/SignedIn/SignedIn.d.ts.map +0 -1
  326. package/dist/client/components/control/SignedIn/SignedIn.js.map +0 -1
  327. package/dist/client/components/control/SignedOut/SignedOut.d.ts.map +0 -1
  328. package/dist/client/components/control/SignedOut/SignedOut.js.map +0 -1
  329. package/dist/client/components/presentation/AuthFlowSelect/AuthFlowSelect.d.ts.map +0 -1
  330. package/dist/client/components/presentation/AuthFlowSelect/AuthFlowSelect.js.map +0 -1
  331. package/dist/client/components/presentation/ChangeCredential/ChangeCredential.d.ts.map +0 -1
  332. package/dist/client/components/presentation/ChangeCredential/ChangeCredential.js.map +0 -1
  333. package/dist/client/components/presentation/SignIn/SignIn.d.ts.map +0 -1
  334. package/dist/client/components/presentation/SignIn/SignIn.js.map +0 -1
  335. package/dist/client/components/presentation/SignUp/SignUp.d.ts.map +0 -1
  336. package/dist/client/components/presentation/SignUp/SignUp.js.map +0 -1
  337. package/dist/client/components/presentation/User/User.d.ts.map +0 -1
  338. package/dist/client/components/presentation/User/User.js.map +0 -1
  339. package/dist/client/components/presentation/UserAvatar/UserAvatar.d.ts.map +0 -1
  340. package/dist/client/components/presentation/UserAvatar/UserAvatar.js.map +0 -1
  341. package/dist/client/components/presentation/UserDropdown/UserDropdown.d.ts.map +0 -1
  342. package/dist/client/components/presentation/UserDropdown/UserDropdown.js.map +0 -1
  343. package/dist/client/components/presentation/UserProfile/UserProfile.d.ts.map +0 -1
  344. package/dist/client/components/presentation/UserProfile/UserProfile.js.map +0 -1
  345. package/dist/client/components/presentation/UserSelect/UserSelect.d.ts.map +0 -1
  346. package/dist/client/components/presentation/UserSelect/UserSelect.js.map +0 -1
  347. package/dist/client/components/presentation/UserTypeSelect/UserTypeSelect.d.ts.map +0 -1
  348. package/dist/client/components/presentation/UserTypeSelect/UserTypeSelect.js.map +0 -1
  349. package/dist/server/actions/getAuthFlowsAction.d.ts.map +0 -1
  350. package/dist/server/actions/getAuthFlowsAction.js.map +0 -1
  351. package/dist/server/actions/getFlowMetaAction.d.ts.map +0 -1
  352. package/dist/server/actions/getFlowMetaAction.js.map +0 -1
  353. package/dist/server/actions/getUserAction.d.ts.map +0 -1
  354. package/dist/server/actions/getUserAction.js.map +0 -1
  355. package/dist/server/actions/getUserProfileAction.d.ts.map +0 -1
  356. package/dist/server/actions/getUserProfileAction.js.map +0 -1
  357. package/dist/server/actions/getUserSchemaAction.d.ts.map +0 -1
  358. package/dist/server/actions/getUserSchemaAction.js.map +0 -1
  359. package/dist/server/actions/getUserTypesAction.d.ts.map +0 -1
  360. package/dist/server/actions/getUserTypesAction.js.map +0 -1
  361. package/dist/server/actions/getUsersAction.d.ts.map +0 -1
  362. package/dist/server/actions/getUsersAction.js.map +0 -1
  363. package/dist/server/actions/handleOAuthCallbackAction.d.ts.map +0 -1
  364. package/dist/server/actions/handleOAuthCallbackAction.js.map +0 -1
  365. package/dist/server/actions/signInAction.d.ts.map +0 -1
  366. package/dist/server/actions/signInAction.js.map +0 -1
  367. package/dist/server/actions/signOutAction.d.ts.map +0 -1
  368. package/dist/server/actions/signOutAction.js.map +0 -1
  369. package/dist/server/actions/signUpAction.d.ts.map +0 -1
  370. package/dist/server/actions/signUpAction.js.map +0 -1
  371. package/dist/server/actions/updateUserCredentialsAction.d.ts.map +0 -1
  372. package/dist/server/actions/updateUserCredentialsAction.js.map +0 -1
  373. package/dist/server/actions/updateUserProfileAction.d.ts.map +0 -1
  374. package/dist/server/actions/updateUserProfileAction.js.map +0 -1
  375. /package/dist/client/components/{presentation → account}/ChangeCredential/ChangeCredential.d.ts +0 -0
  376. /package/dist/client/components/{presentation → account}/User/User.d.ts +0 -0
  377. /package/dist/client/components/{presentation → account}/UserAvatar/UserAvatar.d.ts +0 -0
  378. /package/dist/client/components/{presentation → account}/UserDropdown/UserDropdown.d.ts +0 -0
  379. /package/dist/client/components/{presentation → account}/UserProfile/UserProfile.d.ts +0 -0
  380. /package/dist/client/components/{presentation → auth}/SignIn/SignIn.d.ts +0 -0
  381. /package/dist/client/components/{presentation → auth}/SignUp/SignUp.d.ts +0 -0
  382. /package/dist/client/components/{actions → auth/buttons}/SignInButton/SignInButton.d.ts +0 -0
  383. /package/dist/client/components/{actions → auth/buttons}/SignOutButton/SignOutButton.d.ts +0 -0
  384. /package/dist/client/components/{actions → auth/buttons}/SignUpButton/SignUpButton.d.ts +0 -0
  385. /package/dist/client/components/{control → auth/guards}/Loading/Loading.d.ts +0 -0
  386. /package/dist/client/components/{control → auth/guards}/SignedIn/SignedIn.d.ts +0 -0
  387. /package/dist/client/components/{control → auth/guards}/SignedOut/SignedOut.d.ts +0 -0
  388. /package/dist/client/components/{presentation → primitives}/AuthFlowSelect/AuthFlowSelect.d.ts +0 -0
  389. /package/dist/client/components/{presentation → primitives}/UserSelect/UserSelect.d.ts +0 -0
  390. /package/dist/client/components/{presentation → primitives}/UserTypeSelect/UserTypeSelect.d.ts +0 -0
  391. /package/dist/server/actions/{getUserAction.d.ts → account/getUserAction.d.ts} +0 -0
  392. /package/dist/server/actions/{getUserProfileAction.d.ts → account/getUserProfileAction.d.ts} +0 -0
  393. /package/dist/server/actions/{getUserSchemaAction.d.ts → account/getUserSchemaAction.d.ts} +0 -0
  394. /package/dist/server/actions/{updateUserCredentialsAction.d.ts → account/updateUserCredentialsAction.d.ts} +0 -0
  395. /package/dist/server/actions/{updateUserProfileAction.d.ts → account/updateUserProfileAction.d.ts} +0 -0
  396. /package/dist/server/actions/{getFlowMetaAction.d.ts → auth/getFlowMetaAction.d.ts} +0 -0
  397. /package/dist/server/actions/{handleOAuthCallbackAction.d.ts → auth/handleOAuthCallbackAction.d.ts} +0 -0
  398. /package/dist/server/actions/{signInAction.d.ts → auth/signInAction.d.ts} +0 -0
  399. /package/dist/server/actions/{signOutAction.d.ts → auth/signOutAction.d.ts} +0 -0
  400. /package/dist/server/actions/{signUpAction.d.ts → auth/signUpAction.d.ts} +0 -0
@@ -1,5 +1,5 @@
1
1
  import loadPageFromAction_default from "./loadPageFromAction.js";
2
- import getUserTypesAction_default from "../server/actions/getUserTypesAction.js";
2
+ import getUserTypesAction_default from "../server/actions/management/getUserTypesAction.js";
3
3
 
4
4
  //#region src/client/fetchUserTypesFromServer.ts
5
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"fetchUserTypesFromServer.js","names":["fetchUserTypesFromServer: FetchUserTypes","loadPageFromAction","getUserTypesAction"],"sources":["../../src/client/fetchUserTypesFromServer.ts"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {FetchUserTypes, SelectPage, SelectPageRequest} from '@thunderid/node';\nimport loadPageFromAction from './loadPageFromAction';\nimport getUserTypesAction from '../server/actions/getUserTypesAction';\n\n/**\n * The loader behind `UserTypeSelect`: loads user types through {@link getUserTypesAction} with the signed-in\n * user's server-held session. Requires an existing session. `request.signal` is not forwarded because an\n * `AbortSignal` cannot cross the server action boundary.\n */\nconst fetchUserTypesFromServer: FetchUserTypes = async ({limit, offset}: SelectPageRequest): Promise<SelectPage> =>\n loadPageFromAction(await getUserTypesAction({limit, offset}), 'getUserTypesAction-Error-001');\n\nexport default fetchUserTypesFromServer;\n"],"mappings":";;;;;;;;;AAYA,MAAMA,2BAA2C,OAAO,EAAC,OAAO,aAC9DC,2BAAmB,MAAMC,2BAAmB;CAAC;CAAO;CAAO,CAAC,EAAE,+BAA+B;AAE/F,uCAAe"}
1
+ {"version":3,"file":"fetchUserTypesFromServer.js","names":["fetchUserTypesFromServer: FetchUserTypes","loadPageFromAction","getUserTypesAction"],"sources":["../../src/client/fetchUserTypesFromServer.ts"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {FetchUserTypes, SelectPage, SelectPageRequest} from '@thunderid/node';\nimport loadPageFromAction from './loadPageFromAction';\nimport getUserTypesAction from '../server/actions/management/getUserTypesAction';\n\n/**\n * The loader behind `UserTypeSelect`: loads user types through {@link getUserTypesAction} with the signed-in\n * user's server-held session. Requires an existing session. `request.signal` is not forwarded because an\n * `AbortSignal` cannot cross the server action boundary.\n */\nconst fetchUserTypesFromServer: FetchUserTypes = async ({limit, offset}: SelectPageRequest): Promise<SelectPage> =>\n loadPageFromAction(await getUserTypesAction({limit, offset}), 'getUserTypesAction-Error-001');\n\nexport default fetchUserTypesFromServer;\n"],"mappings":";;;;;;;;;AAYA,MAAMA,2BAA2C,OAAO,EAAC,OAAO,aAC9DC,2BAAmB,MAAMC,2BAAmB;CAAC;CAAO;CAAO,CAAC,EAAE,+BAA+B;AAE/F,uCAAe"}
@@ -1,5 +1,5 @@
1
1
  import loadPageFromAction_default from "./loadPageFromAction.js";
2
- import getUsersAction_default from "../server/actions/getUsersAction.js";
2
+ import getUsersAction_default from "../server/actions/management/getUsersAction.js";
3
3
 
4
4
  //#region src/client/fetchUsersFromServer.ts
5
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"fetchUsersFromServer.js","names":["fetchUsersFromServer: FetchUsers","loadPageFromAction","getUsersAction"],"sources":["../../src/client/fetchUsersFromServer.ts"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {FetchUsers, SelectPage, SelectPageRequest} from '@thunderid/node';\nimport loadPageFromAction from './loadPageFromAction';\nimport getUsersAction from '../server/actions/getUsersAction';\n\n/**\n * The loader behind `UserSelect`: loads users through {@link getUsersAction} with the signed-in user's server-held session.\n * Requires an existing session. `request.signal` is not forwarded because an `AbortSignal` cannot cross the server action boundary.\n */\nconst fetchUsersFromServer: FetchUsers = async ({filter, limit, offset}: SelectPageRequest): Promise<SelectPage> =>\n loadPageFromAction(await getUsersAction({filter, limit, offset}), 'getUsersAction-Error-001');\n\nexport default fetchUsersFromServer;\n"],"mappings":";;;;;;;;AAWA,MAAMA,uBAAmC,OAAO,EAAC,QAAQ,OAAO,aAC9DC,2BAAmB,MAAMC,uBAAe;CAAC;CAAQ;CAAO;CAAO,CAAC,EAAE,2BAA2B;AAE/F,mCAAe"}
1
+ {"version":3,"file":"fetchUsersFromServer.js","names":["fetchUsersFromServer: FetchUsers","loadPageFromAction","getUsersAction"],"sources":["../../src/client/fetchUsersFromServer.ts"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {FetchUsers, SelectPage, SelectPageRequest} from '@thunderid/node';\nimport loadPageFromAction from './loadPageFromAction';\nimport getUsersAction from '../server/actions/management/getUsersAction';\n\n/**\n * The loader behind `UserSelect`: loads users through {@link getUsersAction} with the signed-in user's server-held session.\n * Requires an existing session. `request.signal` is not forwarded because an `AbortSignal` cannot cross the server action boundary.\n */\nconst fetchUsersFromServer: FetchUsers = async ({filter, limit, offset}: SelectPageRequest): Promise<SelectPage> =>\n loadPageFromAction(await getUsersAction({filter, limit, offset}), 'getUsersAction-Error-001');\n\nexport default fetchUsersFromServer;\n"],"mappings":";;;;;;;;AAWA,MAAMA,uBAAmC,OAAO,EAAC,QAAQ,OAAO,aAC9DC,2BAAmB,MAAMC,uBAAe;CAAC;CAAQ;CAAO;CAAO,CAAC,EAAE,2BAA2B;AAE/F,mCAAe"}
@@ -0,0 +1,17 @@
1
+ import type { GrantedPermissions } from '@thunderid/react';
2
+ /**
3
+ * Reads the permissions the signed-in user's access token grants, for example to hide a page the
4
+ * user cannot use. The token stays on the server: only the list of permissions is sent to the
5
+ * browser, through a server action. Same shape as `useGrantedPermissions` in `@thunderid/react`.
6
+ *
7
+ * @returns The granted permissions and a `can` check.
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * const {can} = useGrantedPermissions();
12
+ * return can('system:group:view') ? <GroupList /> : null;
13
+ * ```
14
+ */
15
+ declare const useGrantedPermissions: () => GrantedPermissions;
16
+ export default useGrantedPermissions;
17
+ //# sourceMappingURL=useGrantedPermissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGrantedPermissions.d.ts","sourceRoot":"","sources":["../../../../src/client/hooks/management/useGrantedPermissions.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAKzD;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,qBAAqB,QAAO,kBAiCjC,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
@@ -0,0 +1,48 @@
1
+ 'use client';
2
+
3
+
4
+ import useThunderID_default from "../../contexts/ThunderID/useThunderID.js";
5
+ import getGrantedPermissionsAction_default from "../../../server/actions/management/getGrantedPermissionsAction.js";
6
+ import { hasPermission } from "@thunderid/node";
7
+ import { useCallback, useEffect, useMemo, useState } from "react";
8
+
9
+ //#region src/client/hooks/management/useGrantedPermissions.ts
10
+ /**
11
+ * Reads the permissions the signed-in user's access token grants, for example to hide a page the
12
+ * user cannot use. The token stays on the server: only the list of permissions is sent to the
13
+ * browser, through a server action. Same shape as `useGrantedPermissions` in `@thunderid/react`.
14
+ *
15
+ * @returns The granted permissions and a `can` check.
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * const {can} = useGrantedPermissions();
20
+ * return can('system:group:view') ? <GroupList /> : null;
21
+ * ```
22
+ */
23
+ const useGrantedPermissions = () => {
24
+ const { isSignedIn } = useThunderID_default();
25
+ const [granted, setGranted] = useState(null);
26
+ useEffect(() => {
27
+ if (!isSignedIn) return;
28
+ let active = true;
29
+ getGrantedPermissionsAction_default().catch(() => []).then((tokenPermissions) => {
30
+ if (active) setGranted(tokenPermissions);
31
+ });
32
+ return () => {
33
+ active = false;
34
+ };
35
+ }, [isSignedIn]);
36
+ const permissions = useMemo(() => isSignedIn ? granted ?? [] : [], [granted, isSignedIn]);
37
+ const isLoading = !!isSignedIn && granted === null;
38
+ return {
39
+ can: useCallback((required) => hasPermission(permissions, required), [permissions]),
40
+ isLoading,
41
+ permissions
42
+ };
43
+ };
44
+ var useGrantedPermissions_default = useGrantedPermissions;
45
+
46
+ //#endregion
47
+ export { useGrantedPermissions_default as default };
48
+ //# sourceMappingURL=useGrantedPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGrantedPermissions.js","names":["useThunderID","getGrantedPermissionsAction","permissions: string[]","isLoading: boolean"],"sources":["../../../../src/client/hooks/management/useGrantedPermissions.ts"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use client';\n\nimport {hasPermission} from '@thunderid/node';\nimport type {GrantedPermissions} from '@thunderid/react';\nimport {useCallback, useEffect, useMemo, useState} from 'react';\nimport getGrantedPermissionsAction from '../../../server/actions/management/getGrantedPermissionsAction';\nimport useThunderID from '../../contexts/ThunderID/useThunderID';\n\n/**\n * Reads the permissions the signed-in user's access token grants, for example to hide a page the\n * user cannot use. The token stays on the server: only the list of permissions is sent to the\n * browser, through a server action. Same shape as `useGrantedPermissions` in `@thunderid/react`.\n *\n * @returns The granted permissions and a `can` check.\n *\n * @example\n * ```tsx\n * const {can} = useGrantedPermissions();\n * return can('system:group:view') ? <GroupList /> : null;\n * ```\n */\nconst useGrantedPermissions = (): GrantedPermissions => {\n const {isSignedIn} = useThunderID();\n const [granted, setGranted] = useState<string[] | null>(null);\n\n useEffect(() => {\n if (!isSignedIn) {\n return undefined;\n }\n\n let active = true;\n\n void getGrantedPermissionsAction()\n .catch((): string[] => [])\n .then((tokenPermissions: string[]) => {\n if (active) {\n setGranted(tokenPermissions);\n }\n });\n\n return (): void => {\n active = false;\n };\n }, [isSignedIn]);\n\n const permissions: string[] = useMemo(() => (isSignedIn ? (granted ?? []) : []), [granted, isSignedIn]);\n const isLoading: boolean = !!isSignedIn && granted === null;\n\n const can: (required: string) => boolean = useCallback(\n (required: string): boolean => hasPermission(permissions, required),\n [permissions],\n );\n\n return {can, isLoading, permissions};\n};\n\nexport default useGrantedPermissions;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,8BAAkD;CACtD,MAAM,EAAC,eAAcA,sBAAc;CACnC,MAAM,CAAC,SAAS,cAAc,SAA0B,KAAK;AAE7D,iBAAgB;AACd,MAAI,CAAC,WACH;EAGF,IAAI,SAAS;AAEb,EAAKC,qCAA6B,CAC/B,YAAsB,EAAE,CAAC,CACzB,MAAM,qBAA+B;AACpC,OAAI,OACF,YAAW,iBAAiB;IAE9B;AAEJ,eAAmB;AACjB,YAAS;;IAEV,CAAC,WAAW,CAAC;CAEhB,MAAMC,cAAwB,cAAe,aAAc,WAAW,EAAE,GAAI,EAAE,EAAG,CAAC,SAAS,WAAW,CAAC;CACvG,MAAMC,YAAqB,CAAC,CAAC,cAAc,YAAY;AAOvD,QAAO;EAAC,KALmC,aACxC,aAA8B,cAAc,aAAa,SAAS,EACnE,CAAC,YAAY,CACd;EAEY;EAAW;EAAY;;AAGtC,oCAAe"}
@@ -1,32 +1,60 @@
1
1
  export { default as useThunderID } from './contexts/ThunderID/useThunderID';
2
- export { default as SignedIn } from './components/control/SignedIn/SignedIn';
3
- export type { SignedInProps } from './components/control/SignedIn/SignedIn';
4
- export { default as SignedOut } from './components/control/SignedOut/SignedOut';
5
- export type { SignedOutProps } from './components/control/SignedOut/SignedOut';
6
- export { default as SignInButton } from './components/actions/SignInButton/SignInButton';
7
- export type { SignInButtonProps } from './components/actions/SignInButton/SignInButton';
8
- export { default as SignUpButton } from './components/actions/SignUpButton/SignUpButton';
9
- export type { SignUpButtonProps } from './components/actions/SignUpButton/SignUpButton';
10
- export { default as SignIn } from './components/presentation/SignIn/SignIn';
11
- export type { SignInProps } from './components/presentation/SignIn/SignIn';
12
- export { default as SignOutButton } from './components/actions/SignOutButton/SignOutButton';
13
- export type { SignOutButtonProps } from './components/actions/SignOutButton/SignOutButton';
14
- export { default as User } from './components/presentation/User/User';
15
- export type { UserProps } from './components/presentation/User/User';
16
- export { default as SignUp } from './components/presentation/SignUp/SignUp';
17
- export type { SignUpProps } from './components/presentation/SignUp/SignUp';
18
- export { default as UserDropdown } from './components/presentation/UserDropdown/UserDropdown';
19
- export type { UserDropdownProps } from './components/presentation/UserDropdown/UserDropdown';
20
- export { default as UserAvatar } from './components/presentation/UserAvatar/UserAvatar';
21
- export type { UserAvatarProps } from './components/presentation/UserAvatar/UserAvatar';
22
- export { default as UserProfile } from './components/presentation/UserProfile/UserProfile';
23
- export type { UserProfileProps } from './components/presentation/UserProfile/UserProfile';
24
- export { default as ChangeCredential } from './components/presentation/ChangeCredential/ChangeCredential';
25
- export type { ChangeCredentialProps } from './components/presentation/ChangeCredential/ChangeCredential';
26
- export { default as UserSelect } from './components/presentation/UserSelect/UserSelect';
27
- export type { UserSelectProps } from './components/presentation/UserSelect/UserSelect';
28
- export { default as AuthFlowSelect } from './components/presentation/AuthFlowSelect/AuthFlowSelect';
29
- export type { AuthFlowSelectProps } from './components/presentation/AuthFlowSelect/AuthFlowSelect';
30
- export { default as UserTypeSelect } from './components/presentation/UserTypeSelect/UserTypeSelect';
31
- export type { UserTypeSelectProps } from './components/presentation/UserTypeSelect/UserTypeSelect';
2
+ export { default as SignedIn } from './components/auth/guards/SignedIn/SignedIn';
3
+ export type { SignedInProps } from './components/auth/guards/SignedIn/SignedIn';
4
+ export { default as SignedOut } from './components/auth/guards/SignedOut/SignedOut';
5
+ export type { SignedOutProps } from './components/auth/guards/SignedOut/SignedOut';
6
+ export { default as SignInButton } from './components/auth/buttons/SignInButton/SignInButton';
7
+ export type { SignInButtonProps } from './components/auth/buttons/SignInButton/SignInButton';
8
+ export { default as SignUpButton } from './components/auth/buttons/SignUpButton/SignUpButton';
9
+ export type { SignUpButtonProps } from './components/auth/buttons/SignUpButton/SignUpButton';
10
+ export { default as SignIn } from './components/auth/SignIn/SignIn';
11
+ export type { SignInProps } from './components/auth/SignIn/SignIn';
12
+ export { default as SignOutButton } from './components/auth/buttons/SignOutButton/SignOutButton';
13
+ export type { SignOutButtonProps } from './components/auth/buttons/SignOutButton/SignOutButton';
14
+ export { default as User } from './components/account/User/User';
15
+ export type { UserProps } from './components/account/User/User';
16
+ export { default as SignUp } from './components/auth/SignUp/SignUp';
17
+ export type { SignUpProps } from './components/auth/SignUp/SignUp';
18
+ export { default as UserDropdown } from './components/account/UserDropdown/UserDropdown';
19
+ export type { UserDropdownProps } from './components/account/UserDropdown/UserDropdown';
20
+ export { default as UserAvatar } from './components/account/UserAvatar/UserAvatar';
21
+ export type { UserAvatarProps } from './components/account/UserAvatar/UserAvatar';
22
+ export { default as UserProfile } from './components/account/UserProfile/UserProfile';
23
+ export type { UserProfileProps } from './components/account/UserProfile/UserProfile';
24
+ export { default as ChangeCredential } from './components/account/ChangeCredential/ChangeCredential';
25
+ export type { ChangeCredentialProps } from './components/account/ChangeCredential/ChangeCredential';
26
+ export { default as UserSelect } from './components/primitives/UserSelect/UserSelect';
27
+ export type { UserSelectProps } from './components/primitives/UserSelect/UserSelect';
28
+ export { default as AuthFlowSelect } from './components/primitives/AuthFlowSelect/AuthFlowSelect';
29
+ export type { AuthFlowSelectProps } from './components/primitives/AuthFlowSelect/AuthFlowSelect';
30
+ export { default as UserTypeSelect } from './components/primitives/UserTypeSelect/UserTypeSelect';
31
+ export type { UserTypeSelectProps } from './components/primitives/UserTypeSelect/UserTypeSelect';
32
+ export { default as UserList } from './components/admin/UserList/UserList';
33
+ export type { UserListProps } from './components/admin/UserList/UserList';
34
+ export { default as UserCreate } from './components/admin/UserCreate/UserCreate';
35
+ export type { UserCreateProps } from './components/admin/UserCreate/UserCreate';
36
+ export { default as UserDetails } from './components/admin/UserDetails/UserDetails';
37
+ export type { UserDetailsProps } from './components/admin/UserDetails/UserDetails';
38
+ export { default as GroupList } from './components/admin/GroupList/GroupList';
39
+ export type { GroupListProps } from './components/admin/GroupList/GroupList';
40
+ export { default as GroupCreate } from './components/admin/GroupCreate/GroupCreate';
41
+ export type { GroupCreateProps } from './components/admin/GroupCreate/GroupCreate';
42
+ export { default as GroupMembers } from './components/admin/GroupMembers/GroupMembers';
43
+ export type { GroupMembersProps } from './components/admin/GroupMembers/GroupMembers';
44
+ export { default as RoleList } from './components/admin/RoleList/RoleList';
45
+ export type { RoleListProps } from './components/admin/RoleList/RoleList';
46
+ export { default as RoleCreate } from './components/admin/RoleCreate/RoleCreate';
47
+ export type { RoleCreateProps } from './components/admin/RoleCreate/RoleCreate';
48
+ export { default as RoleAssignments } from './components/admin/RoleAssignments/RoleAssignments';
49
+ export type { RoleAssignmentsProps } from './components/admin/RoleAssignments/RoleAssignments';
50
+ export { default as RolePermissions } from './components/admin/RolePermissions/RolePermissions';
51
+ export type { RolePermissionsProps } from './components/admin/RolePermissions/RolePermissions';
52
+ export { default as AgentList } from './components/admin/AgentList/AgentList';
53
+ export type { AgentListProps } from './components/admin/AgentList/AgentList';
54
+ export { default as AgentCreate } from './components/admin/AgentCreate/AgentCreate';
55
+ export type { AgentCreateProps } from './components/admin/AgentCreate/AgentCreate';
56
+ export { default as AgentDetails } from './components/admin/AgentDetails/AgentDetails';
57
+ export type { AgentDetailsProps } from './components/admin/AgentDetails/AgentDetails';
58
+ export { default as useGrantedPermissions } from './hooks/management/useGrantedPermissions';
59
+ export * from './admin';
32
60
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,mCAAmC,CAAC;AAE1E,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,wCAAwC,CAAC;AAC3E,YAAY,EAAC,aAAa,EAAC,MAAM,wCAAwC,CAAC;AAE1E,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,0CAA0C,CAAC;AAC9E,YAAY,EAAC,cAAc,EAAC,MAAM,0CAA0C,CAAC;AAE7E,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,gDAAgD,CAAC;AACvF,YAAY,EAAC,iBAAiB,EAAC,MAAM,gDAAgD,CAAC;AAEtF,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,gDAAgD,CAAC;AACvF,YAAY,EAAC,iBAAiB,EAAC,MAAM,gDAAgD,CAAC;AAEtF,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,yCAAyC,CAAC;AAC1E,YAAY,EAAC,WAAW,EAAC,MAAM,yCAAyC,CAAC;AAEzE,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,kDAAkD,CAAC;AAC1F,YAAY,EAAC,kBAAkB,EAAC,MAAM,kDAAkD,CAAC;AAEzF,OAAO,EAAC,OAAO,IAAI,IAAI,EAAC,MAAM,qCAAqC,CAAC;AACpE,YAAY,EAAC,SAAS,EAAC,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,yCAAyC,CAAC;AAC1E,YAAY,EAAC,WAAW,EAAC,MAAM,yCAAyC,CAAC;AAEzE,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,qDAAqD,CAAC;AAC5F,YAAY,EAAC,iBAAiB,EAAC,MAAM,qDAAqD,CAAC;AAE3F,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,iDAAiD,CAAC;AACtF,YAAY,EAAC,eAAe,EAAC,MAAM,iDAAiD,CAAC;AAErF,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,mDAAmD,CAAC;AACzF,YAAY,EAAC,gBAAgB,EAAC,MAAM,mDAAmD,CAAC;AAExF,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,6DAA6D,CAAC;AACxG,YAAY,EAAC,qBAAqB,EAAC,MAAM,6DAA6D,CAAC;AAEvG,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,iDAAiD,CAAC;AACtF,YAAY,EAAC,eAAe,EAAC,MAAM,iDAAiD,CAAC;AAErF,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,yDAAyD,CAAC;AAClG,YAAY,EAAC,mBAAmB,EAAC,MAAM,yDAAyD,CAAC;AAEjG,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,yDAAyD,CAAC;AAClG,YAAY,EAAC,mBAAmB,EAAC,MAAM,yDAAyD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,mCAAmC,CAAC;AAE1E,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,4CAA4C,CAAC;AAC/E,YAAY,EAAC,aAAa,EAAC,MAAM,4CAA4C,CAAC;AAE9E,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,8CAA8C,CAAC;AAClF,YAAY,EAAC,cAAc,EAAC,MAAM,8CAA8C,CAAC;AAEjF,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,qDAAqD,CAAC;AAC5F,YAAY,EAAC,iBAAiB,EAAC,MAAM,qDAAqD,CAAC;AAE3F,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,qDAAqD,CAAC;AAC5F,YAAY,EAAC,iBAAiB,EAAC,MAAM,qDAAqD,CAAC;AAE3F,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,iCAAiC,CAAC;AAClE,YAAY,EAAC,WAAW,EAAC,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,uDAAuD,CAAC;AAC/F,YAAY,EAAC,kBAAkB,EAAC,MAAM,uDAAuD,CAAC;AAE9F,OAAO,EAAC,OAAO,IAAI,IAAI,EAAC,MAAM,gCAAgC,CAAC;AAC/D,YAAY,EAAC,SAAS,EAAC,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,iCAAiC,CAAC;AAClE,YAAY,EAAC,WAAW,EAAC,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,gDAAgD,CAAC;AACvF,YAAY,EAAC,iBAAiB,EAAC,MAAM,gDAAgD,CAAC;AAEtF,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,4CAA4C,CAAC;AACjF,YAAY,EAAC,eAAe,EAAC,MAAM,4CAA4C,CAAC;AAEhF,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,8CAA8C,CAAC;AACpF,YAAY,EAAC,gBAAgB,EAAC,MAAM,8CAA8C,CAAC;AAEnF,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,wDAAwD,CAAC;AACnG,YAAY,EAAC,qBAAqB,EAAC,MAAM,wDAAwD,CAAC;AAElG,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,+CAA+C,CAAC;AACpF,YAAY,EAAC,eAAe,EAAC,MAAM,+CAA+C,CAAC;AAEnF,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,uDAAuD,CAAC;AAChG,YAAY,EAAC,mBAAmB,EAAC,MAAM,uDAAuD,CAAC;AAE/F,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,uDAAuD,CAAC;AAChG,YAAY,EAAC,mBAAmB,EAAC,MAAM,uDAAuD,CAAC;AAI/F,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,sCAAsC,CAAC;AACzE,YAAY,EAAC,aAAa,EAAC,MAAM,sCAAsC,CAAC;AAExE,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,0CAA0C,CAAC;AAC/E,YAAY,EAAC,eAAe,EAAC,MAAM,0CAA0C,CAAC;AAE9E,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,4CAA4C,CAAC;AAClF,YAAY,EAAC,gBAAgB,EAAC,MAAM,4CAA4C,CAAC;AAEjF,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,wCAAwC,CAAC;AAC5E,YAAY,EAAC,cAAc,EAAC,MAAM,wCAAwC,CAAC;AAE3E,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,4CAA4C,CAAC;AAClF,YAAY,EAAC,gBAAgB,EAAC,MAAM,4CAA4C,CAAC;AAEjF,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,8CAA8C,CAAC;AACrF,YAAY,EAAC,iBAAiB,EAAC,MAAM,8CAA8C,CAAC;AAEpF,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,sCAAsC,CAAC;AACzE,YAAY,EAAC,aAAa,EAAC,MAAM,sCAAsC,CAAC;AAExE,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,0CAA0C,CAAC;AAC/E,YAAY,EAAC,eAAe,EAAC,MAAM,0CAA0C,CAAC;AAE9E,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,oDAAoD,CAAC;AAC9F,YAAY,EAAC,oBAAoB,EAAC,MAAM,oDAAoD,CAAC;AAE7F,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,oDAAoD,CAAC;AAC9F,YAAY,EAAC,oBAAoB,EAAC,MAAM,oDAAoD,CAAC;AAE7F,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,wCAAwC,CAAC;AAC5E,YAAY,EAAC,cAAc,EAAC,MAAM,wCAAwC,CAAC;AAE3E,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,4CAA4C,CAAC;AAClF,YAAY,EAAC,gBAAgB,EAAC,MAAM,4CAA4C,CAAC;AAEjF,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,8CAA8C,CAAC;AACrF,YAAY,EAAC,iBAAiB,EAAC,MAAM,8CAA8C,CAAC;AAEpF,OAAO,EAAC,OAAO,IAAI,qBAAqB,EAAC,MAAM,0CAA0C,CAAC;AAE1F,cAAc,SAAS,CAAC"}
@@ -1,18 +1,33 @@
1
1
  import useThunderID_default from "./contexts/ThunderID/useThunderID.js";
2
- import SignedIn_default from "./components/control/SignedIn/SignedIn.js";
3
- import SignedOut_default from "./components/control/SignedOut/SignedOut.js";
4
- import SignInButton_default from "./components/actions/SignInButton/SignInButton.js";
5
- import SignUpButton_default from "./components/actions/SignUpButton/SignUpButton.js";
6
- import SignIn_default from "./components/presentation/SignIn/SignIn.js";
7
- import SignOutButton_default from "./components/actions/SignOutButton/SignOutButton.js";
8
- import User_default from "./components/presentation/User/User.js";
9
- import SignUp_default from "./components/presentation/SignUp/SignUp.js";
10
- import UserProfile_default from "./components/presentation/UserProfile/UserProfile.js";
11
- import UserDropdown_default from "./components/presentation/UserDropdown/UserDropdown.js";
12
- import UserAvatar_default from "./components/presentation/UserAvatar/UserAvatar.js";
13
- import ChangeCredential_default from "./components/presentation/ChangeCredential/ChangeCredential.js";
14
- import UserSelect_default from "./components/presentation/UserSelect/UserSelect.js";
15
- import AuthFlowSelect_default from "./components/presentation/AuthFlowSelect/AuthFlowSelect.js";
16
- import UserTypeSelect_default from "./components/presentation/UserTypeSelect/UserTypeSelect.js";
2
+ import SignedIn_default from "./components/auth/guards/SignedIn/SignedIn.js";
3
+ import SignedOut_default from "./components/auth/guards/SignedOut/SignedOut.js";
4
+ import SignInButton_default from "./components/auth/buttons/SignInButton/SignInButton.js";
5
+ import SignUpButton_default from "./components/auth/buttons/SignUpButton/SignUpButton.js";
6
+ import SignIn_default from "./components/auth/SignIn/SignIn.js";
7
+ import SignOutButton_default from "./components/auth/buttons/SignOutButton/SignOutButton.js";
8
+ import User_default from "./components/account/User/User.js";
9
+ import SignUp_default from "./components/auth/SignUp/SignUp.js";
10
+ import UserProfile_default from "./components/account/UserProfile/UserProfile.js";
11
+ import UserDropdown_default from "./components/account/UserDropdown/UserDropdown.js";
12
+ import UserAvatar_default from "./components/account/UserAvatar/UserAvatar.js";
13
+ import ChangeCredential_default from "./components/account/ChangeCredential/ChangeCredential.js";
14
+ import UserSelect_default from "./components/primitives/UserSelect/UserSelect.js";
15
+ import AuthFlowSelect_default from "./components/primitives/AuthFlowSelect/AuthFlowSelect.js";
16
+ import UserTypeSelect_default from "./components/primitives/UserTypeSelect/UserTypeSelect.js";
17
+ import UserList_default from "./components/admin/UserList/UserList.js";
18
+ import UserCreate_default from "./components/admin/UserCreate/UserCreate.js";
19
+ import UserDetails_default from "./components/admin/UserDetails/UserDetails.js";
20
+ import GroupList_default from "./components/admin/GroupList/GroupList.js";
21
+ import GroupCreate_default from "./components/admin/GroupCreate/GroupCreate.js";
22
+ import GroupMembers_default from "./components/admin/GroupMembers/GroupMembers.js";
23
+ import RoleList_default from "./components/admin/RoleList/RoleList.js";
24
+ import RoleCreate_default from "./components/admin/RoleCreate/RoleCreate.js";
25
+ import RoleAssignments_default from "./components/admin/RoleAssignments/RoleAssignments.js";
26
+ import RolePermissions_default from "./components/admin/RolePermissions/RolePermissions.js";
27
+ import AgentList_default from "./components/admin/AgentList/AgentList.js";
28
+ import AgentCreate_default from "./components/admin/AgentCreate/AgentCreate.js";
29
+ import AgentDetails_default from "./components/admin/AgentDetails/AgentDetails.js";
30
+ import useGrantedPermissions_default from "./hooks/management/useGrantedPermissions.js";
31
+ import { BaseAgentCreate, BaseAgentDetails, BaseAgentList, BaseGroupCreate, BaseGroupList, BaseGroupMembers, BaseRoleAssignments, BaseRoleCreate, BaseRoleList, BaseRolePermissions, BaseUserCreate, BaseUserDetails, BaseUserList, useAddGroupMembers, useAddRoleAssignments, useCreateAgent, useCreateGroup, useCreateRole, useCreateUser, useDeleteAgent, useDeleteGroup, useDeleteRole, useDeleteUser, useGetAgent, useGetAgentGroups, useGetAgentRoles, useGetAgentTypes, useGetAgents, useGetGroup, useGetGroupMembers, useGetGroups, useGetRole, useGetRoleAssignments, useGetRoles, useGetUser, useGetUserGroups, useGetUserTypes, useGetUsers, useRemoveGroupMembers, useRemoveRoleAssignments, useUpdateAgent, useUpdateGroup, useUpdateRole, useUpdateUser } from "./admin.js";
17
32
 
18
33
  export { };
package/dist/index.js CHANGED
@@ -6,21 +6,36 @@ import createRouteMatcher_default from "./server/proxy/createRouteMatcher.js";
6
6
  import backchannelLogout_default from "./server/backchannelLogout.js";
7
7
  import "./server/index.js";
8
8
  import useThunderID_default from "./client/contexts/ThunderID/useThunderID.js";
9
- import SignedIn_default from "./client/components/control/SignedIn/SignedIn.js";
10
- import SignedOut_default from "./client/components/control/SignedOut/SignedOut.js";
11
- import SignInButton_default from "./client/components/actions/SignInButton/SignInButton.js";
12
- import SignUpButton_default from "./client/components/actions/SignUpButton/SignUpButton.js";
13
- import SignIn_default from "./client/components/presentation/SignIn/SignIn.js";
14
- import SignOutButton_default from "./client/components/actions/SignOutButton/SignOutButton.js";
15
- import User_default from "./client/components/presentation/User/User.js";
16
- import SignUp_default from "./client/components/presentation/SignUp/SignUp.js";
17
- import UserProfile_default from "./client/components/presentation/UserProfile/UserProfile.js";
18
- import UserDropdown_default from "./client/components/presentation/UserDropdown/UserDropdown.js";
19
- import UserAvatar_default from "./client/components/presentation/UserAvatar/UserAvatar.js";
20
- import ChangeCredential_default from "./client/components/presentation/ChangeCredential/ChangeCredential.js";
21
- import UserSelect_default from "./client/components/presentation/UserSelect/UserSelect.js";
22
- import AuthFlowSelect_default from "./client/components/presentation/AuthFlowSelect/AuthFlowSelect.js";
23
- import UserTypeSelect_default from "./client/components/presentation/UserTypeSelect/UserTypeSelect.js";
9
+ import SignedIn_default from "./client/components/auth/guards/SignedIn/SignedIn.js";
10
+ import SignedOut_default from "./client/components/auth/guards/SignedOut/SignedOut.js";
11
+ import SignInButton_default from "./client/components/auth/buttons/SignInButton/SignInButton.js";
12
+ import SignUpButton_default from "./client/components/auth/buttons/SignUpButton/SignUpButton.js";
13
+ import SignIn_default from "./client/components/auth/SignIn/SignIn.js";
14
+ import SignOutButton_default from "./client/components/auth/buttons/SignOutButton/SignOutButton.js";
15
+ import User_default from "./client/components/account/User/User.js";
16
+ import SignUp_default from "./client/components/auth/SignUp/SignUp.js";
17
+ import UserProfile_default from "./client/components/account/UserProfile/UserProfile.js";
18
+ import UserDropdown_default from "./client/components/account/UserDropdown/UserDropdown.js";
19
+ import UserAvatar_default from "./client/components/account/UserAvatar/UserAvatar.js";
20
+ import ChangeCredential_default from "./client/components/account/ChangeCredential/ChangeCredential.js";
21
+ import UserSelect_default from "./client/components/primitives/UserSelect/UserSelect.js";
22
+ import AuthFlowSelect_default from "./client/components/primitives/AuthFlowSelect/AuthFlowSelect.js";
23
+ import UserTypeSelect_default from "./client/components/primitives/UserTypeSelect/UserTypeSelect.js";
24
+ import UserList_default from "./client/components/admin/UserList/UserList.js";
25
+ import UserCreate_default from "./client/components/admin/UserCreate/UserCreate.js";
26
+ import UserDetails_default from "./client/components/admin/UserDetails/UserDetails.js";
27
+ import GroupList_default from "./client/components/admin/GroupList/GroupList.js";
28
+ import GroupCreate_default from "./client/components/admin/GroupCreate/GroupCreate.js";
29
+ import GroupMembers_default from "./client/components/admin/GroupMembers/GroupMembers.js";
30
+ import RoleList_default from "./client/components/admin/RoleList/RoleList.js";
31
+ import RoleCreate_default from "./client/components/admin/RoleCreate/RoleCreate.js";
32
+ import RoleAssignments_default from "./client/components/admin/RoleAssignments/RoleAssignments.js";
33
+ import RolePermissions_default from "./client/components/admin/RolePermissions/RolePermissions.js";
34
+ import AgentList_default from "./client/components/admin/AgentList/AgentList.js";
35
+ import AgentCreate_default from "./client/components/admin/AgentCreate/AgentCreate.js";
36
+ import AgentDetails_default from "./client/components/admin/AgentDetails/AgentDetails.js";
37
+ import useGrantedPermissions_default from "./client/hooks/management/useGrantedPermissions.js";
38
+ import { BaseAgentCreate, BaseAgentDetails, BaseAgentList, BaseGroupCreate, BaseGroupList, BaseGroupMembers, BaseRoleAssignments, BaseRoleCreate, BaseRoleList, BaseRolePermissions, BaseUserCreate, BaseUserDetails, BaseUserList, useAddGroupMembers, useAddRoleAssignments, useCreateAgent, useCreateGroup, useCreateRole, useCreateUser, useDeleteAgent, useDeleteGroup, useDeleteRole, useDeleteUser, useGetAgent, useGetAgentGroups, useGetAgentRoles, useGetAgentTypes, useGetAgents, useGetGroup, useGetGroupMembers, useGetGroups, useGetRole, useGetRoleAssignments, useGetRoles, useGetUser, useGetUserGroups, useGetUserTypes, useGetUsers, useRemoveGroupMembers, useRemoveRoleAssignments, useUpdateAgent, useUpdateGroup, useUpdateRole, useUpdateUser } from "./client/admin.js";
24
39
  import "./client/index.js";
25
40
 
26
- export { AuthFlowSelect_default as AuthFlowSelect, ChangeCredential_default as ChangeCredential, SignIn_default as SignIn, SignInButton_default as SignInButton, SignOutButton_default as SignOutButton, SignUp_default as SignUp, SignUpButton_default as SignUpButton, SignedIn_default as SignedIn, SignedOut_default as SignedOut, ThunderIDNextClient_default as ThunderIDNext, ThunderIDProvider_default as ThunderIDProvider, User_default as User, UserAvatar_default as UserAvatar, UserDropdown_default as UserDropdown, UserProfile_default as UserProfile, UserSelect_default as UserSelect, UserTypeSelect_default as UserTypeSelect, backchannelLogout_default as backchannelLogout, createRouteMatcher_default as createRouteMatcher, removeChunkedCookieFromHeader, replaceChunkedCookieInHeader, thunderIDProxy_default as thunderIDProxy, thunderid_default as thunderid, useThunderID_default as useThunderID };
41
+ export { AgentCreate_default as AgentCreate, AgentDetails_default as AgentDetails, AgentList_default as AgentList, AuthFlowSelect_default as AuthFlowSelect, BaseAgentCreate, BaseAgentDetails, BaseAgentList, BaseGroupCreate, BaseGroupList, BaseGroupMembers, BaseRoleAssignments, BaseRoleCreate, BaseRoleList, BaseRolePermissions, BaseUserCreate, BaseUserDetails, BaseUserList, ChangeCredential_default as ChangeCredential, GroupCreate_default as GroupCreate, GroupList_default as GroupList, GroupMembers_default as GroupMembers, RoleAssignments_default as RoleAssignments, RoleCreate_default as RoleCreate, RoleList_default as RoleList, RolePermissions_default as RolePermissions, SignIn_default as SignIn, SignInButton_default as SignInButton, SignOutButton_default as SignOutButton, SignUp_default as SignUp, SignUpButton_default as SignUpButton, SignedIn_default as SignedIn, SignedOut_default as SignedOut, ThunderIDNextClient_default as ThunderIDNext, ThunderIDProvider_default as ThunderIDProvider, User_default as User, UserAvatar_default as UserAvatar, UserCreate_default as UserCreate, UserDetails_default as UserDetails, UserDropdown_default as UserDropdown, UserList_default as UserList, UserProfile_default as UserProfile, UserSelect_default as UserSelect, UserTypeSelect_default as UserTypeSelect, backchannelLogout_default as backchannelLogout, createRouteMatcher_default as createRouteMatcher, removeChunkedCookieFromHeader, replaceChunkedCookieInHeader, thunderIDProxy_default as thunderIDProxy, thunderid_default as thunderid, useAddGroupMembers, useAddRoleAssignments, useCreateAgent, useCreateGroup, useCreateRole, useCreateUser, useDeleteAgent, useDeleteGroup, useDeleteRole, useDeleteUser, useGetAgent, useGetAgentGroups, useGetAgentRoles, useGetAgentTypes, useGetAgents, useGetGroup, useGetGroupMembers, useGetGroups, useGetRole, useGetRoleAssignments, useGetRoles, useGetUser, useGetUserGroups, useGetUserTypes, useGetUsers, useGrantedPermissions_default as useGrantedPermissions, useRemoveGroupMembers, useRemoveRoleAssignments, useThunderID_default as useThunderID, useUpdateAgent, useUpdateGroup, useUpdateRole, useUpdateUser };
@@ -1 +1 @@
1
- {"version":3,"file":"ThunderIDProvider.d.ts","sourceRoot":"","sources":["../../src/server/ThunderIDProvider.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAC,sBAAsB,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,EAAE,EAAE,iBAAiB,EAAe,MAAM,OAAO,CAAC;AAoB1D;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,OAAO,CAAC,sBAAsB,CAAC,GAAG;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;;OAYG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,QAAA,MAAM,uBAAuB,EAAE,EAAE,CAAC,iBAAiB,CAAC,4BAA4B,CAAC,CAsJhF,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"ThunderIDProvider.d.ts","sourceRoot":"","sources":["../../src/server/ThunderIDProvider.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAC,sBAAsB,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,EAAE,EAAE,iBAAiB,EAAe,MAAM,OAAO,CAAC;AAqB1D;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,OAAO,CAAC,sBAAsB,CAAC,GAAG;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;;OAYG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,QAAA,MAAM,uBAAuB,EAAE,EAAE,CAAC,iBAAiB,CAAC,4BAA4B,CAAC,CAuJhF,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
@@ -3,20 +3,21 @@
3
3
 
4
4
  import getSessionId_default from "./actions/getSessionId.js";
5
5
  import getClient_default from "./getClient.js";
6
+ import getUserAction_default from "./actions/account/getUserAction.js";
7
+ import getUserProfileAction_default from "./actions/account/getUserProfileAction.js";
8
+ import getUserSchemaAction_default from "./actions/account/getUserSchemaAction.js";
9
+ import updateUserProfileAction_default from "./actions/account/updateUserProfileAction.js";
6
10
  import logger_default from "../utils/logger.js";
11
+ import handleOAuthCallbackAction_default from "./actions/auth/handleOAuthCallbackAction.js";
12
+ import signInAction_default from "./actions/auth/signInAction.js";
13
+ import signOutAction_default from "./actions/auth/signOutAction.js";
14
+ import signUpAction_default from "./actions/auth/signUpAction.js";
7
15
  import clearSession_default from "./actions/clearSession.js";
8
16
  import getSessionPayload_default from "./actions/getSessionPayload.js";
9
- import getUserAction_default from "./actions/getUserAction.js";
10
- import getUserProfileAction_default from "./actions/getUserProfileAction.js";
11
- import getUserSchemaAction_default from "./actions/getUserSchemaAction.js";
12
- import handleOAuthCallbackAction_default from "./actions/handleOAuthCallbackAction.js";
13
17
  import isSignedIn_default from "./actions/isSignedIn.js";
14
18
  import refreshToken_default from "./actions/refreshToken.js";
15
- import signInAction_default from "./actions/signInAction.js";
16
- import signOutAction_default from "./actions/signOutAction.js";
17
- import signUpAction_default from "./actions/signUpAction.js";
18
- import updateUserProfileAction_default from "./actions/updateUserProfileAction.js";
19
19
  import ThunderIDProvider_default from "../client/contexts/ThunderID/ThunderIDProvider.js";
20
+ import { pickManagementEndpoints } from "../utils/managementCollections.js";
20
21
  import { FlowMetaType, ThunderIDRuntimeError, extractUserClaimsFromIdToken, getFlowMeta, resolveResourceEndpoint } from "@thunderid/node";
21
22
  import { Fragment, jsx } from "react/jsx-runtime";
22
23
 
@@ -121,6 +122,7 @@ const ThunderIDServerProvider = async ({ children, afterSignInUrl, afterSignOutU
121
122
  organizationHandle: config?.organizationHandle,
122
123
  applicationId: config?.applicationId,
123
124
  baseUrl: config?.baseUrl,
125
+ endpoints: pickManagementEndpoints(config?.endpoints),
124
126
  initialMeta: flowMeta,
125
127
  signIn: signInAction_default,
126
128
  clearSession: clearSession_default,
@@ -1 +1 @@
1
- {"version":3,"file":"ThunderIDProvider.js","names":["ThunderIDServerProvider: FC<PropsWithChildren<ThunderIDServerProviderProps>>","getClient","config: Partial<ThunderIDNextConfig>","flowMeta: FlowMetadataResponse | null","sessionPayload: SessionTokenPayload | undefined","getSessionPayload","sessionId: string","getSessionId","signedIn: boolean","isSignedIn","user: User","userProfile: UserProfile","userSchema: Record<string, AttributeSchema> | null","updatedBaseUrl: string | undefined","userResponse: {\n data: {user: User | null};\n error: string | null;\n success: boolean;\n }","getUserAction","userProfileResponse: {\n data: {userProfile: UserProfile};\n error: string | null;\n success: boolean;\n }","getUserProfileAction","userSchemaResponse: {\n data: {userSchema: Record<string, AttributeSchema> | null};\n error: string | null;\n success: boolean;\n }","getUserSchemaAction","ThunderIDClientProvider","signInAction","clearSession","refreshToken","signOutAction","signUpAction","handleOAuthCallbackAction","updateUserProfileAction"],"sources":["../../src/server/ThunderIDProvider.tsx"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use server';\n\nimport {\n ThunderIDRuntimeError,\n AttributeSchema,\n FlowMetadataResponse,\n FlowMetaType,\n IdToken,\n User,\n UserProfile,\n getFlowMeta,\n extractUserClaimsFromIdToken,\n resolveResourceEndpoint,\n} from '@thunderid/node';\nimport {ThunderIDProviderProps} from '@thunderid/react';\nimport {FC, PropsWithChildren, ReactElement} from 'react';\nimport clearSession from './actions/clearSession';\nimport getSessionId from './actions/getSessionId';\nimport getSessionPayload from './actions/getSessionPayload';\nimport getUserAction from './actions/getUserAction';\nimport getUserProfileAction from './actions/getUserProfileAction';\nimport getUserSchemaAction from './actions/getUserSchemaAction';\nimport handleOAuthCallbackAction from './actions/handleOAuthCallbackAction';\nimport isSignedIn from './actions/isSignedIn';\nimport refreshToken from './actions/refreshToken';\nimport signInAction from './actions/signInAction';\nimport signOutAction from './actions/signOutAction';\nimport signUpAction from './actions/signUpAction';\nimport updateUserProfileAction from './actions/updateUserProfileAction';\nimport getClient from './getClient';\nimport ThunderIDClientProvider from '../client/contexts/ThunderID/ThunderIDProvider.js';\nimport {ThunderIDNextConfig} from '../models/config';\nimport logger from '../utils/logger';\nimport {SessionTokenPayload} from '../utils/SessionManager';\n\n/**\n * Props interface of {@link ThunderIDServerProvider}\n */\nexport type ThunderIDServerProviderProps = Partial<ThunderIDProviderProps> & {\n clientSecret?: string;\n /**\n * Session cookie lifetime in seconds. Determines how long the session cookie\n * remains valid in the browser after sign-in.\n *\n * Resolution order (first defined value wins):\n * 1. This prop — set here when mounting the provider.\n * 2. `THUNDERID_SESSION_COOKIE_EXPIRY_TIME` environment variable.\n * 3. Built-in default of 86400 seconds (24 hours).\n *\n * @example\n * // 8-hour session cookie\n * <ThunderIDServerProvider sessionCookieExpiryTime={28800} ... />\n */\n sessionCookieExpiryTime?: number;\n};\n\n/**\n * Server-side provider component for ThunderID authentication.\n * Wraps the client-side provider and handles server-side authentication logic.\n * Uses the singleton ThunderIDNextClient instance for consistent authentication state.\n *\n * @param props - Props injected into the component.\n *\n * @example\n * ```tsx\n * <ThunderIDServerProvider config={thunderidConfig}>\n * <YourApp />\n * </ThunderIDServerProvider>\n * ```\n *\n * @returns ThunderIDServerProvider component.\n */\nconst ThunderIDServerProvider: FC<PropsWithChildren<ThunderIDServerProviderProps>> = async ({\n children,\n afterSignInUrl,\n afterSignOutUrl,\n ..._config\n}: PropsWithChildren<ThunderIDServerProviderProps>): Promise<ReactElement> => {\n const thunderIDClient = getClient();\n let config: Partial<ThunderIDNextConfig> = {};\n\n try {\n await thunderIDClient.initialize(_config as ThunderIDNextConfig);\n\n logger.debug('[ThunderIDServerProvider] ThunderID client initialized successfully.');\n\n config = await thunderIDClient.getConfiguration();\n } catch (error) {\n logger.error('[ThunderIDServerProvider] Failed to initialize ThunderID client:', error?.toString());\n\n throw new ThunderIDRuntimeError(\n `Failed to initialize ThunderID client: ${error?.toString()}`,\n 'next-ConfigurationError-001',\n 'next',\n 'An error occurred while initializing the ThunderID client. Please check your configuration.',\n );\n }\n\n if (!thunderIDClient.isInitialized) {\n return <></>;\n }\n\n // Fetch flow metadata (design config + i18n bundle) server-side so `FlowMetaProvider` can seed\n // its state and skip a redundant client-side fetch — avoiding a flash of untranslated i18n keys\n // (e.g. raw `signin.forms.credentials.title`) while embedded flow components first render.\n let flowMeta: FlowMetadataResponse | null = null;\n try {\n flowMeta = await getFlowMeta({\n baseUrl: config?.baseUrl,\n url: resolveResourceEndpoint('flowMeta', config),\n ...(config?.applicationId ? {id: config.applicationId, type: FlowMetaType.App} : {}),\n });\n } catch (error) {\n logger.warn('[ThunderIDServerProvider] Failed to fetch flow metadata:', error?.toString());\n }\n\n // Try to get session information from JWT first, then fall back to legacy\n const sessionPayload: SessionTokenPayload | undefined = await getSessionPayload();\n const sessionId: string = sessionPayload?.sessionId || (await getSessionId()) || '';\n const signedIn: boolean = await isSignedIn(sessionId);\n\n let user: User = {};\n let userProfile: UserProfile = {\n flattenedProfile: {},\n profile: {},\n };\n let userSchema: Record<string, AttributeSchema> | null = null;\n\n const resolvedPreferences = {\n ...config?.preferences,\n ..._config.preferences,\n user: {\n ...config?.preferences?.user,\n ..._config.preferences?.user,\n },\n };\n\n if (signedIn) {\n let updatedBaseUrl: string | undefined = config?.baseUrl;\n\n if (sessionPayload?.organizationId) {\n updatedBaseUrl = `${config?.baseUrl}/o`;\n config = {...config, baseUrl: updatedBaseUrl};\n } else if (sessionId) {\n try {\n const idToken: IdToken = await thunderIDClient.getDecodedIdToken(sessionId);\n if (idToken?.['user_org']) {\n updatedBaseUrl = `${config?.baseUrl}/o`;\n config = {...config, baseUrl: updatedBaseUrl};\n }\n } catch {\n // Continue without organization info\n }\n }\n\n // Check if user profile fetching is enabled (default: true)\n const shouldFetchUserProfile: boolean = resolvedPreferences?.user?.fetchUserProfile !== false;\n\n if (shouldFetchUserProfile) {\n try {\n const userResponse: {\n data: {user: User | null};\n error: string | null;\n success: boolean;\n } = await getUserAction(sessionId);\n const userProfileResponse: {\n data: {userProfile: UserProfile};\n error: string | null;\n success: boolean;\n } = await getUserProfileAction(sessionId);\n const userSchemaResponse: {\n data: {userSchema: Record<string, AttributeSchema> | null};\n error: string | null;\n success: boolean;\n } = await getUserSchemaAction(sessionId);\n\n user = userResponse.data?.user || {};\n userProfile = userProfileResponse.data?.userProfile ?? userProfile;\n userSchema = userSchemaResponse.data?.userSchema ?? null;\n } catch (error) {\n logger.warn('[ThunderIDServerProvider] Failed to fetch user profile from /users/me:', error?.toString());\n }\n } else {\n try {\n const decodedIdToken: IdToken = await thunderIDClient.getDecodedIdToken(sessionId);\n const claims = extractUserClaimsFromIdToken(decodedIdToken);\n user = claims;\n userProfile = {\n flattenedProfile: claims,\n profile: claims,\n };\n } catch (error) {\n logger.warn('[ThunderIDServerProvider] Failed to extract user claims from ID token:', error?.toString());\n }\n }\n }\n\n return (\n <ThunderIDClientProvider\n organizationHandle={config?.organizationHandle}\n applicationId={config?.applicationId}\n baseUrl={config?.baseUrl}\n initialMeta={flowMeta}\n signIn={signInAction}\n clearSession={clearSession}\n refreshToken={refreshToken}\n signOut={signOutAction}\n signUp={signUpAction}\n handleOAuthCallback={handleOAuthCallbackAction}\n signInUrl={config?.signInUrl}\n signUpUrl={config?.signUpUrl}\n preferences={resolvedPreferences}\n clientId={config?.clientId}\n user={user}\n userProfile={userProfile}\n userSchema={userSchema}\n updateProfile={updateUserProfileAction}\n isSignedIn={signedIn}\n >\n {children}\n </ThunderIDClientProvider>\n );\n};\n\nexport default ThunderIDServerProvider;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2EA,MAAMA,0BAA+E,OAAO,EAC1F,UACA,gBACA,gBACA,GAAG,cACyE;CAC5E,MAAM,kBAAkBC,mBAAW;CACnC,IAAIC,SAAuC,EAAE;AAE7C,KAAI;AACF,QAAM,gBAAgB,WAAW,QAA+B;AAEhE,iBAAO,MAAM,uEAAuE;AAEpF,WAAS,MAAM,gBAAgB,kBAAkB;UAC1C,OAAO;AACd,iBAAO,MAAM,oEAAoE,OAAO,UAAU,CAAC;AAEnG,QAAM,IAAI,sBACR,0CAA0C,OAAO,UAAU,IAC3D,+BACA,QACA,8FACD;;AAGH,KAAI,CAAC,gBAAgB,cACnB,QAAO,iCAAK;CAMd,IAAIC,WAAwC;AAC5C,KAAI;AACF,aAAW,MAAM,YAAY;GAC3B,SAAS,QAAQ;GACjB,KAAK,wBAAwB,YAAY,OAAO;GAChD,GAAI,QAAQ,gBAAgB;IAAC,IAAI,OAAO;IAAe,MAAM,aAAa;IAAI,GAAG,EAAE;GACpF,CAAC;UACK,OAAO;AACd,iBAAO,KAAK,4DAA4D,OAAO,UAAU,CAAC;;CAI5F,MAAMC,iBAAkD,MAAMC,2BAAmB;CACjF,MAAMC,YAAoB,gBAAgB,aAAc,MAAMC,sBAAc,IAAK;CACjF,MAAMC,WAAoB,MAAMC,mBAAW,UAAU;CAErD,IAAIC,OAAa,EAAE;CACnB,IAAIC,cAA2B;EAC7B,kBAAkB,EAAE;EACpB,SAAS,EAAE;EACZ;CACD,IAAIC,aAAqD;CAEzD,MAAM,sBAAsB;EAC1B,GAAG,QAAQ;EACX,GAAG,QAAQ;EACX,MAAM;GACJ,GAAG,QAAQ,aAAa;GACxB,GAAG,QAAQ,aAAa;GACzB;EACF;AAED,KAAI,UAAU;EACZ,IAAIC,iBAAqC,QAAQ;AAEjD,MAAI,gBAAgB,gBAAgB;AAClC,oBAAiB,GAAG,QAAQ,QAAQ;AACpC,YAAS;IAAC,GAAG;IAAQ,SAAS;IAAe;aACpC,UACT,KAAI;AAEF,QADyB,MAAM,gBAAgB,kBAAkB,UAAU,IAC7D,aAAa;AACzB,qBAAiB,GAAG,QAAQ,QAAQ;AACpC,aAAS;KAAC,GAAG;KAAQ,SAAS;KAAe;;UAEzC;AAQV,MAFwC,qBAAqB,MAAM,qBAAqB,MAGtF,KAAI;GACF,MAAMC,eAIF,MAAMC,sBAAc,UAAU;GAClC,MAAMC,sBAIF,MAAMC,6BAAqB,UAAU;GACzC,MAAMC,qBAIF,MAAMC,4BAAoB,UAAU;AAExC,UAAO,aAAa,MAAM,QAAQ,EAAE;AACpC,iBAAc,oBAAoB,MAAM,eAAe;AACvD,gBAAa,mBAAmB,MAAM,cAAc;WAC7C,OAAO;AACd,kBAAO,KAAK,0EAA0E,OAAO,UAAU,CAAC;;MAG1G,KAAI;GAEF,MAAM,SAAS,6BADiB,MAAM,gBAAgB,kBAAkB,UAAU,CACvB;AAC3D,UAAO;AACP,iBAAc;IACZ,kBAAkB;IAClB,SAAS;IACV;WACM,OAAO;AACd,kBAAO,KAAK,0EAA0E,OAAO,UAAU,CAAC;;;AAK9G,QACE,oBAACC;EACC,oBAAoB,QAAQ;EAC5B,eAAe,QAAQ;EACvB,SAAS,QAAQ;EACjB,aAAa;EACb,QAAQC;EACR,cAAcC;EACd,cAAcC;EACd,SAASC;EACT,QAAQC;EACR,qBAAqBC;EACrB,WAAW,QAAQ;EACnB,WAAW,QAAQ;EACnB,aAAa;EACb,UAAU,QAAQ;EACZ;EACO;EACD;EACZ,eAAeC;EACf,YAAY;EAEX;GACuB;;AAI9B,kCAAe"}
1
+ {"version":3,"file":"ThunderIDProvider.js","names":["ThunderIDServerProvider: FC<PropsWithChildren<ThunderIDServerProviderProps>>","getClient","config: Partial<ThunderIDNextConfig>","flowMeta: FlowMetadataResponse | null","sessionPayload: SessionTokenPayload | undefined","getSessionPayload","sessionId: string","getSessionId","signedIn: boolean","isSignedIn","user: User","userProfile: UserProfile","userSchema: Record<string, AttributeSchema> | null","updatedBaseUrl: string | undefined","userResponse: {\n data: {user: User | null};\n error: string | null;\n success: boolean;\n }","getUserAction","userProfileResponse: {\n data: {userProfile: UserProfile};\n error: string | null;\n success: boolean;\n }","getUserProfileAction","userSchemaResponse: {\n data: {userSchema: Record<string, AttributeSchema> | null};\n error: string | null;\n success: boolean;\n }","getUserSchemaAction","ThunderIDClientProvider","signInAction","clearSession","refreshToken","signOutAction","signUpAction","handleOAuthCallbackAction","updateUserProfileAction"],"sources":["../../src/server/ThunderIDProvider.tsx"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use server';\n\nimport {\n ThunderIDRuntimeError,\n AttributeSchema,\n FlowMetadataResponse,\n FlowMetaType,\n IdToken,\n User,\n UserProfile,\n getFlowMeta,\n extractUserClaimsFromIdToken,\n resolveResourceEndpoint,\n} from '@thunderid/node';\nimport {ThunderIDProviderProps} from '@thunderid/react';\nimport {FC, PropsWithChildren, ReactElement} from 'react';\nimport getUserAction from './actions/account/getUserAction';\nimport getUserProfileAction from './actions/account/getUserProfileAction';\nimport getUserSchemaAction from './actions/account/getUserSchemaAction';\nimport updateUserProfileAction from './actions/account/updateUserProfileAction';\nimport handleOAuthCallbackAction from './actions/auth/handleOAuthCallbackAction';\nimport signInAction from './actions/auth/signInAction';\nimport signOutAction from './actions/auth/signOutAction';\nimport signUpAction from './actions/auth/signUpAction';\nimport clearSession from './actions/clearSession';\nimport getSessionId from './actions/getSessionId';\nimport getSessionPayload from './actions/getSessionPayload';\nimport isSignedIn from './actions/isSignedIn';\nimport refreshToken from './actions/refreshToken';\nimport getClient from './getClient';\nimport ThunderIDClientProvider from '../client/contexts/ThunderID/ThunderIDProvider.js';\nimport {ThunderIDNextConfig} from '../models/config';\nimport logger from '../utils/logger';\nimport {pickManagementEndpoints} from '../utils/managementCollections';\nimport {SessionTokenPayload} from '../utils/SessionManager';\n\n/**\n * Props interface of {@link ThunderIDServerProvider}\n */\nexport type ThunderIDServerProviderProps = Partial<ThunderIDProviderProps> & {\n clientSecret?: string;\n /**\n * Session cookie lifetime in seconds. Determines how long the session cookie\n * remains valid in the browser after sign-in.\n *\n * Resolution order (first defined value wins):\n * 1. This prop — set here when mounting the provider.\n * 2. `THUNDERID_SESSION_COOKIE_EXPIRY_TIME` environment variable.\n * 3. Built-in default of 86400 seconds (24 hours).\n *\n * @example\n * // 8-hour session cookie\n * <ThunderIDServerProvider sessionCookieExpiryTime={28800} ... />\n */\n sessionCookieExpiryTime?: number;\n};\n\n/**\n * Server-side provider component for ThunderID authentication.\n * Wraps the client-side provider and handles server-side authentication logic.\n * Uses the singleton ThunderIDNextClient instance for consistent authentication state.\n *\n * @param props - Props injected into the component.\n *\n * @example\n * ```tsx\n * <ThunderIDServerProvider config={thunderidConfig}>\n * <YourApp />\n * </ThunderIDServerProvider>\n * ```\n *\n * @returns ThunderIDServerProvider component.\n */\nconst ThunderIDServerProvider: FC<PropsWithChildren<ThunderIDServerProviderProps>> = async ({\n children,\n afterSignInUrl,\n afterSignOutUrl,\n ..._config\n}: PropsWithChildren<ThunderIDServerProviderProps>): Promise<ReactElement> => {\n const thunderIDClient = getClient();\n let config: Partial<ThunderIDNextConfig> = {};\n\n try {\n await thunderIDClient.initialize(_config as ThunderIDNextConfig);\n\n logger.debug('[ThunderIDServerProvider] ThunderID client initialized successfully.');\n\n config = await thunderIDClient.getConfiguration();\n } catch (error) {\n logger.error('[ThunderIDServerProvider] Failed to initialize ThunderID client:', error?.toString());\n\n throw new ThunderIDRuntimeError(\n `Failed to initialize ThunderID client: ${error?.toString()}`,\n 'next-ConfigurationError-001',\n 'next',\n 'An error occurred while initializing the ThunderID client. Please check your configuration.',\n );\n }\n\n if (!thunderIDClient.isInitialized) {\n return <></>;\n }\n\n // Fetch flow metadata (design config + i18n bundle) server-side so `FlowMetaProvider` can seed\n // its state and skip a redundant client-side fetch — avoiding a flash of untranslated i18n keys\n // (e.g. raw `signin.forms.credentials.title`) while embedded flow components first render.\n let flowMeta: FlowMetadataResponse | null = null;\n try {\n flowMeta = await getFlowMeta({\n baseUrl: config?.baseUrl,\n url: resolveResourceEndpoint('flowMeta', config),\n ...(config?.applicationId ? {id: config.applicationId, type: FlowMetaType.App} : {}),\n });\n } catch (error) {\n logger.warn('[ThunderIDServerProvider] Failed to fetch flow metadata:', error?.toString());\n }\n\n // Try to get session information from JWT first, then fall back to legacy\n const sessionPayload: SessionTokenPayload | undefined = await getSessionPayload();\n const sessionId: string = sessionPayload?.sessionId || (await getSessionId()) || '';\n const signedIn: boolean = await isSignedIn(sessionId);\n\n let user: User = {};\n let userProfile: UserProfile = {\n flattenedProfile: {},\n profile: {},\n };\n let userSchema: Record<string, AttributeSchema> | null = null;\n\n const resolvedPreferences = {\n ...config?.preferences,\n ..._config.preferences,\n user: {\n ...config?.preferences?.user,\n ..._config.preferences?.user,\n },\n };\n\n if (signedIn) {\n let updatedBaseUrl: string | undefined = config?.baseUrl;\n\n if (sessionPayload?.organizationId) {\n updatedBaseUrl = `${config?.baseUrl}/o`;\n config = {...config, baseUrl: updatedBaseUrl};\n } else if (sessionId) {\n try {\n const idToken: IdToken = await thunderIDClient.getDecodedIdToken(sessionId);\n if (idToken?.['user_org']) {\n updatedBaseUrl = `${config?.baseUrl}/o`;\n config = {...config, baseUrl: updatedBaseUrl};\n }\n } catch {\n // Continue without organization info\n }\n }\n\n // Check if user profile fetching is enabled (default: true)\n const shouldFetchUserProfile: boolean = resolvedPreferences?.user?.fetchUserProfile !== false;\n\n if (shouldFetchUserProfile) {\n try {\n const userResponse: {\n data: {user: User | null};\n error: string | null;\n success: boolean;\n } = await getUserAction(sessionId);\n const userProfileResponse: {\n data: {userProfile: UserProfile};\n error: string | null;\n success: boolean;\n } = await getUserProfileAction(sessionId);\n const userSchemaResponse: {\n data: {userSchema: Record<string, AttributeSchema> | null};\n error: string | null;\n success: boolean;\n } = await getUserSchemaAction(sessionId);\n\n user = userResponse.data?.user || {};\n userProfile = userProfileResponse.data?.userProfile ?? userProfile;\n userSchema = userSchemaResponse.data?.userSchema ?? null;\n } catch (error) {\n logger.warn('[ThunderIDServerProvider] Failed to fetch user profile from /users/me:', error?.toString());\n }\n } else {\n try {\n const decodedIdToken: IdToken = await thunderIDClient.getDecodedIdToken(sessionId);\n const claims = extractUserClaimsFromIdToken(decodedIdToken);\n user = claims;\n userProfile = {\n flattenedProfile: claims,\n profile: claims,\n };\n } catch (error) {\n logger.warn('[ThunderIDServerProvider] Failed to extract user claims from ID token:', error?.toString());\n }\n }\n }\n\n return (\n <ThunderIDClientProvider\n organizationHandle={config?.organizationHandle}\n applicationId={config?.applicationId}\n baseUrl={config?.baseUrl}\n endpoints={pickManagementEndpoints(config?.endpoints)}\n initialMeta={flowMeta}\n signIn={signInAction}\n clearSession={clearSession}\n refreshToken={refreshToken}\n signOut={signOutAction}\n signUp={signUpAction}\n handleOAuthCallback={handleOAuthCallbackAction}\n signInUrl={config?.signInUrl}\n signUpUrl={config?.signUpUrl}\n preferences={resolvedPreferences}\n clientId={config?.clientId}\n user={user}\n userProfile={userProfile}\n userSchema={userSchema}\n updateProfile={updateUserProfileAction}\n isSignedIn={signedIn}\n >\n {children}\n </ThunderIDClientProvider>\n );\n};\n\nexport default ThunderIDServerProvider;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4EA,MAAMA,0BAA+E,OAAO,EAC1F,UACA,gBACA,gBACA,GAAG,cACyE;CAC5E,MAAM,kBAAkBC,mBAAW;CACnC,IAAIC,SAAuC,EAAE;AAE7C,KAAI;AACF,QAAM,gBAAgB,WAAW,QAA+B;AAEhE,iBAAO,MAAM,uEAAuE;AAEpF,WAAS,MAAM,gBAAgB,kBAAkB;UAC1C,OAAO;AACd,iBAAO,MAAM,oEAAoE,OAAO,UAAU,CAAC;AAEnG,QAAM,IAAI,sBACR,0CAA0C,OAAO,UAAU,IAC3D,+BACA,QACA,8FACD;;AAGH,KAAI,CAAC,gBAAgB,cACnB,QAAO,iCAAK;CAMd,IAAIC,WAAwC;AAC5C,KAAI;AACF,aAAW,MAAM,YAAY;GAC3B,SAAS,QAAQ;GACjB,KAAK,wBAAwB,YAAY,OAAO;GAChD,GAAI,QAAQ,gBAAgB;IAAC,IAAI,OAAO;IAAe,MAAM,aAAa;IAAI,GAAG,EAAE;GACpF,CAAC;UACK,OAAO;AACd,iBAAO,KAAK,4DAA4D,OAAO,UAAU,CAAC;;CAI5F,MAAMC,iBAAkD,MAAMC,2BAAmB;CACjF,MAAMC,YAAoB,gBAAgB,aAAc,MAAMC,sBAAc,IAAK;CACjF,MAAMC,WAAoB,MAAMC,mBAAW,UAAU;CAErD,IAAIC,OAAa,EAAE;CACnB,IAAIC,cAA2B;EAC7B,kBAAkB,EAAE;EACpB,SAAS,EAAE;EACZ;CACD,IAAIC,aAAqD;CAEzD,MAAM,sBAAsB;EAC1B,GAAG,QAAQ;EACX,GAAG,QAAQ;EACX,MAAM;GACJ,GAAG,QAAQ,aAAa;GACxB,GAAG,QAAQ,aAAa;GACzB;EACF;AAED,KAAI,UAAU;EACZ,IAAIC,iBAAqC,QAAQ;AAEjD,MAAI,gBAAgB,gBAAgB;AAClC,oBAAiB,GAAG,QAAQ,QAAQ;AACpC,YAAS;IAAC,GAAG;IAAQ,SAAS;IAAe;aACpC,UACT,KAAI;AAEF,QADyB,MAAM,gBAAgB,kBAAkB,UAAU,IAC7D,aAAa;AACzB,qBAAiB,GAAG,QAAQ,QAAQ;AACpC,aAAS;KAAC,GAAG;KAAQ,SAAS;KAAe;;UAEzC;AAQV,MAFwC,qBAAqB,MAAM,qBAAqB,MAGtF,KAAI;GACF,MAAMC,eAIF,MAAMC,sBAAc,UAAU;GAClC,MAAMC,sBAIF,MAAMC,6BAAqB,UAAU;GACzC,MAAMC,qBAIF,MAAMC,4BAAoB,UAAU;AAExC,UAAO,aAAa,MAAM,QAAQ,EAAE;AACpC,iBAAc,oBAAoB,MAAM,eAAe;AACvD,gBAAa,mBAAmB,MAAM,cAAc;WAC7C,OAAO;AACd,kBAAO,KAAK,0EAA0E,OAAO,UAAU,CAAC;;MAG1G,KAAI;GAEF,MAAM,SAAS,6BADiB,MAAM,gBAAgB,kBAAkB,UAAU,CACvB;AAC3D,UAAO;AACP,iBAAc;IACZ,kBAAkB;IAClB,SAAS;IACV;WACM,OAAO;AACd,kBAAO,KAAK,0EAA0E,OAAO,UAAU,CAAC;;;AAK9G,QACE,oBAACC;EACC,oBAAoB,QAAQ;EAC5B,eAAe,QAAQ;EACvB,SAAS,QAAQ;EACjB,WAAW,wBAAwB,QAAQ,UAAU;EACrD,aAAa;EACb,QAAQC;EACR,cAAcC;EACd,cAAcC;EACd,SAASC;EACT,QAAQC;EACR,qBAAqBC;EACrB,WAAW,QAAQ;EACnB,WAAW,QAAQ;EACnB,aAAa;EACb,UAAU,QAAQ;EACZ;EACO;EACD;EACZ,eAAeC;EACf,YAAY;EAEX;GACuB;;AAI9B,kCAAe"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUserAction.d.ts","sourceRoot":"","sources":["../../../../src/server/actions/account/getUserAction.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAGrC;;;GAGG;AACH,QAAA,MAAM,aAAa,GACjB,WAAW,MAAM,KAChB,OAAO,CAAC;IAAC,IAAI,EAAE;QAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;KAAC,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,CAQ7E,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1,9 +1,9 @@
1
1
  'use server';
2
2
 
3
3
 
4
- import getClient_default from "../getClient.js";
4
+ import getClient_default from "../../getClient.js";
5
5
 
6
- //#region src/server/actions/getUserAction.ts
6
+ //#region src/server/actions/account/getUserAction.ts
7
7
  /**
8
8
  * Server action to get the current user.
9
9
  * Returns the user profile if signed in.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUserAction.js","names":["getClient"],"sources":["../../../../src/server/actions/account/getUserAction.ts"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use server';\n\nimport {User} from '@thunderid/node';\nimport getClient from '../../getClient';\n\n/**\n * Server action to get the current user.\n * Returns the user profile if signed in.\n */\nconst getUserAction = async (\n sessionId: string,\n): Promise<{data: {user: User | null}; error: string | null; success: boolean}> => {\n try {\n const client = getClient();\n const user: User = await client.getUser(sessionId);\n return {data: {user}, error: null, success: true};\n } catch (error) {\n return {data: {user: null}, error: 'Failed to get user', success: false};\n }\n};\n\nexport default getUserAction;\n"],"mappings":";;;;;;;;;;AAYA,MAAM,gBAAgB,OACpB,cACiF;AACjF,KAAI;AAGF,SAAO;GAAC,MAAM,EAAC,MADI,MADJA,mBAAW,CACM,QAAQ,UAAU,EAC9B;GAAE,OAAO;GAAM,SAAS;GAAK;UAC1C,OAAO;AACd,SAAO;GAAC,MAAM,EAAC,MAAM,MAAK;GAAE,OAAO;GAAsB,SAAS;GAAM;;;AAI5E,4BAAe"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUserProfileAction.d.ts","sourceRoot":"","sources":["../../../../src/server/actions/account/getUserProfileAction.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAG5C;;;GAGG;AACH,QAAA,MAAM,oBAAoB,GACxB,WAAW,MAAM,KAChB,OAAO,CAAC;IAAC,IAAI,EAAE;QAAC,WAAW,EAAE,WAAW,CAAA;KAAC,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,CAiBpF,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -1,9 +1,9 @@
1
1
  'use server';
2
2
 
3
3
 
4
- import getClient_default from "../getClient.js";
4
+ import getClient_default from "../../getClient.js";
5
5
 
6
- //#region src/server/actions/getUserProfileAction.ts
6
+ //#region src/server/actions/account/getUserProfileAction.ts
7
7
  /**
8
8
  * Server action to get the current user.
9
9
  * Returns the user profile if signed in.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUserProfileAction.js","names":["getClient"],"sources":["../../../../src/server/actions/account/getUserProfileAction.ts"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use server';\n\nimport {UserProfile} from '@thunderid/node';\nimport getClient from '../../getClient';\n\n/**\n * Server action to get the current user.\n * Returns the user profile if signed in.\n */\nconst getUserProfileAction = async (\n sessionId: string,\n): Promise<{data: {userProfile: UserProfile}; error: string | null; success: boolean}> => {\n try {\n const client = getClient();\n const updatedProfile: UserProfile = await client.getUserProfile(sessionId);\n return {data: {userProfile: updatedProfile}, error: null, success: true};\n } catch (error) {\n return {\n data: {\n userProfile: {\n flattenedProfile: {},\n profile: {},\n },\n },\n error: 'Failed to get user profile',\n success: false,\n };\n }\n};\n\nexport default getUserProfileAction;\n"],"mappings":";;;;;;;;;;AAYA,MAAM,uBAAuB,OAC3B,cACwF;AACxF,KAAI;AAGF,SAAO;GAAC,MAAM,EAAC,aADqB,MADrBA,mBAAW,CACuB,eAAe,UAAU,EAC/B;GAAE,OAAO;GAAM,SAAS;GAAK;UACjE,OAAO;AACd,SAAO;GACL,MAAM,EACJ,aAAa;IACX,kBAAkB,EAAE;IACpB,SAAS,EAAE;IACZ,EACF;GACD,OAAO;GACP,SAAS;GACV;;;AAIL,mCAAe"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUserSchemaAction.d.ts","sourceRoot":"","sources":["../../../../src/server/actions/account/getUserSchemaAction.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAGhD;;;;GAIG;AACH,QAAA,MAAM,mBAAmB,GACvB,WAAW,MAAM,KAChB,OAAO,CAAC;IAAC,IAAI,EAAE;QAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,IAAI,CAAA;KAAC,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,CAY9G,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -1,9 +1,9 @@
1
1
  'use server';
2
2
 
3
3
 
4
- import getClient_default from "../getClient.js";
4
+ import getClient_default from "../../getClient.js";
5
5
 
6
- //#region src/server/actions/getUserSchemaAction.ts
6
+ //#region src/server/actions/account/getUserSchemaAction.ts
7
7
  /**
8
8
  * Server action to get the user attribute schema from `/users/me/meta`.
9
9
  * Used to render profile fields dynamically (labels, required/regex validation)
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUserSchemaAction.js","names":["getClient"],"sources":["../../../../src/server/actions/account/getUserSchemaAction.ts"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use server';\n\nimport {AttributeSchema} from '@thunderid/node';\nimport getClient from '../../getClient';\n\n/**\n * Server action to get the user attribute schema from `/users/me/meta`.\n * Used to render profile fields dynamically (labels, required/regex validation)\n * instead of falling back to raw, unlabeled attribute keys.\n */\nconst getUserSchemaAction = async (\n sessionId: string,\n): Promise<{data: {userSchema: Record<string, AttributeSchema> | null}; error: string | null; success: boolean}> => {\n try {\n const client = getClient();\n const userSchema: Record<string, AttributeSchema> | null = await client.getUserSchema(sessionId);\n return {data: {userSchema}, error: null, success: true};\n } catch (error) {\n return {\n data: {userSchema: null},\n error: 'Failed to get user schema',\n success: false,\n };\n }\n};\n\nexport default getUserSchemaAction;\n"],"mappings":";;;;;;;;;;;AAaA,MAAM,sBAAsB,OAC1B,cACkH;AAClH,KAAI;AAGF,SAAO;GAAC,MAAM,EAAC,YAD4C,MAD5CA,mBAAW,CAC8C,cAAc,UAAU,EACtE;GAAE,OAAO;GAAM,SAAS;GAAK;UAChD,OAAO;AACd,SAAO;GACL,MAAM,EAAC,YAAY,MAAK;GACxB,OAAO;GACP,SAAS;GACV;;;AAIL,kCAAe"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateUserCredentialsAction.d.ts","sourceRoot":"","sources":["../../../../src/server/actions/account/updateUserCredentialsAction.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,2BAA2B,EAA2B,MAAM,iBAAiB,CAAC;AAGtF,MAAM,WAAW,iCAAkC,SAAQ,2BAA2B;IACpF,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,QAAA,MAAM,2BAA2B,GAC/B,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,YAAY,MAAM,KACjB,OAAO,CAAC,iCAAiC,CAS3C,CAAC;AAEF,eAAe,2BAA2B,CAAC"}
@@ -1,10 +1,10 @@
1
1
  'use server';
2
2
 
3
3
 
4
- import getClient_default from "../getClient.js";
4
+ import getClient_default from "../../getClient.js";
5
5
  import { mapCredentialUpdateError } from "@thunderid/node";
6
6
 
7
- //#region src/server/actions/updateUserCredentialsAction.ts
7
+ //#region src/server/actions/account/updateUserCredentialsAction.ts
8
8
  /**
9
9
  * Server action to update one of the signed-in user's own credentials (e.g. `password`).
10
10
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateUserCredentialsAction.js","names":["getClient"],"sources":["../../../../src/server/actions/account/updateUserCredentialsAction.ts"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use server';\n\nimport {CredentialUpdateErrorResult, mapCredentialUpdateError} from '@thunderid/node';\nimport getClient from '../../getClient';\n\nexport interface UpdateUserCredentialsActionResult extends CredentialUpdateErrorResult {\n success: boolean;\n}\n\n/**\n * Server action to update one of the signed-in user's own credentials (e.g. `password`).\n *\n * Never throws across the server action boundary — a thrown class instance loses its\n * prototype chain crossing it, so `error instanceof ThunderIDAPIError` would no longer hold on\n * the client. Instead, the real error is mapped to a field/message here, server-side, while it\n * is still the genuine `ThunderIDAPIError` the core `updateMeCredentials` call threw, and only\n * the plain, serializable result crosses back.\n */\nconst updateUserCredentialsAction = async (\n payload: Record<string, string>,\n sessionId?: string,\n): Promise<UpdateUserCredentialsActionResult> => {\n try {\n const client = getClient();\n await client.updateUserCredentials(payload, sessionId);\n return {field: null, messageKey: '', success: true};\n } catch (error) {\n const {field, message, messageKey}: CredentialUpdateErrorResult = mapCredentialUpdateError(error);\n return {field, message, messageKey, success: false};\n }\n};\n\nexport default updateUserCredentialsAction;\n"],"mappings":";;;;;;;;;;;;;;;;AAqBA,MAAM,8BAA8B,OAClC,SACA,cAC+C;AAC/C,KAAI;AAEF,QADeA,mBAAW,CACb,sBAAsB,SAAS,UAAU;AACtD,SAAO;GAAC,OAAO;GAAM,YAAY;GAAI,SAAS;GAAK;UAC5C,OAAO;EACd,MAAM,EAAC,OAAO,SAAS,eAA2C,yBAAyB,MAAM;AACjG,SAAO;GAAC;GAAO;GAAS;GAAY,SAAS;GAAM;;;AAIvD,0CAAe"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateUserProfileAction.d.ts","sourceRoot":"","sources":["../../../../src/server/actions/account/updateUserProfileAction.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,qBAAqB,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAG5D;;;GAGG;AACH,QAAA,MAAM,uBAAuB,GAC3B,SAAS,qBAAqB,EAC9B,YAAY,MAAM,KACjB,OAAO,CAAC;IAAC,IAAI,EAAE;QAAC,IAAI,EAAE,IAAI,CAAA;KAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,CAc/D,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
@@ -1,9 +1,9 @@
1
1
  'use server';
2
2
 
3
3
 
4
- import getClient_default from "../getClient.js";
4
+ import getClient_default from "../../getClient.js";
5
5
 
6
- //#region src/server/actions/updateUserProfileAction.ts
6
+ //#region src/server/actions/account/updateUserProfileAction.ts
7
7
  /**
8
8
  * Server action to get the current user.
9
9
  * Returns the user profile if signed in.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateUserProfileAction.js","names":["getClient"],"sources":["../../../../src/server/actions/account/updateUserProfileAction.ts"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use server';\n\nimport {UpdateMeProfileConfig, User} from '@thunderid/node';\nimport getClient from '../../getClient';\n\n/**\n * Server action to get the current user.\n * Returns the user profile if signed in.\n */\nconst updateUserProfileAction = async (\n payload: UpdateMeProfileConfig,\n sessionId?: string,\n): Promise<{data: {user: User}; error: string; success: boolean}> => {\n try {\n const client = getClient();\n const user: User = await client.updateUserProfile(payload, sessionId);\n return {data: {user}, error: '', success: true};\n } catch (error) {\n return {\n data: {\n user: {},\n },\n error: `Failed to get user profile: ${error instanceof Error ? error.message : String(error)}`,\n success: false,\n };\n }\n};\n\nexport default updateUserProfileAction;\n"],"mappings":";;;;;;;;;;AAYA,MAAM,0BAA0B,OAC9B,SACA,cACmE;AACnE,KAAI;AAGF,SAAO;GAAC,MAAM,EAAC,MADI,MADJA,mBAAW,CACM,kBAAkB,SAAS,UAAU,EACjD;GAAE,OAAO;GAAI,SAAS;GAAK;UACxC,OAAO;AACd,SAAO;GACL,MAAM,EACJ,MAAM,EAAE,EACT;GACD,OAAO,+BAA+B,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM;GAC5F,SAAS;GACV;;;AAIL,sCAAe"}
@@ -1,4 +1,4 @@
1
- import { SelectPageActionResult } from './runSelectPageAction';
1
+ import { SelectPageActionResult } from '../runSelectPageAction';
2
2
  /**
3
3
  * Request from the browser. Carries only paging; the session comes from the request cookie and the flow
4
4
  * type is fixed to authentication on the server.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAuthFlowsAction.d.ts","sourceRoot":"","sources":["../../../../src/server/actions/auth/getAuthFlowsAction.ts"],"names":[],"mappings":"AAMA,OAA4B,EAAC,sBAAsB,EAAC,MAAM,wBAAwB,CAAC;AAEnF;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;AAE9D;;;;;GAKG;AACH,QAAA,MAAM,kBAAkB,GAAU,oBAAiB,yBAA8B,KAAG,OAAO,CAAC,wBAAwB,CASjH,CAAC;AAEJ,eAAe,kBAAkB,CAAC"}