"""Auth – static admin login only. No registration."""
from fastapi import APIRouter, HTTPException
from app.schemas.schemas import LoginIn
from app.utils.jwt import make_token
from app.utils.response import ok
from app.config import cfg

router = APIRouter()


@router.post("/login")
async def login(body: LoginIn):
    if body.username != cfg.ADMIN_USERNAME or body.password != cfg.ADMIN_PASSWORD:
        raise HTTPException(status_code=401, detail="Invalid credentials")
    token = make_token(body.username)
    return ok({"token": token, "username": body.username})


@router.get("/me")
async def me(user: str = __import__('fastapi').Depends(
    __import__('app.middleware.auth', fromlist=['require_auth']).require_auth
)):
    return ok({"username": user, "role": "admin"})
