Files
keywarden/app/models/access_request.py
boris f04b04339f
Some checks failed
CI / Lint & Format (push) Has been cancelled
CI / Tests (Pytest + Alembic + Postgres) (push) Has been cancelled
CI / Docker Build (push) Has been cancelled
Linted .py files
2025-09-22 20:34:29 +01:00

16 lines
727 B
Python

from datetime import datetime, timezone #noqa
from sqlalchemy import DateTime, ForeignKey, String
from sqlalchemy.orm import Mapped, mapped_column
from app.models.user import Base
class AccessRequest(Base):
__tablename__ = "access_requests"
id: Mapped[int] = mapped_column(primary_key=True)
user_id: Mapped[int] = mapped_column(ForeignKey("users.id", ondelete="CASCADE"))
server_id: Mapped[int] = mapped_column(ForeignKey("servers.id", ondelete="CASCADE"))
status: Mapped[str] = mapped_column(String(16), default="requested") # requested|approved|denied|expired
expires_at: Mapped[datetime | None] = mapped_column(DateTime(timezone=True))
reason: Mapped[str | None] = mapped_column(String(512))