Refactor to manager-centric model, add team calendar for all users

Key changes:
- Removed office-centric model (deleted offices.py, office-rules)
- Renamed to team-rules, managers are part of their own team
- Team calendar visible to all (read-only for employees)
- Admins can have a manager assigned
This commit is contained in:
Stefano Manfredi
2025-12-02 13:30:04 +00:00
parent 2ad8ba3424
commit 7168fa4b72
30 changed files with 1016 additions and 910 deletions

View File

@@ -22,7 +22,7 @@ class RegisterRequest(BaseModel):
email: EmailStr
password: str
name: str
office_id: str | None = None
manager_id: str | None = None
class LoginRequest(BaseModel):
@@ -39,7 +39,7 @@ class UserResponse(BaseModel):
id: str
email: str
name: str | None
office_id: str | None
manager_id: str | None
role: str
manager_parking_quota: int | None = None
week_start_day: int = 0
@@ -71,7 +71,7 @@ def register(data: RegisterRequest, db: Session = Depends(get_db)):
email=data.email,
password=data.password,
name=data.name,
office_id=data.office_id
manager_id=data.manager_id
)
token = create_access_token(user.id, user.email)
@@ -116,7 +116,7 @@ def get_me(user=Depends(get_current_user)):
id=user.id,
email=user.email,
name=user.name,
office_id=user.office_id,
manager_id=user.manager_id,
role=user.role,
manager_parking_quota=user.manager_parking_quota,
week_start_day=user.week_start_day or 0,