WIP checkpoint: Scaffold FastAPI backend project structure

This commit is contained in:
2026-08-17 20:25:28 +00:00
parent dc09f5ae37
commit 534da614dd
5 changed files with 31 additions and 10 deletions
+4 -2
View File
@@ -1,4 +1,6 @@
from sqlalchemy import Column, Integer, String, DateTime, ForeignKey, Boolean
import uuid
from sqlalchemy import Column, String, DateTime, ForeignKey, Boolean
from sqlalchemy.orm import relationship
from sqlalchemy.sql import func
from app.database import Base
@@ -7,7 +9,7 @@ from app.database import Base
class Session(Base):
__tablename__ = "sessions"
id = Column(String, primary_key=True)
id = Column(String(36), primary_key=True, default=lambda: str(uuid.uuid4()))
user_id = Column(Integer, ForeignKey("users.id", ondelete="CASCADE"), nullable=False)
token = Column(String, unique=True, index=True, nullable=False)
expires_at = Column(DateTime(timezone=True), nullable=False)
+6 -2
View File
@@ -1,4 +1,5 @@
from sqlalchemy import Column, Integer, String, Text, DateTime, ForeignKey, Enum
from sqlalchemy import Column, Integer, String, Text, DateTime, ForeignKey
from sqlalchemy.dialects.postgresql import ENUM
from sqlalchemy.orm import relationship
from sqlalchemy.sql import func
import enum
@@ -19,7 +20,10 @@ class World(Base):
name = Column(String(255), nullable=False)
description = Column(Text, nullable=True)
owner_id = Column(Integer, ForeignKey("users.id"), nullable=False)
visibility = Column(Enum(WorldVisibility), default=WorldVisibility.PUBLIC)
visibility = Column(
ENUM(WorldVisibility, name="world_visibility", create_type=False),
default=WorldVisibility.PUBLIC,
)
created_at = Column(DateTime(timezone=True), server_default=func.now())
updated_at = Column(DateTime(timezone=True), onupdate=func.now())