editify-backend / models.py
Nisha56's picture
Add PostgreSQL authentication and UI improvements
6dd7eae
Raw
History Blame Contribute Delete
1.44 kB
from sqlalchemy import Column, Integer, String, Text, DateTime, ForeignKey
from sqlalchemy.sql import func
from sqlalchemy.orm import relationship
from database import Base
class User(Base):
__tablename__ = "users"
id = Column(Integer, primary_key=True, index=True)
email = Column(String, unique=True, index=True, nullable=False)
name = Column(String, nullable=False)
password_hash = Column(String, nullable=False)
created_at = Column(DateTime, server_default=func.now())
projects = relationship("Project", back_populates="owner")
class Project(Base):
__tablename__ = "projects"
id = Column(Integer, primary_key=True, index=True)
filename = Column(String, nullable=False)
file_id = Column(String, unique=True, index=True, nullable=False)
upload_path = Column(String, nullable=False)
layer_count = Column(Integer, default=0)
status = Column(String, default="uploaded")
processing_ms = Column(Integer, default=0)
saved_state = Column(Text, nullable=True)
thumbnail_b64 = Column(Text, nullable=True)
created_at = Column(DateTime, server_default=func.now())
updated_at = Column(DateTime, server_default=func.now(), onupdate=func.now())
user_id = Column(Integer, ForeignKey("users.id"), nullable=False)
owner = relationship("User", back_populates="projects")