Spaces:
Sleeping
Sleeping
File size: 881 Bytes
911e744 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
import uuid
from datetime import datetime
from enum import Enum
from typing import Optional
from sqlalchemy.dialects.postgresql import UUID
from sqlalchemy import Column
from sqlmodel import SQLModel, Field, ForeignKey
class PayslipStatus(str, Enum):
PENDING = "Pending"
SENT = "Sent"
FAILED = "Failed"
class PayslipRequest(SQLModel, table=True):
__tablename__ = "payslip_requests"
id: uuid.UUID = Field(default_factory=uuid.uuid4, primary_key=True)
user_id: uuid.UUID = Field(
sa_column=Column(
UUID(as_uuid=True),
ForeignKey("users.id", ondelete="CASCADE"),
nullable=False,
)
)
requested_at: datetime = Field(default_factory=datetime.now)
status: PayslipStatus = Field(default=PayslipStatus.PENDING)
refresh_token: Optional[str] = None
error_message: Optional[str] = None
|