26 lines
966 B
Python
26 lines
966 B
Python
import uuid
|
|
from datetime import datetime
|
|
from sqlalchemy import Column, String, Text, DateTime, ForeignKey, Enum as SQLEnum, Uuid
|
|
from sqlalchemy.orm import relationship
|
|
import enum
|
|
|
|
from app.database import Base
|
|
|
|
class GenerationMode(str, enum.Enum):
|
|
TEXT2IMAGE = "text2image"
|
|
IMAGE2IMAGE = "image2image"
|
|
|
|
class GenerationHistory(Base):
|
|
__tablename__ = "generation_history"
|
|
|
|
id = Column(Uuid, primary_key=True, default=uuid.uuid4)
|
|
user_id = Column(Uuid, ForeignKey("users.id"), nullable=False)
|
|
original_prompt = Column(Text, nullable=False)
|
|
optimized_prompt = Column(Text, nullable=False)
|
|
mode = Column(SQLEnum(GenerationMode), nullable=False)
|
|
model = Column(String(32), nullable=False)
|
|
image_url = Column(String(512), nullable=False)
|
|
input_image_url = Column(String(512), nullable=True) # For I2I
|
|
created_at = Column(DateTime, default=datetime.utcnow)
|
|
|
|
user = relationship("User", backref="generation_history") |