- Created UserBlockDialog.vue for blocking/unblocking users with status notifications.
- Implemented UserEditorDialog.vue for creating and editing user details, including account, details, and preferences tabs.
- Added UserPasswordDialog.vue for changing user passwords with validation.
- Defined types for user forms and dialogs in types.ts.
- Introduced user-store.ts for managing user state with Pinia, including fetching user data and handling errors.
- Created a new signup page in the frontend application.
- Implemented authentication middleware to validate access tokens and retrieve claims.
- Added functionality to update user passwords and revoke sessions in the user repository.
- Introduced an API endpoint to fetch user roles with TypeScript support.
Co-authored-by: Copilot <copilot@github.com>
- Created a new HTML file for the signup page at `backend/spa/signup/index.html`.
- Added HTML and plain text templates for password reset emails at `backend/templates/mailTemplates/password_reset.html.tmpl` and `backend/templates/mailTemplates/password_reset.txt.tmpl`.
- Added HTML and plain text templates for registration confirmation emails at `backend/templates/mailTemplates/registration.html.tmpl` and `backend/templates/mailTemplates/registration.txt.tmpl`.
- Created LoginPage.vue for user login functionality with email and password fields.
- Implemented RecoverPasswordPage.vue to allow users to request a password recovery email.
- Developed SignupPage.vue for new user registration, including form validation and success state.