from sqlalchemy import Column, String, Integer, Boolean, DateTime, ForeignKey, Float from sqlalchemy.orm import relationship from sqlalchemy.sql import func from core.database import Base import uuid from datetime import datetime class User(Base): __tablename__ = "users" id = Column(String, primary_key=True, default=lambda: str(uuid.uuid4())) address = Column(String, nullable=False) square_footage = Column(Float, nullable=False) bedrooms = Column(Integer, nullable=False) bathrooms = Column(Float, nullable=False) year_built = Column(Integer, nullable=False) property_type = Column(String, nullable=False) price = Column(Float, nullable=False) is_available = Column(Boolean, default=True) description = Column(String, nullable=True) garage_spaces = Column(Integer, default=0) lot_size = Column(Float, nullable=True) status = Column(String, default="available") created_at = Column(DateTime, default=func.now()) updated_at = Column(DateTime, default=func.now(), onupdate=func.now())