diff --git a/api/pyproject.toml b/api/pyproject.toml index 07a03f6..ca61e59 100644 --- a/api/pyproject.toml +++ b/api/pyproject.toml @@ -7,6 +7,7 @@ authors = [ ] dependencies = [ "fastapi[standard]>=0.115.7", + "pydantic>=2.10.5", ] readme = "README.md" requires-python = ">= 3.12" diff --git a/api/src/__init__.py b/api/src/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/api/src/api/__init__.py b/api/src/api/__init__.py new file mode 100644 index 0000000..533cc6c --- /dev/null +++ b/api/src/api/__init__.py @@ -0,0 +1 @@ +from .check_imei import checking_router as checking_router \ No newline at end of file diff --git a/api/src/api/check_imei.py b/api/src/api/check_imei.py new file mode 100644 index 0000000..64effb1 --- /dev/null +++ b/api/src/api/check_imei.py @@ -0,0 +1,15 @@ +from fastapi import APIRouter, status + +from src.schemas import CheckingInput, CheckingOutput + + +checking_router = APIRouter() + + +@checking_router.post( + "/check-imei", + status_code=status.HTTP_200_OK, + response_model=CheckingOutput +) +async def check_imei(body: CheckingInput): + return CheckingOutput(result="OK") diff --git a/api/src/app.py b/api/src/app.py index b1c50b4..9c3519e 100644 --- a/api/src/app.py +++ b/api/src/app.py @@ -1,6 +1,8 @@ from fastapi import APIRouter, FastAPI from fastapi.middleware.cors import CORSMiddleware +from src.api import checking_router + app = FastAPI( title="hatiko-api", ) @@ -14,6 +16,9 @@ app.add_middleware( main_app_router = APIRouter(prefix="/api") -app.include_router(main_app_router) +main_app_router.include_router(checking_router, tags=["Check IMEI"]) + + +app.include_router(checking_router) diff --git a/api/src/schemas/__init__.py b/api/src/schemas/__init__.py new file mode 100644 index 0000000..c85d1d9 --- /dev/null +++ b/api/src/schemas/__init__.py @@ -0,0 +1,2 @@ +from .checking import CheckingInput as CheckingInput +from .checking import CheckingOutput as CheckingOutput \ No newline at end of file diff --git a/api/src/schemas/checking.py b/api/src/schemas/checking.py new file mode 100644 index 0000000..4d7c490 --- /dev/null +++ b/api/src/schemas/checking.py @@ -0,0 +1,14 @@ +from typing import Any +from pydantic import BaseModel, ConfigDict + +class CheckingOutput(BaseModel): + model_config = ConfigDict(from_attributes=True) + + result: Any + + +class CheckingInput(BaseModel): + model_config = ConfigDict(from_attributes=True) + + imei: str + token: str