hazo_auth 1.2.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (495) hide show
  1. package/README.md +383 -774
  2. package/dist/components/index.d.ts +3 -0
  3. package/dist/components/index.d.ts.map +1 -0
  4. package/dist/components/index.js +5 -0
  5. package/dist/components/layouts/email_verification/config/email_verification_field_config.d.ts +23 -0
  6. package/dist/components/layouts/email_verification/config/email_verification_field_config.d.ts.map +1 -0
  7. package/dist/components/layouts/email_verification/config/email_verification_field_config.js +44 -0
  8. package/dist/components/layouts/email_verification/hooks/use_email_verification.d.ts +31 -0
  9. package/dist/components/layouts/email_verification/hooks/use_email_verification.d.ts.map +1 -0
  10. package/dist/components/layouts/email_verification/hooks/use_email_verification.js +222 -0
  11. package/dist/components/layouts/email_verification/index.d.ts +23 -0
  12. package/dist/components/layouts/email_verification/index.d.ts.map +1 -0
  13. package/dist/components/layouts/email_verification/index.js +61 -0
  14. package/dist/components/layouts/forgot_password/config/forgot_password_field_config.d.ts +10 -0
  15. package/dist/components/layouts/forgot_password/config/forgot_password_field_config.d.ts.map +1 -0
  16. package/dist/components/layouts/forgot_password/config/forgot_password_field_config.js +33 -0
  17. package/dist/components/layouts/forgot_password/hooks/use_forgot_password_form.d.ts +22 -0
  18. package/dist/components/layouts/forgot_password/hooks/use_forgot_password_form.d.ts.map +1 -0
  19. package/dist/components/layouts/forgot_password/hooks/use_forgot_password_form.js +127 -0
  20. package/dist/components/layouts/forgot_password/index.d.ts +18 -0
  21. package/dist/components/layouts/forgot_password/index.d.ts.map +1 -0
  22. package/dist/components/layouts/forgot_password/index.js +43 -0
  23. package/dist/components/layouts/index.d.ts +16 -0
  24. package/dist/components/layouts/index.d.ts.map +1 -0
  25. package/dist/components/layouts/index.js +11 -0
  26. package/dist/components/layouts/login/config/login_field_config.d.ts +11 -0
  27. package/dist/components/layouts/login/config/login_field_config.d.ts.map +1 -0
  28. package/dist/components/layouts/login/config/login_field_config.js +42 -0
  29. package/dist/components/layouts/login/hooks/use_login_form.d.ts +34 -0
  30. package/dist/components/layouts/login/hooks/use_login_form.d.ts.map +1 -0
  31. package/dist/components/layouts/login/hooks/use_login_form.js +196 -0
  32. package/dist/components/layouts/login/index.d.ts +31 -0
  33. package/dist/components/layouts/login/index.d.ts.map +1 -0
  34. package/dist/components/layouts/login/index.js +58 -0
  35. package/dist/components/layouts/my_settings/components/editable_field.d.ts +19 -0
  36. package/dist/components/layouts/my_settings/components/editable_field.d.ts.map +1 -0
  37. package/dist/components/layouts/my_settings/components/editable_field.js +73 -0
  38. package/dist/components/layouts/my_settings/components/password_change_dialog.d.ts +28 -0
  39. package/dist/components/layouts/my_settings/components/password_change_dialog.d.ts.map +1 -0
  40. package/dist/components/layouts/my_settings/components/password_change_dialog.js +138 -0
  41. package/dist/components/layouts/my_settings/components/profile_picture_dialog.d.ts +42 -0
  42. package/dist/components/layouts/my_settings/components/profile_picture_dialog.d.ts.map +1 -0
  43. package/dist/components/layouts/my_settings/components/profile_picture_dialog.js +198 -0
  44. package/dist/components/layouts/my_settings/components/profile_picture_display.d.ts +16 -0
  45. package/dist/components/layouts/my_settings/components/profile_picture_display.d.ts.map +1 -0
  46. package/dist/components/layouts/my_settings/components/profile_picture_display.js +33 -0
  47. package/dist/components/layouts/my_settings/components/profile_picture_gravatar_tab.d.ts +17 -0
  48. package/dist/components/layouts/my_settings/components/profile_picture_gravatar_tab.d.ts.map +1 -0
  49. package/dist/components/layouts/my_settings/components/profile_picture_gravatar_tab.js +48 -0
  50. package/dist/components/layouts/my_settings/components/profile_picture_library_tab.d.ts +21 -0
  51. package/dist/components/layouts/my_settings/components/profile_picture_library_tab.d.ts.map +1 -0
  52. package/dist/components/layouts/my_settings/components/profile_picture_library_tab.js +144 -0
  53. package/dist/components/layouts/my_settings/components/profile_picture_upload_tab.d.ts +23 -0
  54. package/dist/components/layouts/my_settings/components/profile_picture_upload_tab.d.ts.map +1 -0
  55. package/dist/components/layouts/my_settings/components/profile_picture_upload_tab.js +169 -0
  56. package/dist/components/layouts/my_settings/config/my_settings_field_config.d.ts +19 -0
  57. package/dist/components/layouts/my_settings/config/my_settings_field_config.d.ts.map +1 -0
  58. package/dist/components/layouts/my_settings/config/my_settings_field_config.js +26 -0
  59. package/dist/components/layouts/my_settings/hooks/use_my_settings.d.ts +46 -0
  60. package/dist/components/layouts/my_settings/hooks/use_my_settings.d.ts.map +1 -0
  61. package/dist/components/layouts/my_settings/hooks/use_my_settings.js +354 -0
  62. package/dist/components/layouts/my_settings/index.d.ts +64 -0
  63. package/dist/components/layouts/my_settings/index.d.ts.map +1 -0
  64. package/dist/components/layouts/my_settings/index.js +65 -0
  65. package/dist/components/layouts/register/config/register_field_config.d.ts +14 -0
  66. package/dist/components/layouts/register/config/register_field_config.d.ts.map +1 -0
  67. package/dist/components/layouts/register/config/register_field_config.js +69 -0
  68. package/dist/components/layouts/register/hooks/use_register_form.d.ts +30 -0
  69. package/dist/components/layouts/register/hooks/use_register_form.d.ts.map +1 -0
  70. package/dist/components/layouts/register/hooks/use_register_form.js +184 -0
  71. package/dist/components/layouts/register/index.d.ts +23 -0
  72. package/dist/components/layouts/register/index.d.ts.map +1 -0
  73. package/dist/components/layouts/register/index.js +58 -0
  74. package/dist/components/layouts/reset_password/config/reset_password_field_config.d.ts +13 -0
  75. package/dist/components/layouts/reset_password/config/reset_password_field_config.d.ts.map +1 -0
  76. package/dist/components/layouts/reset_password/config/reset_password_field_config.js +53 -0
  77. package/dist/components/layouts/reset_password/hooks/use_reset_password_form.d.ts +28 -0
  78. package/dist/components/layouts/reset_password/hooks/use_reset_password_form.d.ts.map +1 -0
  79. package/dist/components/layouts/reset_password/hooks/use_reset_password_form.js +201 -0
  80. package/dist/components/layouts/reset_password/index.d.ts +23 -0
  81. package/dist/components/layouts/reset_password/index.d.ts.map +1 -0
  82. package/dist/components/layouts/reset_password/index.js +53 -0
  83. package/dist/components/layouts/shared/components/already_logged_in_guard.d.ts +20 -0
  84. package/dist/components/layouts/shared/components/already_logged_in_guard.d.ts.map +1 -0
  85. package/dist/components/layouts/shared/components/already_logged_in_guard.js +32 -0
  86. package/dist/components/layouts/shared/components/auth_page_shell.d.ts +7 -0
  87. package/dist/components/layouts/shared/components/auth_page_shell.d.ts.map +1 -0
  88. package/dist/components/layouts/shared/components/auth_page_shell.js +12 -0
  89. package/dist/components/layouts/shared/components/field_error_message.d.ts +7 -0
  90. package/dist/components/layouts/shared/components/field_error_message.d.ts.map +1 -0
  91. package/dist/components/layouts/shared/components/field_error_message.js +6 -0
  92. package/dist/components/layouts/shared/components/form_action_buttons.d.ts +14 -0
  93. package/dist/components/layouts/shared/components/form_action_buttons.d.ts.map +1 -0
  94. package/dist/components/layouts/shared/components/form_action_buttons.js +15 -0
  95. package/dist/components/layouts/shared/components/form_field_wrapper.d.ts +11 -0
  96. package/dist/components/layouts/shared/components/form_field_wrapper.d.ts.map +1 -0
  97. package/dist/components/layouts/shared/components/form_field_wrapper.js +9 -0
  98. package/dist/components/layouts/shared/components/form_header.d.ts +10 -0
  99. package/dist/components/layouts/shared/components/form_header.d.ts.map +1 -0
  100. package/dist/components/layouts/shared/components/form_header.js +5 -0
  101. package/dist/components/layouts/shared/components/logout_button.d.ts +7 -0
  102. package/dist/components/layouts/shared/components/logout_button.d.ts.map +1 -0
  103. package/dist/components/layouts/shared/components/logout_button.js +44 -0
  104. package/dist/components/layouts/shared/components/password_field.d.ts +13 -0
  105. package/dist/components/layouts/shared/components/password_field.d.ts.map +1 -0
  106. package/dist/components/layouts/shared/components/password_field.js +13 -0
  107. package/dist/components/layouts/shared/components/profile_pic_menu.d.ts +22 -0
  108. package/dist/components/layouts/shared/components/profile_pic_menu.d.ts.map +1 -0
  109. package/dist/components/layouts/shared/components/profile_pic_menu.js +169 -0
  110. package/dist/components/layouts/shared/components/profile_pic_menu_wrapper.d.ts +12 -0
  111. package/dist/components/layouts/shared/components/profile_pic_menu_wrapper.d.ts.map +1 -0
  112. package/dist/components/layouts/shared/components/profile_pic_menu_wrapper.js +16 -0
  113. package/dist/components/layouts/shared/components/sidebar_layout_wrapper.d.ts +6 -0
  114. package/dist/components/layouts/shared/components/sidebar_layout_wrapper.d.ts.map +1 -0
  115. package/dist/components/layouts/shared/components/sidebar_layout_wrapper.js +15 -0
  116. package/dist/components/layouts/shared/components/standalone_layout_wrapper.d.ts +11 -0
  117. package/dist/components/layouts/shared/components/standalone_layout_wrapper.d.ts.map +1 -0
  118. package/dist/components/layouts/shared/components/standalone_layout_wrapper.js +10 -0
  119. package/dist/components/layouts/shared/components/two_column_auth_layout.d.ts +12 -0
  120. package/dist/components/layouts/shared/components/two_column_auth_layout.d.ts.map +1 -0
  121. package/dist/components/layouts/shared/components/two_column_auth_layout.js +8 -0
  122. package/dist/components/layouts/shared/components/unauthorized_guard.d.ts +14 -0
  123. package/dist/components/layouts/shared/components/unauthorized_guard.d.ts.map +1 -0
  124. package/dist/components/layouts/shared/components/unauthorized_guard.js +30 -0
  125. package/dist/components/layouts/shared/components/visual_panel.d.ts +9 -0
  126. package/dist/components/layouts/shared/components/visual_panel.d.ts.map +1 -0
  127. package/dist/components/layouts/shared/components/visual_panel.js +10 -0
  128. package/dist/components/layouts/shared/config/layout_customization.d.ts +38 -0
  129. package/dist/components/layouts/shared/config/layout_customization.d.ts.map +1 -0
  130. package/dist/components/layouts/shared/config/layout_customization.js +19 -0
  131. package/dist/components/layouts/shared/data/layout_data_client.d.ts +6 -0
  132. package/dist/components/layouts/shared/data/layout_data_client.d.ts.map +1 -0
  133. package/dist/components/layouts/shared/data/layout_data_client.js +9 -0
  134. package/dist/components/layouts/shared/hooks/use_auth_status.d.ts +20 -0
  135. package/dist/components/layouts/shared/hooks/use_auth_status.d.ts.map +1 -0
  136. package/dist/components/layouts/shared/hooks/use_auth_status.js +71 -0
  137. package/dist/components/layouts/shared/hooks/use_hazo_auth.d.ts +48 -0
  138. package/dist/components/layouts/shared/hooks/use_hazo_auth.d.ts.map +1 -0
  139. package/dist/components/layouts/shared/hooks/use_hazo_auth.js +90 -0
  140. package/dist/components/layouts/shared/index.d.ts +24 -0
  141. package/dist/components/layouts/shared/index.d.ts.map +1 -0
  142. package/dist/components/layouts/shared/index.js +27 -0
  143. package/dist/components/layouts/shared/utils/ip_address.d.ts +7 -0
  144. package/dist/components/layouts/shared/utils/ip_address.d.ts.map +1 -0
  145. package/dist/components/layouts/shared/utils/ip_address.js +34 -0
  146. package/dist/components/layouts/shared/utils/validation.d.ts +15 -0
  147. package/dist/components/layouts/shared/utils/validation.d.ts.map +1 -0
  148. package/dist/components/layouts/shared/utils/validation.js +45 -0
  149. package/dist/components/layouts/user_management/components/roles_matrix.d.ts +29 -0
  150. package/dist/components/layouts/user_management/components/roles_matrix.d.ts.map +1 -0
  151. package/dist/components/layouts/user_management/components/roles_matrix.js +287 -0
  152. package/dist/components/layouts/user_management/index.d.ts +13 -0
  153. package/dist/components/layouts/user_management/index.d.ts.map +1 -0
  154. package/dist/components/layouts/user_management/index.js +495 -0
  155. package/dist/components/ui/alert-dialog.d.ts +21 -0
  156. package/dist/components/ui/alert-dialog.d.ts.map +1 -0
  157. package/dist/components/ui/alert-dialog.js +62 -0
  158. package/dist/components/ui/avatar.d.ts +7 -0
  159. package/dist/components/ui/avatar.d.ts.map +1 -0
  160. package/dist/components/ui/avatar.js +32 -0
  161. package/dist/components/ui/button.d.ts +12 -0
  162. package/dist/components/ui/button.d.ts.map +1 -0
  163. package/dist/components/ui/button.js +45 -0
  164. package/dist/components/ui/checkbox.d.ts +5 -0
  165. package/dist/components/ui/checkbox.d.ts.map +1 -0
  166. package/dist/components/ui/checkbox.js +23 -0
  167. package/dist/components/ui/dialog.d.ts +20 -0
  168. package/dist/components/ui/dialog.d.ts.map +1 -0
  169. package/dist/components/ui/dialog.js +52 -0
  170. package/dist/components/ui/dropdown-menu.d.ts +28 -0
  171. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  172. package/dist/components/ui/dropdown-menu.js +72 -0
  173. package/dist/components/ui/hazo_ui_tooltip.d.ts +26 -0
  174. package/dist/components/ui/hazo_ui_tooltip.d.ts.map +1 -0
  175. package/dist/components/ui/hazo_ui_tooltip.js +17 -0
  176. package/dist/components/ui/index.d.ts +20 -0
  177. package/dist/components/ui/index.d.ts.map +1 -0
  178. package/dist/components/ui/index.js +21 -0
  179. package/dist/components/ui/input.d.ts +4 -0
  180. package/dist/components/ui/input.d.ts.map +1 -0
  181. package/dist/components/ui/input.js +20 -0
  182. package/dist/components/ui/label.d.ts +6 -0
  183. package/dist/components/ui/label.d.ts.map +1 -0
  184. package/dist/components/ui/label.js +24 -0
  185. package/dist/components/ui/separator.d.ts +5 -0
  186. package/dist/components/ui/separator.d.ts.map +1 -0
  187. package/dist/components/ui/separator.js +22 -0
  188. package/dist/components/ui/sheet.d.ts +23 -0
  189. package/dist/components/ui/sheet.d.ts.map +1 -0
  190. package/dist/components/ui/sheet.js +66 -0
  191. package/dist/components/ui/sidebar.d.ts +66 -0
  192. package/dist/components/ui/sidebar.d.ts.map +1 -0
  193. package/dist/components/ui/sidebar.js +267 -0
  194. package/dist/components/ui/skeleton.d.ts +3 -0
  195. package/dist/components/ui/skeleton.d.ts.map +1 -0
  196. package/dist/components/ui/skeleton.js +18 -0
  197. package/dist/components/ui/sonner.d.ts +5 -0
  198. package/dist/components/ui/sonner.d.ts.map +1 -0
  199. package/dist/components/ui/sonner.js +28 -0
  200. package/dist/components/ui/switch.d.ts +5 -0
  201. package/dist/components/ui/switch.d.ts.map +1 -0
  202. package/dist/components/ui/switch.js +22 -0
  203. package/dist/components/ui/table.d.ts +11 -0
  204. package/dist/components/ui/table.d.ts.map +1 -0
  205. package/dist/components/ui/table.js +55 -0
  206. package/dist/components/ui/tabs.d.ts +8 -0
  207. package/dist/components/ui/tabs.d.ts.map +1 -0
  208. package/dist/components/ui/tabs.js +33 -0
  209. package/dist/components/ui/tooltip.d.ts +8 -0
  210. package/dist/components/ui/tooltip.d.ts.map +1 -0
  211. package/dist/components/ui/tooltip.js +25 -0
  212. package/dist/components/ui/vertical-tabs.d.ts +8 -0
  213. package/dist/components/ui/vertical-tabs.d.ts.map +1 -0
  214. package/dist/components/ui/vertical-tabs.js +37 -0
  215. package/dist/hooks/use-mobile.d.ts +2 -0
  216. package/dist/hooks/use-mobile.d.ts.map +1 -0
  217. package/dist/hooks/use-mobile.js +15 -0
  218. package/dist/index.d.ts +3 -0
  219. package/dist/index.d.ts.map +1 -0
  220. package/dist/index.js +5 -0
  221. package/dist/lib/already_logged_in_config.server.d.ts +14 -0
  222. package/dist/lib/already_logged_in_config.server.d.ts.map +1 -0
  223. package/dist/lib/already_logged_in_config.server.js +29 -0
  224. package/dist/lib/app_logger.d.ts +12 -0
  225. package/dist/lib/app_logger.d.ts.map +1 -0
  226. package/dist/lib/app_logger.js +14 -0
  227. package/dist/lib/auth/auth_cache.d.ts +83 -0
  228. package/dist/lib/auth/auth_cache.d.ts.map +1 -0
  229. package/dist/lib/auth/auth_cache.js +158 -0
  230. package/dist/lib/auth/auth_rate_limiter.d.ts +39 -0
  231. package/dist/lib/auth/auth_rate_limiter.d.ts.map +1 -0
  232. package/dist/lib/auth/auth_rate_limiter.js +95 -0
  233. package/dist/lib/auth/auth_types.d.ts +53 -0
  234. package/dist/lib/auth/auth_types.d.ts.map +1 -0
  235. package/dist/lib/auth/auth_types.js +16 -0
  236. package/dist/lib/auth/auth_utils.server.d.ts +47 -0
  237. package/dist/lib/auth/auth_utils.server.d.ts.map +1 -0
  238. package/dist/lib/auth/auth_utils.server.js +150 -0
  239. package/dist/lib/auth/hazo_get_auth.server.d.ts +12 -0
  240. package/dist/lib/auth/hazo_get_auth.server.d.ts.map +1 -0
  241. package/dist/lib/auth/hazo_get_auth.server.js +256 -0
  242. package/dist/lib/auth/index.d.ts +9 -0
  243. package/dist/lib/auth/index.d.ts.map +1 -0
  244. package/dist/lib/auth/index.js +12 -0
  245. package/dist/lib/auth/server_auth.d.ts +26 -0
  246. package/dist/lib/auth/server_auth.d.ts.map +1 -0
  247. package/dist/lib/auth/server_auth.js +62 -0
  248. package/dist/lib/auth_utility_config.server.d.ts +20 -0
  249. package/dist/lib/auth_utility_config.server.d.ts.map +1 -0
  250. package/dist/lib/auth_utility_config.server.js +64 -0
  251. package/dist/lib/config/config_loader.server.d.ts +44 -0
  252. package/dist/lib/config/config_loader.server.d.ts.map +1 -0
  253. package/dist/lib/config/config_loader.server.js +122 -0
  254. package/dist/lib/email_verification_config.server.d.ts +14 -0
  255. package/dist/lib/email_verification_config.server.d.ts.map +1 -0
  256. package/dist/lib/email_verification_config.server.js +20 -0
  257. package/dist/lib/file_types_config.server.d.ts +11 -0
  258. package/dist/lib/file_types_config.server.d.ts.map +1 -0
  259. package/dist/lib/file_types_config.server.js +16 -0
  260. package/dist/lib/forgot_password_config.server.d.ts +14 -0
  261. package/dist/lib/forgot_password_config.server.d.ts.map +1 -0
  262. package/dist/lib/forgot_password_config.server.js +20 -0
  263. package/dist/lib/hazo_connect_instance.server.d.ts +17 -0
  264. package/dist/lib/hazo_connect_instance.server.d.ts.map +1 -0
  265. package/dist/lib/hazo_connect_instance.server.js +88 -0
  266. package/dist/lib/hazo_connect_setup.d.ts +2 -0
  267. package/dist/lib/hazo_connect_setup.d.ts.map +1 -0
  268. package/dist/lib/hazo_connect_setup.js +49 -0
  269. package/dist/lib/hazo_connect_setup.server.d.ts +20 -0
  270. package/dist/lib/hazo_connect_setup.server.d.ts.map +1 -0
  271. package/dist/lib/hazo_connect_setup.server.js +138 -0
  272. package/dist/lib/index.d.ts +28 -0
  273. package/dist/lib/index.d.ts.map +1 -0
  274. package/dist/lib/index.js +35 -0
  275. package/dist/lib/login_config.server.d.ts +20 -0
  276. package/dist/lib/login_config.server.d.ts.map +1 -0
  277. package/dist/lib/login_config.server.js +37 -0
  278. package/dist/lib/messages_config.server.d.ts +13 -0
  279. package/dist/lib/messages_config.server.d.ts.map +1 -0
  280. package/dist/lib/messages_config.server.js +18 -0
  281. package/dist/lib/migrations/apply_migration.d.ts +22 -0
  282. package/dist/lib/migrations/apply_migration.d.ts.map +1 -0
  283. package/dist/lib/migrations/apply_migration.js +78 -0
  284. package/dist/lib/my_settings_config.server.d.ts +65 -0
  285. package/dist/lib/my_settings_config.server.d.ts.map +1 -0
  286. package/dist/lib/my_settings_config.server.js +67 -0
  287. package/dist/lib/password_requirements_config.server.d.ts +15 -0
  288. package/dist/lib/password_requirements_config.server.d.ts.map +1 -0
  289. package/dist/lib/password_requirements_config.server.js +26 -0
  290. package/dist/lib/profile_pic_menu_config.server.d.ts +26 -0
  291. package/dist/lib/profile_pic_menu_config.server.d.ts.map +1 -0
  292. package/dist/lib/profile_pic_menu_config.server.js +95 -0
  293. package/dist/lib/profile_picture_config.server.d.ts +16 -0
  294. package/dist/lib/profile_picture_config.server.d.ts.map +1 -0
  295. package/dist/lib/profile_picture_config.server.js +40 -0
  296. package/dist/lib/register_config.server.d.ts +24 -0
  297. package/dist/lib/register_config.server.d.ts.map +1 -0
  298. package/dist/lib/register_config.server.js +39 -0
  299. package/dist/lib/reset_password_config.server.d.ts +25 -0
  300. package/dist/lib/reset_password_config.server.d.ts.map +1 -0
  301. package/dist/lib/reset_password_config.server.js +38 -0
  302. package/dist/lib/services/email_service.d.ts +44 -0
  303. package/dist/lib/services/email_service.d.ts.map +1 -0
  304. package/dist/lib/services/email_service.js +480 -0
  305. package/dist/lib/services/email_verification_service.d.ts +35 -0
  306. package/dist/lib/services/email_verification_service.d.ts.map +1 -0
  307. package/dist/lib/services/email_verification_service.js +208 -0
  308. package/dist/lib/services/index.d.ts +13 -0
  309. package/dist/lib/services/index.d.ts.map +1 -0
  310. package/dist/lib/services/index.js +14 -0
  311. package/dist/lib/services/login_service.d.ts +20 -0
  312. package/dist/lib/services/login_service.d.ts.map +1 -0
  313. package/dist/lib/services/login_service.js +94 -0
  314. package/dist/lib/services/password_change_service.d.ts +19 -0
  315. package/dist/lib/services/password_change_service.d.ts.map +1 -0
  316. package/dist/lib/services/password_change_service.js +118 -0
  317. package/dist/lib/services/password_reset_service.d.ts +52 -0
  318. package/dist/lib/services/password_reset_service.d.ts.map +1 -0
  319. package/dist/lib/services/password_reset_service.js +318 -0
  320. package/dist/lib/services/profile_picture_remove_service.d.ts +15 -0
  321. package/dist/lib/services/profile_picture_remove_service.d.ts.map +1 -0
  322. package/dist/lib/services/profile_picture_remove_service.js +94 -0
  323. package/dist/lib/services/profile_picture_service.d.ts +45 -0
  324. package/dist/lib/services/profile_picture_service.d.ts.map +1 -0
  325. package/dist/lib/services/profile_picture_service.js +183 -0
  326. package/dist/lib/services/profile_picture_source_mapper.d.ts +23 -0
  327. package/dist/lib/services/profile_picture_source_mapper.d.ts.map +1 -0
  328. package/dist/lib/services/profile_picture_source_mapper.js +45 -0
  329. package/dist/lib/services/registration_service.d.ts +20 -0
  330. package/dist/lib/services/registration_service.d.ts.map +1 -0
  331. package/dist/lib/services/registration_service.js +147 -0
  332. package/dist/lib/services/token_service.d.ts +20 -0
  333. package/dist/lib/services/token_service.d.ts.map +1 -0
  334. package/dist/lib/services/token_service.js +201 -0
  335. package/dist/lib/services/user_profiles_service.d.ts +31 -0
  336. package/dist/lib/services/user_profiles_service.d.ts.map +1 -0
  337. package/dist/lib/services/user_profiles_service.js +99 -0
  338. package/dist/lib/services/user_update_service.d.ts +23 -0
  339. package/dist/lib/services/user_update_service.d.ts.map +1 -0
  340. package/dist/lib/services/user_update_service.js +103 -0
  341. package/dist/lib/ui_shell_config.server.d.ts +16 -0
  342. package/dist/lib/ui_shell_config.server.d.ts.map +1 -0
  343. package/dist/lib/ui_shell_config.server.js +28 -0
  344. package/dist/lib/ui_sizes_config.server.d.ts +17 -0
  345. package/dist/lib/ui_sizes_config.server.d.ts.map +1 -0
  346. package/dist/lib/ui_sizes_config.server.js +22 -0
  347. package/dist/lib/user_fields_config.server.d.ts +13 -0
  348. package/dist/lib/user_fields_config.server.d.ts.map +1 -0
  349. package/dist/lib/user_fields_config.server.js +21 -0
  350. package/dist/lib/user_management_config.server.d.ts +10 -0
  351. package/dist/lib/user_management_config.server.d.ts.map +1 -0
  352. package/dist/lib/user_management_config.server.js +26 -0
  353. package/dist/lib/utils/api_route_helpers.d.ts +13 -0
  354. package/dist/lib/utils/api_route_helpers.d.ts.map +1 -0
  355. package/dist/lib/utils/api_route_helpers.js +58 -0
  356. package/dist/lib/utils/error_sanitizer.d.ts +16 -0
  357. package/dist/lib/utils/error_sanitizer.d.ts.map +1 -0
  358. package/dist/lib/utils/error_sanitizer.js +39 -0
  359. package/dist/lib/utils.d.ts +4 -0
  360. package/dist/lib/utils.d.ts.map +1 -0
  361. package/dist/lib/utils.js +9 -0
  362. package/dist/server/config/config_loader.d.ts +26 -0
  363. package/dist/server/config/config_loader.d.ts.map +1 -0
  364. package/dist/server/config/config_loader.js +329 -0
  365. package/dist/server/index.d.ts +2 -0
  366. package/dist/server/index.d.ts.map +1 -0
  367. package/dist/server/index.js +32 -0
  368. package/dist/server/logging/logger_service.d.ts +3 -0
  369. package/dist/server/logging/logger_service.d.ts.map +1 -0
  370. package/dist/server/logging/logger_service.js +37 -0
  371. package/dist/server/routes/root_router.d.ts +3 -0
  372. package/dist/server/routes/root_router.d.ts.map +1 -0
  373. package/dist/server/routes/root_router.js +14 -0
  374. package/dist/server/server.d.ts +3 -0
  375. package/dist/server/server.d.ts.map +1 -0
  376. package/dist/server/server.js +25 -0
  377. package/dist/server/types/app_types.d.ts +53 -0
  378. package/dist/server/types/app_types.d.ts.map +1 -0
  379. package/dist/server/types/app_types.js +1 -0
  380. package/migrations/003_add_url_on_logon_to_hazo_users.sql +8 -0
  381. package/next.config.mjs +12 -0
  382. package/package.json +39 -2
  383. package/scripts/init_users.ts +9 -9
  384. package/src/components/index.ts +7 -0
  385. package/src/components/layouts/email_verification/config/email_verification_field_config.ts +2 -2
  386. package/src/components/layouts/email_verification/hooks/use_email_verification.ts +3 -3
  387. package/src/components/layouts/email_verification/index.tsx +11 -11
  388. package/src/components/layouts/forgot_password/config/forgot_password_field_config.ts +2 -2
  389. package/src/components/layouts/forgot_password/hooks/use_forgot_password_form.ts +3 -3
  390. package/src/components/layouts/forgot_password/index.tsx +10 -10
  391. package/src/components/layouts/index.ts +26 -0
  392. package/src/components/layouts/login/config/login_field_config.ts +2 -2
  393. package/src/components/layouts/login/hooks/use_login_form.ts +5 -5
  394. package/src/components/layouts/login/index.tsx +11 -11
  395. package/src/components/layouts/my_settings/components/editable_field.tsx +3 -3
  396. package/src/components/layouts/my_settings/components/password_change_dialog.tsx +5 -5
  397. package/src/components/layouts/my_settings/components/profile_picture_dialog.tsx +7 -7
  398. package/src/components/layouts/my_settings/components/profile_picture_display.tsx +2 -2
  399. package/src/components/layouts/my_settings/components/profile_picture_gravatar_tab.tsx +3 -3
  400. package/src/components/layouts/my_settings/components/profile_picture_library_tab.tsx +5 -5
  401. package/src/components/layouts/my_settings/components/profile_picture_upload_tab.tsx +4 -4
  402. package/src/components/layouts/my_settings/config/my_settings_field_config.ts +2 -2
  403. package/src/components/layouts/my_settings/hooks/use_my_settings.ts +2 -2
  404. package/src/components/layouts/my_settings/index.tsx +10 -10
  405. package/src/components/layouts/register/config/register_field_config.ts +2 -2
  406. package/src/components/layouts/register/hooks/use_register_form.ts +4 -4
  407. package/src/components/layouts/register/index.tsx +11 -11
  408. package/src/components/layouts/reset_password/config/reset_password_field_config.ts +2 -2
  409. package/src/components/layouts/reset_password/hooks/use_reset_password_form.ts +4 -4
  410. package/src/components/layouts/reset_password/index.tsx +10 -10
  411. package/src/components/layouts/shared/components/already_logged_in_guard.tsx +4 -4
  412. package/src/components/layouts/shared/components/auth_page_shell.tsx +3 -3
  413. package/src/components/layouts/shared/components/form_action_buttons.tsx +2 -2
  414. package/src/components/layouts/shared/components/form_field_wrapper.tsx +2 -2
  415. package/src/components/layouts/shared/components/logout_button.tsx +2 -2
  416. package/src/components/layouts/shared/components/password_field.tsx +3 -3
  417. package/src/components/layouts/shared/components/profile_pic_menu.tsx +5 -5
  418. package/src/components/layouts/shared/components/profile_pic_menu_wrapper.tsx +2 -2
  419. package/src/components/layouts/shared/components/sidebar_layout_wrapper.tsx +3 -3
  420. package/src/components/layouts/shared/components/standalone_layout_wrapper.tsx +1 -1
  421. package/src/components/layouts/shared/components/two_column_auth_layout.tsx +1 -1
  422. package/src/components/layouts/shared/components/unauthorized_guard.tsx +2 -2
  423. package/src/components/layouts/shared/hooks/use_hazo_auth.ts +1 -1
  424. package/src/components/layouts/shared/index.ts +34 -0
  425. package/src/components/layouts/shared/utils/validation.ts +1 -1
  426. package/src/components/layouts/user_management/components/roles_matrix.tsx +7 -7
  427. package/src/components/layouts/user_management/index.tsx +11 -11
  428. package/src/components/ui/alert-dialog.tsx +2 -2
  429. package/src/components/ui/avatar.tsx +1 -1
  430. package/src/components/ui/button.tsx +1 -1
  431. package/src/components/ui/checkbox.tsx +1 -1
  432. package/src/components/ui/dialog.tsx +1 -1
  433. package/src/components/ui/dropdown-menu.tsx +1 -1
  434. package/src/components/ui/hazo_ui_tooltip.tsx +1 -1
  435. package/src/components/ui/index.ts +22 -0
  436. package/src/components/ui/input.tsx +1 -1
  437. package/src/components/ui/label.tsx +1 -1
  438. package/src/components/ui/separator.tsx +1 -1
  439. package/src/components/ui/sheet.tsx +1 -1
  440. package/src/components/ui/sidebar.tsx +8 -8
  441. package/src/components/ui/skeleton.tsx +1 -1
  442. package/src/components/ui/switch.tsx +1 -1
  443. package/src/components/ui/table.tsx +1 -1
  444. package/src/components/ui/tabs.tsx +1 -1
  445. package/src/components/ui/tooltip.tsx +1 -1
  446. package/src/components/ui/vertical-tabs.tsx +1 -1
  447. package/src/index.ts +7 -0
  448. package/src/lib/already_logged_in_config.server.ts +1 -1
  449. package/src/lib/app_logger.ts +1 -1
  450. package/src/lib/auth/auth_cache.ts +1 -1
  451. package/src/lib/auth/auth_utils.server.ts +2 -2
  452. package/src/lib/auth/hazo_get_auth.server.ts +8 -8
  453. package/src/lib/auth/index.ts +23 -0
  454. package/src/lib/auth/server_auth.ts +2 -2
  455. package/src/lib/auth_utility_config.server.ts +1 -1
  456. package/src/lib/config/config_loader.server.ts +1 -1
  457. package/src/lib/email_verification_config.server.ts +1 -1
  458. package/src/lib/file_types_config.server.ts +1 -1
  459. package/src/lib/forgot_password_config.server.ts +1 -1
  460. package/src/lib/hazo_connect_instance.server.ts +2 -2
  461. package/src/lib/hazo_connect_setup.server.ts +2 -2
  462. package/src/lib/index.ts +44 -0
  463. package/src/lib/login_config.server.ts +2 -2
  464. package/src/lib/messages_config.server.ts +1 -1
  465. package/src/lib/my_settings_config.server.ts +7 -7
  466. package/src/lib/password_requirements_config.server.ts +1 -1
  467. package/src/lib/profile_pic_menu_config.server.ts +1 -1
  468. package/src/lib/profile_picture_config.server.ts +2 -2
  469. package/src/lib/register_config.server.ts +4 -4
  470. package/src/lib/reset_password_config.server.ts +3 -3
  471. package/src/lib/services/email_service.ts +2 -2
  472. package/src/lib/services/email_verification_service.ts +3 -3
  473. package/src/lib/services/index.ts +15 -0
  474. package/src/lib/services/login_service.ts +3 -3
  475. package/src/lib/services/password_change_service.ts +3 -3
  476. package/src/lib/services/password_reset_service.ts +3 -3
  477. package/src/lib/services/profile_picture_remove_service.ts +3 -3
  478. package/src/lib/services/profile_picture_service.ts +5 -5
  479. package/src/lib/services/registration_service.ts +8 -8
  480. package/src/lib/services/token_service.ts +2 -2
  481. package/src/lib/services/user_profiles_service.ts +2 -2
  482. package/src/lib/services/user_update_service.ts +4 -4
  483. package/src/lib/ui_shell_config.server.ts +1 -1
  484. package/src/lib/ui_sizes_config.server.ts +1 -1
  485. package/src/lib/user_fields_config.server.ts +1 -1
  486. package/src/lib/user_management_config.server.ts +1 -2
  487. package/src/lib/utils/error_sanitizer.ts +1 -1
  488. package/src/routes/index.ts +34 -0
  489. package/src/server/config/config_loader.ts +2 -2
  490. package/src/server/index.ts +2 -2
  491. package/src/server/logging/logger_service.ts +1 -1
  492. package/src/server/server.ts +2 -2
  493. package/src/server/types/express.d.ts +1 -1
  494. package/tsconfig.build.json +39 -0
  495. package/tsconfig.json +5 -1
@@ -0,0 +1,138 @@
1
+ // file_description: server-only helper to create hazo_connect instance (imports server-side code)
2
+ // This file should only be imported in server contexts (API routes, server components)
3
+ // Reads configuration from hazo_auth_config.ini using hazo_config
4
+ // section: imports
5
+ import { createHazoConnect } from "hazo_connect/server";
6
+ import path from "path";
7
+ import { create_app_logger } from "hazo_auth/lib/app_logger";
8
+ import { read_config_section } from "hazo_auth/lib/config/config_loader.server";
9
+ // section: helpers
10
+ /**
11
+ * Reads hazo_connect configuration from hazo_auth_config.ini file
12
+ * Falls back to environment variables if hazo_auth_config.ini is not found or section is missing
13
+ * @returns Configuration options for hazo_connect
14
+ */
15
+ function get_hazo_connect_config() {
16
+ const default_config_path = path.resolve(process.cwd(), "hazo_auth_config.ini");
17
+ let hazo_connect_section;
18
+ // Try to read from hazo_auth_config.ini
19
+ const logger = create_app_logger();
20
+ hazo_connect_section = read_config_section("hazo_connect");
21
+ // Read type (defaults to sqlite)
22
+ const type = ((hazo_connect_section === null || hazo_connect_section === void 0 ? void 0 : hazo_connect_section.type) ||
23
+ process.env.HAZO_CONNECT_TYPE ||
24
+ "sqlite").toLowerCase();
25
+ // Read enable_admin_ui (defaults to true)
26
+ const enable_admin_ui_str = (hazo_connect_section === null || hazo_connect_section === void 0 ? void 0 : hazo_connect_section.enable_admin_ui) ||
27
+ process.env.HAZO_CONNECT_ENABLE_ADMIN_UI ||
28
+ "true";
29
+ const enableAdminUi = enable_admin_ui_str.toLowerCase() === "true";
30
+ // Read read_only (defaults to false)
31
+ const read_only_str = (hazo_connect_section === null || hazo_connect_section === void 0 ? void 0 : hazo_connect_section.read_only) ||
32
+ process.env.HAZO_CONNECT_SQLITE_READONLY ||
33
+ "false";
34
+ const readOnly = read_only_str.toLowerCase() === "true";
35
+ // SQLite configuration
36
+ if (type === "sqlite") {
37
+ const sqlite_path_config = (hazo_connect_section === null || hazo_connect_section === void 0 ? void 0 : hazo_connect_section.sqlite_path) || process.env.HAZO_CONNECT_SQLITE_PATH;
38
+ let sqlite_path;
39
+ if (sqlite_path_config) {
40
+ // If path is absolute, use as-is; otherwise resolve relative to process.cwd()
41
+ sqlite_path = path.isAbsolute(sqlite_path_config)
42
+ ? sqlite_path_config
43
+ : path.resolve(process.cwd(), sqlite_path_config);
44
+ // Normalize the path to ensure consistency (resolves .., ., etc.)
45
+ sqlite_path = path.normalize(sqlite_path);
46
+ }
47
+ else {
48
+ // Fallback to test fixture database
49
+ const fallback_sqlite_path = path.resolve(process.cwd(), "__tests__", "fixtures", "hazo_auth.sqlite");
50
+ sqlite_path = path.normalize(fallback_sqlite_path);
51
+ }
52
+ // Log the resolved path for debugging
53
+ logger.debug("hazo_connect_sqlite_path_resolved", {
54
+ filename: "hazo_connect_setup.server.ts",
55
+ line_number: 0,
56
+ sqlite_path,
57
+ process_cwd: process.cwd(),
58
+ config_source: hazo_connect_section ? "hazo_auth_config.ini" : "environment variables",
59
+ });
60
+ return {
61
+ type: "sqlite",
62
+ sqlitePath: sqlite_path,
63
+ enableAdminUi,
64
+ readOnly,
65
+ };
66
+ }
67
+ // PostgREST configuration
68
+ if (type === "postgrest") {
69
+ const postgrest_url = (hazo_connect_section === null || hazo_connect_section === void 0 ? void 0 : hazo_connect_section.postgrest_url) ||
70
+ process.env.HAZO_CONNECT_POSTGREST_URL ||
71
+ process.env.POSTGREST_URL;
72
+ // API key must only come from environment variables for security
73
+ // Check multiple possible env var names for compatibility
74
+ const postgrest_api_key = process.env.postgrest_api_key || // hazo_connect package expects this
75
+ process.env.HAZO_CONNECT_POSTGREST_API_KEY ||
76
+ process.env.POSTGREST_API_KEY;
77
+ if (!postgrest_url) {
78
+ throw new Error("PostgREST URL is required. Set postgrest_url in [hazo_connect] section of hazo_auth_config.ini or HAZO_CONNECT_POSTGREST_URL environment variable.");
79
+ }
80
+ return {
81
+ type: "postgrest",
82
+ postgrestUrl: postgrest_url,
83
+ postgrestApiKey: postgrest_api_key,
84
+ enableAdminUi,
85
+ };
86
+ }
87
+ throw new Error(`Unsupported HAZO_CONNECT_TYPE: ${type}. Supported types: sqlite, postgrest`);
88
+ }
89
+ /**
90
+ * Server-only function to create hazo_connect adapter
91
+ * Reads configuration from hazo_auth_config.ini using hazo_config, falls back to environment variables
92
+ * This should only be called from server-side code (API routes, server components)
93
+ */
94
+ export function create_sqlite_hazo_connect_server() {
95
+ const config = get_hazo_connect_config();
96
+ if (config.type === "sqlite") {
97
+ return createHazoConnect({
98
+ type: "sqlite",
99
+ database: config.sqlitePath,
100
+ enable_admin_ui: config.enableAdminUi,
101
+ });
102
+ }
103
+ if (config.type === "postgrest") {
104
+ // Ensure we have a value (empty string if not set, for PostgREST instances without auth)
105
+ const apiKey = config.postgrestApiKey || "";
106
+ return createHazoConnect({
107
+ type: "postgrest",
108
+ baseUrl: config.postgrestUrl,
109
+ apiKey: apiKey, // Pass empty string if not set
110
+ });
111
+ }
112
+ throw new Error(`Unsupported database type: ${config.type}`);
113
+ }
114
+ /**
115
+ * Gets hazo_connect configuration options for use with singleton API
116
+ * Reads from hazo_auth_config.ini using hazo_config, falls back to environment variables
117
+ * @returns Configuration options compatible with getHazoConnectSingleton
118
+ */
119
+ export function get_hazo_connect_config_options() {
120
+ const config = get_hazo_connect_config();
121
+ if (config.type === "sqlite") {
122
+ return {
123
+ type: "sqlite",
124
+ sqlitePath: config.sqlitePath,
125
+ enableAdminUi: config.enableAdminUi,
126
+ readOnly: config.readOnly,
127
+ };
128
+ }
129
+ if (config.type === "postgrest") {
130
+ return {
131
+ type: "postgrest",
132
+ baseUrl: config.postgrestUrl, // Corrected from postgrestUrl
133
+ apiKey: config.postgrestApiKey || "", // Corrected from postgrestApiKey and ensured string value
134
+ };
135
+ }
136
+ // Fallback: return empty object to let it use environment variables
137
+ return {};
138
+ }
@@ -0,0 +1,28 @@
1
+ export * from "./auth/index";
2
+ export * from "./services/index";
3
+ export { cn, merge_class_names } from "./utils";
4
+ export { get_config_value, get_config_number, get_config_boolean, get_config_array, read_config_section } from "./config/config_loader.server";
5
+ export { create_sqlite_hazo_connect } from "./hazo_connect_setup";
6
+ export { get_hazo_connect_instance } from "./hazo_connect_instance.server";
7
+ export { create_app_logger } from "./app_logger";
8
+ export { get_login_config } from "./login_config.server";
9
+ export { get_register_config } from "./register_config.server";
10
+ export { get_forgot_password_config } from "./forgot_password_config.server";
11
+ export { get_reset_password_config } from "./reset_password_config.server";
12
+ export { get_email_verification_config } from "./email_verification_config.server";
13
+ export { get_my_settings_config } from "./my_settings_config.server";
14
+ export { get_user_management_config } from "./user_management_config.server";
15
+ export { get_profile_picture_config } from "./profile_picture_config.server";
16
+ export { get_profile_pic_menu_config } from "./profile_pic_menu_config.server";
17
+ export { get_already_logged_in_config } from "./already_logged_in_config.server";
18
+ export { get_ui_shell_config } from "./ui_shell_config.server";
19
+ export { get_ui_sizes_config } from "./ui_sizes_config.server";
20
+ export { get_auth_utility_config } from "./auth_utility_config.server";
21
+ export { get_password_requirements_config } from "./password_requirements_config.server";
22
+ export { get_messages_config } from "./messages_config.server";
23
+ export { get_user_fields_config } from "./user_fields_config.server";
24
+ export { get_file_types_config } from "./file_types_config.server";
25
+ export { sanitize_error_for_user } from "./utils/error_sanitizer";
26
+ export type { ErrorSanitizationOptions } from "./utils/error_sanitizer";
27
+ export * from "./utils/api_route_helpers";
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAEA,cAAc,cAAc,CAAC;AAG7B,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAGhD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAG/I,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAG3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,YAAY,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACxE,cAAc,2BAA2B,CAAC"}
@@ -0,0 +1,35 @@
1
+ // file_description: barrel export for lib utilities
2
+ // section: auth_exports
3
+ export * from "./auth/index";
4
+ // section: service_exports
5
+ export * from "./services/index";
6
+ // section: utility_exports
7
+ export { cn, merge_class_names } from "./utils";
8
+ // section: config_exports
9
+ export { get_config_value, get_config_number, get_config_boolean, get_config_array, read_config_section } from "./config/config_loader.server";
10
+ // section: hazo_connect_exports
11
+ export { create_sqlite_hazo_connect } from "./hazo_connect_setup";
12
+ export { get_hazo_connect_instance } from "./hazo_connect_instance.server";
13
+ // section: logger_exports
14
+ export { create_app_logger } from "./app_logger";
15
+ // section: config_server_exports
16
+ export { get_login_config } from "./login_config.server";
17
+ export { get_register_config } from "./register_config.server";
18
+ export { get_forgot_password_config } from "./forgot_password_config.server";
19
+ export { get_reset_password_config } from "./reset_password_config.server";
20
+ export { get_email_verification_config } from "./email_verification_config.server";
21
+ export { get_my_settings_config } from "./my_settings_config.server";
22
+ export { get_user_management_config } from "./user_management_config.server";
23
+ export { get_profile_picture_config } from "./profile_picture_config.server";
24
+ export { get_profile_pic_menu_config } from "./profile_pic_menu_config.server";
25
+ export { get_already_logged_in_config } from "./already_logged_in_config.server";
26
+ export { get_ui_shell_config } from "./ui_shell_config.server";
27
+ export { get_ui_sizes_config } from "./ui_sizes_config.server";
28
+ export { get_auth_utility_config } from "./auth_utility_config.server";
29
+ export { get_password_requirements_config } from "./password_requirements_config.server";
30
+ export { get_messages_config } from "./messages_config.server";
31
+ export { get_user_fields_config } from "./user_fields_config.server";
32
+ export { get_file_types_config } from "./file_types_config.server";
33
+ // section: util_exports
34
+ export { sanitize_error_for_user } from "./utils/error_sanitizer";
35
+ export * from "./utils/api_route_helpers";
@@ -0,0 +1,20 @@
1
+ export type LoginConfig = {
2
+ redirectRoute?: string;
3
+ successMessage: string;
4
+ alreadyLoggedInMessage: string;
5
+ showLogoutButton: boolean;
6
+ showReturnHomeButton: boolean;
7
+ returnHomeButtonLabel: string;
8
+ returnHomePath: string;
9
+ forgotPasswordPath: string;
10
+ forgotPasswordLabel: string;
11
+ createAccountPath: string;
12
+ createAccountLabel: string;
13
+ };
14
+ /**
15
+ * Reads login layout configuration from hazo_auth_config.ini file
16
+ * Falls back to defaults if hazo_auth_config.ini is not found or section is missing
17
+ * @returns Login configuration options
18
+ */
19
+ export declare function get_login_config(): LoginConfig;
20
+ //# sourceMappingURL=login_config.server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login_config.server.d.ts","sourceRoot":"","sources":["../../src/lib/login_config.server.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,WAAW,GAAG;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAGF;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,WAAW,CA2C9C"}
@@ -0,0 +1,37 @@
1
+ // file_description: server-only helper to read login layout configuration from hazo_auth_config.ini
2
+ // section: imports
3
+ import { get_config_value } from "hazo_auth/lib/config/config_loader.server";
4
+ import { get_already_logged_in_config } from "hazo_auth/lib/already_logged_in_config.server";
5
+ // section: helpers
6
+ /**
7
+ * Reads login layout configuration from hazo_auth_config.ini file
8
+ * Falls back to defaults if hazo_auth_config.ini is not found or section is missing
9
+ * @returns Login configuration options
10
+ */
11
+ export function get_login_config() {
12
+ const section = "hazo_auth__login_layout";
13
+ // Read redirect route (optional)
14
+ const redirectRouteValue = get_config_value(section, "redirect_route_on_successful_login", "");
15
+ const redirectRoute = redirectRouteValue || undefined;
16
+ // Read success message (defaults to "Successfully logged in")
17
+ const successMessage = get_config_value(section, "success_message", "Successfully logged in");
18
+ const forgotPasswordPath = get_config_value(section, "forgot_password_path", "/hazo_auth/forgot_password");
19
+ const forgotPasswordLabel = get_config_value(section, "forgot_password_label", "Forgot password?");
20
+ const createAccountPath = get_config_value(section, "create_account_path", "/hazo_auth/register");
21
+ const createAccountLabel = get_config_value(section, "create_account_label", "Create account");
22
+ // Get shared already logged in config
23
+ const alreadyLoggedInConfig = get_already_logged_in_config();
24
+ return {
25
+ redirectRoute,
26
+ successMessage,
27
+ alreadyLoggedInMessage: alreadyLoggedInConfig.message,
28
+ showLogoutButton: alreadyLoggedInConfig.showLogoutButton,
29
+ showReturnHomeButton: alreadyLoggedInConfig.showReturnHomeButton,
30
+ returnHomeButtonLabel: alreadyLoggedInConfig.returnHomeButtonLabel,
31
+ returnHomePath: alreadyLoggedInConfig.returnHomePath,
32
+ forgotPasswordPath,
33
+ forgotPasswordLabel,
34
+ createAccountPath,
35
+ createAccountLabel,
36
+ };
37
+ }
@@ -0,0 +1,13 @@
1
+ export type MessagesConfig = {
2
+ photo_upload_disabled_message: string;
3
+ gravatar_setup_message: string;
4
+ gravatar_no_account_message: string;
5
+ library_tooltip_message: string;
6
+ };
7
+ /**
8
+ * Reads user-facing messages from hazo_auth_config.ini file
9
+ * Falls back to defaults if hazo_auth_config.ini is not found or section is missing
10
+ * @returns Messages configuration options
11
+ */
12
+ export declare function get_messages_config(): MessagesConfig;
13
+ //# sourceMappingURL=messages_config.server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages_config.server.d.ts","sourceRoot":"","sources":["../../src/lib/messages_config.server.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,cAAc,GAAG;IAC3B,6BAA6B,EAAE,MAAM,CAAC;IACtC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,2BAA2B,EAAE,MAAM,CAAC;IACpC,uBAAuB,EAAE,MAAM,CAAC;CACjC,CAAC;AAGF;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,cAAc,CAyBpD"}
@@ -0,0 +1,18 @@
1
+ // file_description: server-only helper to read user-facing messages from hazo_auth_config.ini
2
+ // section: imports
3
+ import { get_config_value } from "hazo_auth/lib/config/config_loader.server";
4
+ // section: helpers
5
+ /**
6
+ * Reads user-facing messages from hazo_auth_config.ini file
7
+ * Falls back to defaults if hazo_auth_config.ini is not found or section is missing
8
+ * @returns Messages configuration options
9
+ */
10
+ export function get_messages_config() {
11
+ const section = "hazo_auth__messages";
12
+ return {
13
+ photo_upload_disabled_message: get_config_value(section, "photo_upload_disabled_message", "Photo upload is not enabled. Please contact your administrator."),
14
+ gravatar_setup_message: get_config_value(section, "gravatar_setup_message", "To set up your Gravatar:"),
15
+ gravatar_no_account_message: get_config_value(section, "gravatar_no_account_message", "You don't have a Gravatar account set up for this email address."),
16
+ library_tooltip_message: get_config_value(section, "library_tooltip_message", "Select another tab image style to remove this image"),
17
+ };
18
+ }
@@ -0,0 +1,22 @@
1
+ import type { HazoConnectAdapter } from "hazo_connect";
2
+ /**
3
+ * Applies a SQL migration file to the database
4
+ * For SQLite, we need to execute raw SQL statements
5
+ * @param adapter - The hazo_connect adapter instance
6
+ * @param migration_file_path - Path to the SQL migration file
7
+ * @returns Success status and error message if any
8
+ */
9
+ export declare function apply_migration(adapter: HazoConnectAdapter, migration_file_path: string): Promise<{
10
+ success: boolean;
11
+ error?: string;
12
+ }>;
13
+ /**
14
+ * Applies all migrations in the migrations directory
15
+ * @param adapter - The hazo_connect adapter instance
16
+ * @returns Success status and error message if any
17
+ */
18
+ export declare function apply_all_migrations(adapter: HazoConnectAdapter): Promise<{
19
+ success: boolean;
20
+ error?: string;
21
+ }>;
22
+ //# sourceMappingURL=apply_migration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply_migration.d.ts","sourceRoot":"","sources":["../../../src/lib/migrations/apply_migration.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAMvD;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,kBAAkB,EAC3B,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAwC/C;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAoC/C"}
@@ -0,0 +1,78 @@
1
+ import fs from "fs";
2
+ import path from "path";
3
+ // section: helpers
4
+ /**
5
+ * Applies a SQL migration file to the database
6
+ * For SQLite, we need to execute raw SQL statements
7
+ * @param adapter - The hazo_connect adapter instance
8
+ * @param migration_file_path - Path to the SQL migration file
9
+ * @returns Success status and error message if any
10
+ */
11
+ export async function apply_migration(adapter, migration_file_path) {
12
+ try {
13
+ // Read the migration file
14
+ const migration_sql = fs.readFileSync(migration_file_path, "utf-8");
15
+ // Split SQL statements by semicolon and execute each one
16
+ // Remove comments and empty statements
17
+ const statements = migration_sql
18
+ .split(";")
19
+ .map((stmt) => stmt.trim())
20
+ .filter((stmt) => stmt.length > 0 && !stmt.startsWith("--"));
21
+ // Execute each statement
22
+ // For SQLite via hazo_connect, we may need to use a raw query method
23
+ // Since hazo_connect doesn't expose raw SQL execution directly,
24
+ // we'll try to use the adapter's internal methods or skip migration
25
+ // and rely on the fallback in token_service
26
+ // For now, we'll log that migration should be applied manually
27
+ // The token_service has fallback logic to work without token_type column
28
+ if (process.env.NODE_ENV === "development") {
29
+ console.log(`[migrations] Migration file found: ${migration_file_path}`, "\n[migrations] Note: Raw SQL execution not available via hazo_connect adapter.", "\n[migrations] Please apply migration manually or ensure token_type column exists.");
30
+ }
31
+ // Try to check if token_type column already exists by querying the schema
32
+ // If it doesn't exist, we'll rely on the fallback in token_service
33
+ return { success: true };
34
+ }
35
+ catch (error) {
36
+ const error_message = error instanceof Error ? error.message : "Unknown error";
37
+ return {
38
+ success: false,
39
+ error: error_message,
40
+ };
41
+ }
42
+ }
43
+ /**
44
+ * Applies all migrations in the migrations directory
45
+ * @param adapter - The hazo_connect adapter instance
46
+ * @returns Success status and error message if any
47
+ */
48
+ export async function apply_all_migrations(adapter) {
49
+ try {
50
+ const migrations_dir = path.resolve(process.cwd(), "migrations");
51
+ if (!fs.existsSync(migrations_dir)) {
52
+ return { success: true }; // No migrations directory, nothing to apply
53
+ }
54
+ // Get all SQL files in migrations directory, sorted by name
55
+ const migration_files = fs
56
+ .readdirSync(migrations_dir)
57
+ .filter((file) => file.endsWith(".sql"))
58
+ .sort();
59
+ for (const migration_file of migration_files) {
60
+ const migration_path = path.join(migrations_dir, migration_file);
61
+ const result = await apply_migration(adapter, migration_path);
62
+ if (!result.success) {
63
+ return {
64
+ success: false,
65
+ error: `Failed to apply migration ${migration_file}: ${result.error}`,
66
+ };
67
+ }
68
+ }
69
+ return { success: true };
70
+ }
71
+ catch (error) {
72
+ const error_message = error instanceof Error ? error.message : "Unknown error";
73
+ return {
74
+ success: false,
75
+ error: error_message,
76
+ };
77
+ }
78
+ }
@@ -0,0 +1,65 @@
1
+ export type MySettingsConfig = {
2
+ userFields: {
3
+ show_name_field: boolean;
4
+ show_email_field: boolean;
5
+ show_password_field: boolean;
6
+ };
7
+ passwordRequirements: {
8
+ minimum_length: number;
9
+ require_uppercase: boolean;
10
+ require_lowercase: boolean;
11
+ require_number: boolean;
12
+ require_special: boolean;
13
+ };
14
+ profilePicture: {
15
+ allow_photo_upload: boolean;
16
+ upload_photo_path?: string;
17
+ max_photo_size: number;
18
+ user_photo_default: boolean;
19
+ user_photo_default_priority1: "gravatar" | "library";
20
+ user_photo_default_priority2?: "library" | "gravatar";
21
+ library_photo_path: string;
22
+ };
23
+ heading?: string;
24
+ subHeading?: string;
25
+ profilePhotoLabel?: string;
26
+ profilePhotoRecommendation?: string;
27
+ uploadPhotoButtonLabel?: string;
28
+ removePhotoButtonLabel?: string;
29
+ profileInformationLabel?: string;
30
+ passwordLabel?: string;
31
+ currentPasswordLabel?: string;
32
+ newPasswordLabel?: string;
33
+ confirmPasswordLabel?: string;
34
+ savePasswordButtonLabel?: string;
35
+ unauthorizedMessage?: string;
36
+ loginButtonLabel?: string;
37
+ loginPath?: string;
38
+ messages: {
39
+ photo_upload_disabled_message: string;
40
+ gravatar_setup_message: string;
41
+ gravatar_no_account_message: string;
42
+ library_tooltip_message: string;
43
+ };
44
+ uiSizes: {
45
+ gravatar_size: number;
46
+ profile_picture_size: number;
47
+ tooltip_icon_size_default: number;
48
+ tooltip_icon_size_small: number;
49
+ library_photo_grid_columns: number;
50
+ library_photo_preview_size: number;
51
+ image_compression_max_dimension: number;
52
+ upload_file_hard_limit_bytes: number;
53
+ };
54
+ fileTypes: {
55
+ allowed_image_extensions: string[];
56
+ allowed_image_mime_types: string[];
57
+ };
58
+ };
59
+ /**
60
+ * Reads my settings layout configuration from hazo_auth_config.ini file
61
+ * Falls back to defaults if hazo_auth_config.ini is not found or section is missing
62
+ * @returns My settings configuration options
63
+ */
64
+ export declare function get_my_settings_config(): MySettingsConfig;
65
+ //# sourceMappingURL=my_settings_config.server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"my_settings_config.server.d.ts","sourceRoot":"","sources":["../../src/lib/my_settings_config.server.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE;QACV,eAAe,EAAE,OAAO,CAAC;QACzB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,mBAAmB,EAAE,OAAO,CAAC;KAC9B,CAAC;IACF,oBAAoB,EAAE;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,iBAAiB,EAAE,OAAO,CAAC;QAC3B,cAAc,EAAE,OAAO,CAAC;QACxB,eAAe,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,cAAc,EAAE;QACd,kBAAkB,EAAE,OAAO,CAAC;QAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,cAAc,EAAE,MAAM,CAAC;QACvB,kBAAkB,EAAE,OAAO,CAAC;QAC5B,4BAA4B,EAAE,UAAU,GAAG,SAAS,CAAC;QACrD,4BAA4B,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;QACtD,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE;QACR,6BAA6B,EAAE,MAAM,CAAC;QACtC,sBAAsB,EAAE,MAAM,CAAC;QAC/B,2BAA2B,EAAE,MAAM,CAAC;QACpC,uBAAuB,EAAE,MAAM,CAAC;KACjC,CAAC;IACF,OAAO,EAAE;QACP,aAAa,EAAE,MAAM,CAAC;QACtB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,yBAAyB,EAAE,MAAM,CAAC;QAClC,uBAAuB,EAAE,MAAM,CAAC;QAChC,0BAA0B,EAAE,MAAM,CAAC;QACnC,0BAA0B,EAAE,MAAM,CAAC;QACnC,+BAA+B,EAAE,MAAM,CAAC;QACxC,4BAA4B,EAAE,MAAM,CAAC;KACtC,CAAC;IACF,SAAS,EAAE;QACT,wBAAwB,EAAE,MAAM,EAAE,CAAC;QACnC,wBAAwB,EAAE,MAAM,EAAE,CAAC;KACpC,CAAC;CACH,CAAC;AAGF;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,gBAAgB,CAyDzD"}
@@ -0,0 +1,67 @@
1
+ // file_description: server-only helper to read my settings layout configuration from hazo_auth_config.ini
2
+ // section: imports
3
+ import { get_config_value } from "hazo_auth/lib/config/config_loader.server";
4
+ import { get_user_fields_config } from "hazo_auth/lib/user_fields_config.server";
5
+ import { get_password_requirements_config } from "hazo_auth/lib/password_requirements_config.server";
6
+ import { get_profile_picture_config } from "hazo_auth/lib/profile_picture_config.server";
7
+ import { get_messages_config } from "hazo_auth/lib/messages_config.server";
8
+ import { get_ui_sizes_config } from "hazo_auth/lib/ui_sizes_config.server";
9
+ import { get_file_types_config } from "hazo_auth/lib/file_types_config.server";
10
+ // section: helpers
11
+ /**
12
+ * Reads my settings layout configuration from hazo_auth_config.ini file
13
+ * Falls back to defaults if hazo_auth_config.ini is not found or section is missing
14
+ * @returns My settings configuration options
15
+ */
16
+ export function get_my_settings_config() {
17
+ const section = "hazo_auth__my_settings_layout";
18
+ // Get shared user fields config
19
+ const userFields = get_user_fields_config();
20
+ // Get shared password requirements
21
+ const passwordRequirements = get_password_requirements_config();
22
+ // Get profile picture configuration
23
+ const profilePicture = get_profile_picture_config();
24
+ // Get messages, UI sizes, and file types configuration
25
+ const messages = get_messages_config();
26
+ const uiSizes = get_ui_sizes_config();
27
+ const fileTypes = get_file_types_config();
28
+ // Read optional labels with defaults
29
+ const heading = get_config_value(section, "heading", "Account Settings");
30
+ const subHeading = get_config_value(section, "sub_heading", "Manage your profile, password, and email preferences.");
31
+ const profilePhotoLabel = get_config_value(section, "profile_photo_label", "Profile Photo");
32
+ const profilePhotoRecommendation = get_config_value(section, "profile_photo_recommendation", "Recommended size: 200x200px. JPG, PNG.");
33
+ const uploadPhotoButtonLabel = get_config_value(section, "upload_photo_button_label", "Upload New Photo");
34
+ const removePhotoButtonLabel = get_config_value(section, "remove_photo_button_label", "Remove");
35
+ const profileInformationLabel = get_config_value(section, "profile_information_label", "Profile Information");
36
+ const passwordLabel = get_config_value(section, "password_label", "Password");
37
+ const currentPasswordLabel = get_config_value(section, "current_password_label", "Current Password");
38
+ const newPasswordLabel = get_config_value(section, "new_password_label", "New Password");
39
+ const confirmPasswordLabel = get_config_value(section, "confirm_password_label", "Confirm Password");
40
+ const savePasswordButtonLabel = get_config_value(section, "save_password_button_label", "Save Password");
41
+ const unauthorizedMessage = get_config_value(section, "unauthorized_message", "You must be logged in to access this page.");
42
+ const loginButtonLabel = get_config_value(section, "login_button_label", "Go to login");
43
+ const loginPath = get_config_value(section, "login_path", "/hazo_auth/login");
44
+ return {
45
+ userFields,
46
+ passwordRequirements,
47
+ profilePicture,
48
+ heading,
49
+ subHeading,
50
+ profilePhotoLabel,
51
+ profilePhotoRecommendation,
52
+ uploadPhotoButtonLabel,
53
+ removePhotoButtonLabel,
54
+ profileInformationLabel,
55
+ passwordLabel,
56
+ currentPasswordLabel,
57
+ newPasswordLabel,
58
+ confirmPasswordLabel,
59
+ savePasswordButtonLabel,
60
+ unauthorizedMessage,
61
+ loginButtonLabel,
62
+ loginPath,
63
+ messages,
64
+ uiSizes,
65
+ fileTypes,
66
+ };
67
+ }
@@ -0,0 +1,15 @@
1
+ export type PasswordRequirementsConfig = {
2
+ minimum_length: number;
3
+ require_uppercase: boolean;
4
+ require_lowercase: boolean;
5
+ require_number: boolean;
6
+ require_special: boolean;
7
+ };
8
+ /**
9
+ * Reads shared password requirements configuration from hazo_auth_config.ini file
10
+ * Falls back to defaults if hazo_auth_config.ini is not found or section is missing
11
+ * This configuration is used by both register and reset password layouts
12
+ * @returns Password requirements configuration options
13
+ */
14
+ export declare function get_password_requirements_config(): PasswordRequirementsConfig;
15
+ //# sourceMappingURL=password_requirements_config.server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"password_requirements_config.server.d.ts","sourceRoot":"","sources":["../../src/lib/password_requirements_config.server.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,0BAA0B,GAAG;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAGF;;;;;GAKG;AACH,wBAAgB,gCAAgC,IAAI,0BAA0B,CAiB7E"}
@@ -0,0 +1,26 @@
1
+ // file_description: server-only helper to read shared password requirements configuration from hazo_auth_config.ini
2
+ // section: imports
3
+ import { get_config_number, get_config_boolean } from "hazo_auth/lib/config/config_loader.server";
4
+ // section: helpers
5
+ /**
6
+ * Reads shared password requirements configuration from hazo_auth_config.ini file
7
+ * Falls back to defaults if hazo_auth_config.ini is not found or section is missing
8
+ * This configuration is used by both register and reset password layouts
9
+ * @returns Password requirements configuration options
10
+ */
11
+ export function get_password_requirements_config() {
12
+ const section = "hazo_auth__password_requirements";
13
+ // Read password requirements with defaults
14
+ const minimum_length = get_config_number(section, "minimum_length", 8);
15
+ const require_uppercase = get_config_boolean(section, "require_uppercase", false);
16
+ const require_lowercase = get_config_boolean(section, "require_lowercase", false);
17
+ const require_number = get_config_boolean(section, "require_number", false);
18
+ const require_special = get_config_boolean(section, "require_special", false);
19
+ return {
20
+ minimum_length,
21
+ require_uppercase,
22
+ require_lowercase,
23
+ require_number,
24
+ require_special,
25
+ };
26
+ }
@@ -0,0 +1,26 @@
1
+ export type MenuItemType = "info" | "link" | "separator";
2
+ export type ProfilePicMenuMenuItem = {
3
+ type: MenuItemType;
4
+ label?: string;
5
+ value?: string;
6
+ href?: string;
7
+ order: number;
8
+ id: string;
9
+ };
10
+ export type ProfilePicMenuConfig = {
11
+ show_single_button: boolean;
12
+ sign_up_label: string;
13
+ sign_in_label: string;
14
+ register_path: string;
15
+ login_path: string;
16
+ settings_path: string;
17
+ logout_path: string;
18
+ custom_menu_items: ProfilePicMenuMenuItem[];
19
+ };
20
+ /**
21
+ * Reads profile picture menu configuration from hazo_auth_config.ini file
22
+ * Falls back to defaults if hazo_auth_config.ini is not found or section is missing
23
+ * @returns Profile picture menu configuration options
24
+ */
25
+ export declare function get_profile_pic_menu_config(): ProfilePicMenuConfig;
26
+ //# sourceMappingURL=profile_pic_menu_config.server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile_pic_menu_config.server.d.ts","sourceRoot":"","sources":["../../src/lib/profile_pic_menu_config.server.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;AAEzD,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,sBAAsB,EAAE,CAAC;CAC7C,CAAC;AA4EF;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,oBAAoB,CA4BlE"}