diff --git a/back/add_poems_and_filters.py b/back/add_poems_and_filters.py index 61e5fa4..69daafb 100644 --- a/back/add_poems_and_filters.py +++ b/back/add_poems_and_filters.py @@ -4,9 +4,10 @@ from sqlalchemy.ext.asyncio import AsyncSession from typing import Annotated from fastapi import Depends from sqlalchemy import select, or_, and_ -from . import auth_utils, orm_models, pydantic_schemas import datetime +from . import auth_utils, orm_models, pydantic_schemas + # Загружаем стихи async def add_poems_to_db(async_db: AsyncSession): diff --git a/back/api.py b/back/api.py index 32e8cb6..882a9bd 100644 --- a/back/api.py +++ b/back/api.py @@ -240,9 +240,20 @@ async def poems_to_front(db: Annotated[Session, Depends(auth_utils.get_session)] raise HTTPException(status_code=404, detail="Poem not found") return poem +trashboxes_category = { + "PORRIDGE": ["Опасные отходы", "Иное"], + "conspects": ["Бумага"], + "milk": ["Стекло", "Тетра Пак", "Иное"], + "bred": ["Пластик", "Иное"], + "wathing": ["Пластик", "Опасные отходы", "Иное"], + "cloth": ["Одежда"], + "fruits_vegatables": ["Иное"], + "other_things": ["Металл", "Бумага", "Стекло", "Иное", "Тетра Пак", "Батарейки", "Крышечки", "Шины", + "Опасные отходы", "Лампочки", "Пластик"] +} @app.get("/api/trashbox", response_model=List[pydantic_schemas.TrashboxResponse]) -async def get_trashboxes(data: pydantic_schemas.TrashboxRequest = Depends()):#крутая функция для работы с api +async def get_trashboxes(data: pydantic_schemas.TrashboxRequest = Depends()): #крутая функция для работы с api # json, передаваемый стороннему API head = {'Authorization': 'Bearer ' + TRASHBOXES_TOKEN} # Данные пользователя (местоположение, количество мусорок, которое пользователь хочет видеть) @@ -252,27 +263,12 @@ async def get_trashboxes(data: pydantic_schemas.TrashboxRequest = Depends()):#к 'limit' : '1' } # Перевод категории с фронта на категорию с сайта - match data.Category: - case "PORRIDGE": - list_of_category = ["Опасные отходы", "Иное"] - case "conspects": - list_of_category = ["Бумага"] - case "milk": - list_of_category = ["Стекло", "Тетра Пак", "Иное"] - case "bred": - list_of_category = ["Пластик", "Иное"] - case "wathing": - list_of_category = ["Пластик", "Опасные отходы", "Иное"] - case "cloth": - list_of_category = ["Одежда"] - case "fruits_vegatables": - list_of_category = ["Иное"] - case "other_things": - list_of_category = ["Металл", "Бумага", "Стекло", "Иное", "Тетра Пак", "Батарейки", "Крышечки", "Шины", - "Опасные отходы", "Лампочки", "Пластик"] + list_of_category = trashboxes_category[data.Category] + # Получение ответа от стороннего апи response = requests.post(TRASHBOXES_BASE_URL + "/nearest_recycling/get", headers=head, data=my_data, timeout=10) infos = response.json() + # Чтение ответа trashboxes = [] for trashbox in infos["results"]: diff --git a/back/orm_models.py b/back/orm_models.py index 7d43413..1c7a7b3 100644 --- a/back/orm_models.py +++ b/back/orm_models.py @@ -1,7 +1,8 @@ from sqlalchemy import Column, Integer, String, Boolean, Float, Date, ForeignKey -from .db import Base, engine from sqlalchemy.orm import relationship +from .db import Base, engine + class User(Base):#класс пользователя __tablename__ = "users"