2026-02-01 23:16:56 +05:30
|
|
|
from __future__ import annotations
|
|
|
|
|
|
|
|
|
|
from sqlmodel import SQLModel
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class DepartmentCreate(SQLModel):
|
|
|
|
|
name: str
|
|
|
|
|
head_employee_id: int | None = None
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class DepartmentUpdate(SQLModel):
|
|
|
|
|
name: str | None = None
|
|
|
|
|
head_employee_id: int | None = None
|
|
|
|
|
|
|
|
|
|
|
2026-02-02 18:59:54 +05:30
|
|
|
class TeamCreate(SQLModel):
|
|
|
|
|
name: str
|
|
|
|
|
department_id: int
|
|
|
|
|
lead_employee_id: int | None = None
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class TeamUpdate(SQLModel):
|
|
|
|
|
name: str | None = None
|
|
|
|
|
department_id: int | None = None
|
|
|
|
|
lead_employee_id: int | None = None
|
|
|
|
|
|
|
|
|
|
|
2026-02-01 23:16:56 +05:30
|
|
|
class EmployeeCreate(SQLModel):
|
|
|
|
|
name: str
|
|
|
|
|
employee_type: str
|
|
|
|
|
department_id: int | None = None
|
2026-02-02 18:59:54 +05:30
|
|
|
team_id: int | None = None
|
2026-02-01 23:16:56 +05:30
|
|
|
manager_id: int | None = None
|
|
|
|
|
title: str | None = None
|
|
|
|
|
status: str = "active"
|
|
|
|
|
|
2026-02-02 16:05:18 +05:30
|
|
|
# OpenClaw integration
|
|
|
|
|
openclaw_session_key: str | None = None
|
|
|
|
|
notify_enabled: bool = True
|
|
|
|
|
|
2026-02-01 23:16:56 +05:30
|
|
|
|
|
|
|
|
class EmployeeUpdate(SQLModel):
|
|
|
|
|
name: str | None = None
|
|
|
|
|
employee_type: str | None = None
|
|
|
|
|
department_id: int | None = None
|
2026-02-02 18:59:54 +05:30
|
|
|
team_id: int | None = None
|
2026-02-01 23:16:56 +05:30
|
|
|
manager_id: int | None = None
|
|
|
|
|
title: str | None = None
|
|
|
|
|
status: str | None = None
|
2026-02-02 16:05:18 +05:30
|
|
|
|
|
|
|
|
# OpenClaw integration
|
|
|
|
|
openclaw_session_key: str | None = None
|
|
|
|
|
notify_enabled: bool | None = None
|