mirror of
https://github.com/donpat1to/Schichtenplaner.git
synced 2025-11-30 22:45:46 +01:00
2.8 KiB
2.8 KiB
Employee Management
[CREATE/UPDATE] employee
- All employee operations require authentication
- Password changes require current password + new password
- Only authenticated users can create/update employees
[ACTION: delete employee]
- Requires authentication
- Server validates permissions before deletion
[ACTION: update availability]
- Requires employee ID and plan ID
- Availability updates must include valid preference levels
- Only authenticated users can update availabilities
[ACTION: update last login]
- Requires employee ID
- Fails silently if update fails (logs error but doesn`t block user)
Employee
[CREATE] Employee
firstname1-100 characters and must not be emptylastname1-100 characters and must not be emptypasswordmust be at least 8 characters (in create mode)employeeTypemust bemanager,personell,apprentice, orguestcanWorkAloneoptional booleanisTraineeoptional booleanisActiveoptional boolean (default true)- Contract type validation:
manager,apprentice=>contractType= flexibleguest=>contractType= undefined/NONEpersonell=>contractType= small || large
[UPDATE] Employee profile
firstname1-100 characters and must not be emptylastname1-100 characters and must not be emptyemployeeTypemust be valid type if providedcontractTypemust be valid type if providedrolesmust be valid array of roles if provided- Only the employee themselves or admins can update
[UPDATE] Employee password
newPasswordoptional but strict validation:- Minimum 8 characters
- Must contain uppercase, lowercase, number and special character
newPasswordmust matchconfirmPassword- For admin password reset: no
currentPasswordrequired - For self-password change:
currentPasswordrequired
[UPDATE] Employee roles
- Only users with role
admincan modify roles - At least one employee must maintain
adminrole - Users cannot remove their own admin role
[UPDATE] Employee availability
- Only active employees can set availability
- Contract type requirements:
smallcontract: minimum 2 available shifts (preference level 1 or 2)largecontract: minimum 3 available shifts (preference level 1 or 2)flexiblecontract: no minimum requirement
- Availability can only be set for valid shift patterns in selected plan
shiftIdmust be valid and exist in the current plan
[ACTION: delete] Employee
- Only users with role
admincan delete employees - Cannot delete yourself
- Cannot delete the last admin user
- User confirmation required before deletion
[ACTION: edit] Employee
- Admins can edit all employees
- Maintenance users can edit non-admin employees or themselves
- Regular users can only edit themselves