diff --git a/Shops/household_shop/homeworks/FastApi_hw/config.py b/Shops/household_shop/homeworks/FastApi_hw/config.py new file mode 100644 index 0000000..3264be6 --- /dev/null +++ b/Shops/household_shop/homeworks/FastApi_hw/config.py @@ -0,0 +1,5 @@ +SERVICE_HOST = '127.0.0.1' +SERVICE_PORT = 8000 + +CATS_URL = 'https://meowfacts.herokuapp.com/' +DOGS_URL = 'http://dog-api.kinduff.com/api/facts' diff --git a/Shops/household_shop/homeworks/FastApi_hw/main.py b/Shops/household_shop/homeworks/FastApi_hw/main.py new file mode 100644 index 0000000..a2f613a --- /dev/null +++ b/Shops/household_shop/homeworks/FastApi_hw/main.py @@ -0,0 +1,21 @@ +import uvicorn +from fastapi import FastAPI +from models import Request, Response +from services import get_data, make_response +from config import SERVICE_HOST, SERVICE_PORT + + +app = FastAPI(title='HW_Application') + + +@app.post( + '/post', + description='Facts about animals', + response_model=Request, +) +async def an(test: Request): + return ... + + +if __name__ == "__main__": + uvicorn.run(app=app, host=SERVICE_HOST, port=SERVICE_PORT) diff --git a/Shops/household_shop/homeworks/FastApi_hw/models.py b/Shops/household_shop/homeworks/FastApi_hw/models.py new file mode 100644 index 0000000..511dcf7 --- /dev/null +++ b/Shops/household_shop/homeworks/FastApi_hw/models.py @@ -0,0 +1,19 @@ +from enum import Enum +from pydantic import BaseModel +from typing import Tuple, Union + + +class Request(BaseModel): + fields: tuple[str, ...] + + +class CatsResponse(BaseModel): + ... + + +class DogsResponse(BaseModel): + ... + + +class Response(BaseModel): + data: tuple[str, ...] diff --git a/Shops/household_shop/homeworks/FastApi_hw/services.py b/Shops/household_shop/homeworks/FastApi_hw/services.py new file mode 100644 index 0000000..acdc3e1 --- /dev/null +++ b/Shops/household_shop/homeworks/FastApi_hw/services.py @@ -0,0 +1,12 @@ +import aiohttp +from typing import Union +from config import CATS_URL, DOGS_URL +from models import Request, Response, CurrencyInfo, WeatherReaponse + + +async def get_data(requset: Request) -> Response: + ... + + +async def make_response(service_name: str) -> Union[tuple[CurrencyInfo, ...], WeatherReaponse]: + ... \ No newline at end of file