from sqlalchemy import Column, String, Text, DateTime from sqlalchemy.orm import declarative_base from datetime import datetime import json Base = declarative_base() class Story(Base): __tablename__ = 'story' uuid = Column(String, primary_key=True) status = Column(String, default='not_started') world = Column(Text, default='') hero = Column(Text, default='') plot = Column(Text, default='') ending = Column(String, default='') style = Column(String, default='') storyteller = Column(String, default='general') voice = Column(String, default='dylan') chunks = Column(Text, default='[]') messages = Column(Text, default='[]') full_story_audio_url = Column(String, default='') full_story_text = Column(Text, default='') def to_dict(self): return { "uuid": self.uuid, "status": self.status, "world": self.world, "hero": self.hero, "plot": self.plot, "ending": self.ending, "style": self.style, "voice": self.voice, "chunks": json.loads(self.chunks), "messages": json.loads(self.messages), "full_story_audio_url": self.full_story_audio_url, "full_story_text": self.full_story_text, }