feat: Implement member self-service features for profile change requests and event responses

- Added MemberProfileChangeRequest and MemberEventResponse models with associations.
- Created API endpoints for member dashboard, profile change requests, event responses, and training attendance updates.
- Developed MemberHomeView component to display member-specific information and actions.
- Updated routing to include new member dashboard and profile change request functionalities.
- Added SQL migration scripts for new database tables related to member self-service.
- Enhanced login functionality to redirect members based on their roles and club associations.
This commit is contained in:
Torsten Schulz (local)
2026-07-24 07:53:05 +02:00
parent 3ac4039097
commit 63a5db1196
12 changed files with 398 additions and 21 deletions

View File

@@ -0,0 +1,27 @@
CREATE TABLE member_profile_change_requests (
id INT AUTO_INCREMENT PRIMARY KEY,
club_id INT NOT NULL,
member_id INT NOT NULL,
requested_by_user_id INT NOT NULL,
requested_changes JSON NOT NULL,
status ENUM('open', 'approved', 'rejected') NOT NULL DEFAULT 'open',
review_note TEXT NULL,
reviewed_by_user_id INT NULL,
reviewed_at DATETIME NULL,
created_at DATETIME NOT NULL,
updated_at DATETIME NOT NULL,
INDEX member_profile_change_requests_club_status (club_id, status),
INDEX member_profile_change_requests_member_status (member_id, status)
);
CREATE TABLE member_event_responses (
id INT AUTO_INCREMENT PRIMARY KEY,
club_id INT NOT NULL,
event_id INT NOT NULL,
member_id INT NOT NULL,
status ENUM('attending', 'declined') NOT NULL,
created_at DATETIME NOT NULL,
updated_at DATETIME NOT NULL,
UNIQUE KEY member_event_responses_event_member (event_id, member_id),
INDEX member_event_responses_club_event (club_id, event_id)
);