zomato-backend / models.py
Rahul-Samedavar's picture
added restaurent endpoints
5076b3f
from sqlalchemy import Column, Integer, String, DateTime, Text, Float, ForeignKey
from database import Base
from datetime import datetime
class User(Base):
__tablename__ = "users"
id = Column(Integer, primary_key=True, index=True)
name = Column(String, nullable=False)
email = Column(String, unique=True, nullable=False)
password_hash = Column(String, nullable=False)
class Log(Base):
__tablename__ = "logs"
id = Column(Integer, primary_key=True, index=True)
user_id = Column(Integer, nullable=False)
session_id = Column(String, nullable=False)
log = Column(Text, nullable=False)
timestamp = Column(DateTime, default=datetime.utcnow)
class CtrReport(Base):
__tablename__ = "ctr_report"
id = Column(Integer, primary_key=True, index=True)
user_id = Column(Integer, nullable=False)
session_id = Column(String, nullable=False)
report = Column(Text, nullable=False)
insights = Column(Text, nullable=False)
state_flow = Column(Text, nullable=False)
suggestions = Column(Text, nullable=False)
# =========================
# RESTAURANT TABLE
# =========================
class Restaurant(Base):
__tablename__ = "restaurants"
id = Column(Integer, primary_key=True, index=True)
name = Column(String, nullable=False)
cuisine = Column(String, nullable=False)
location = Column(String, nullable=False)
price_range = Column(String, nullable=False)
avg_rating = Column(Float, default=0.0)
description = Column(Text)
# =========================
# REVIEW TABLE
# =========================
class Review(Base):
__tablename__ = "reviews"
id = Column(Integer, primary_key=True, index=True)
restaurant_id = Column(
Integer,
ForeignKey("restaurants.id"),
nullable=False
)
user_name = Column(String, nullable=False)
rating = Column(Integer, nullable=False)
review = Column(Text, nullable=False)
created_at = Column(DateTime, default=datetime.utcnow)