from sqlalchemy import Column, Integer, String

from .db import Base


class UserDatabase(Base):#класс пользователя
    __tablename__ = "users"

    id = Column(Integer, primary_key=True, index=True)#айди пользователя
    phone = Column(Integer, nullable=True)#номер телефона пользователя
    email = Column(String)#электронная почта пользователя
    password = Column(String) # пароль
    hashed_password = Column(String) 
    name = Column(String, nullable=True)#имя пользователя
    surname = Column(String)#фамилия пользователя


class Announcement(Base): #класс объявления
    __tablename__ = "announcements"

    id = Column(Integer, primary_key=True, index=True)#айди объявления
    user_id = Column(Integer)#айди создателя объявления
    name = Column(String) # название объявления
    category = Column(String)#категория продукта из объявления
    best_by = Column(Integer)#срок годности продукта из объявления
    address = Column(String)
    longtitude = Column(Integer)
    latitude = Column(Integer)
    description = Column(String)#описание продукта в объявлении
    src = Column(String, nullable=True) #изображение продукта в объявлении
    metro = Column(String)#ближайщее метро от адреса нахождения продукта
    trashId = Column(Integer, nullable=True)
    booked_by = Column(Integer)#статус бронирования (либо -1, либо айди бронирующего)


class Trashbox(Base):#класс мусорных баков
    __tablename__ = "trashboxes"

    id = Column(Integer, primary_key=True, index=True)#айди 
    name = Column(String, nullable=True)#имя пользователя
    address = Column(String)
    latitude = Column(Integer)
    longtitude = Column(Integer)
    category = Column(String)#категория продукта из объявления