feat: service token introduction
This commit is contained in:
26
db/models/service_signatures.py
Normal file
26
db/models/service_signatures.py
Normal file
@@ -0,0 +1,26 @@
|
||||
from datetime import UTC, datetime
|
||||
|
||||
from sqlalchemy import TEXT, DateTime, Enum
|
||||
from sqlalchemy.orm import Mapped, mapped_column
|
||||
|
||||
from db.base import Base
|
||||
from schemas.enums import ServiceSignatureStatus
|
||||
|
||||
|
||||
class ServiceSignature(Base):
|
||||
__tablename__ = "service_signatures"
|
||||
|
||||
kid: Mapped[str] = mapped_column(TEXT, unique=True, nullable=False, primary_key=True)
|
||||
public_key: Mapped[str] = mapped_column(TEXT, nullable=False)
|
||||
service_name: Mapped[str] = mapped_column(TEXT, nullable=True)
|
||||
status: Mapped[ServiceSignatureStatus] = mapped_column(
|
||||
Enum(ServiceSignatureStatus, name="servicesignaturestatus"),
|
||||
nullable=False,
|
||||
default=ServiceSignatureStatus.INACTIVE,
|
||||
)
|
||||
created_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True),
|
||||
nullable=False,
|
||||
default=lambda: datetime.now(UTC),
|
||||
)
|
||||
revoked_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), nullable=True)
|
||||
Reference in New Issue
Block a user