46 lines
2.1 KiB
Python
46 lines
2.1 KiB
Python
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)#категория продукта из объявления
|
|
|