Files
keywarden/app/models/access_request.py
boris c93f0ccda6
Some checks failed
CI / Lint & Format (push) Successful in 4s
CI / Tests (Pytest + Alembic + Postgres) (push) Failing after 4m45s
CI / Docker Build (push) Has been skipped
Standardised Bases across models
2025-09-23 19:38:54 +01:00

16 lines
713 B
Python

from datetime import datetime
from sqlalchemy import DateTime, ForeignKey, String
from sqlalchemy.orm import Mapped, mapped_column
from app.db.base_class 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))