Files
openclaw-mission-control/backend/app/models/hr.py

36 lines
1.0 KiB
Python

from __future__ import annotations
from datetime import datetime
from sqlmodel import Field, SQLModel
class HeadcountRequest(SQLModel, table=True):
__tablename__ = "headcount_requests"
id: int | None = Field(default=None, primary_key=True)
department_id: int = Field(foreign_key="departments.id")
requested_by_manager_id: int = Field(foreign_key="employees.id")
role_title: str
employee_type: str # human | agent
quantity: int = Field(default=1)
justification: str | None = None
status: str = Field(default="submitted")
created_at: datetime = Field(default_factory=datetime.utcnow)
class EmploymentAction(SQLModel, table=True):
__tablename__ = "employment_actions"
id: int | None = Field(default=None, primary_key=True)
employee_id: int = Field(foreign_key="employees.id")
issued_by_employee_id: int = Field(foreign_key="employees.id")
action_type: str # praise|warning|pip|termination
notes: str | None = None
created_at: datetime = Field(default_factory=datetime.utcnow)