store.py 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. from fastapi import APIRouter, Depends, Query, status
  2. from fastapi.responses import JSONResponse
  3. from models.user import User
  4. from pydantic import BaseModel
  5. from auth.security import get_current_user
  6. from config import settings
  7. from utils.responses import success_response
  8. from fudo.fudo import get_table
  9. store_router = APIRouter()
  10. class AppStateBody(BaseModel):
  11. state: bool
  12. @store_router.post("/state", response_class=JSONResponse)
  13. def set_store_state(state: AppStateBody, current_user: User = Depends(get_current_user)):
  14. if (current_user.permissions or -1) >= 1:
  15. settings.IS_OPEN_STORE = state.state
  16. return success_response({"state": settings.IS_OPEN_STORE})
  17. @store_router.get("/tables/exists", response_class=JSONResponse)
  18. def get_table_exists(q: str = Query(..., description="q parameter")):
  19. table = get_table(int(q))
  20. exist = bool(table)
  21. return success_response({"exists": exist}, status_code=200)
  22. @store_router.get("/state", response_class=JSONResponse)
  23. def get_store_state(_: User = Depends(get_current_user)):
  24. return success_response(data={"state": settings.IS_OPEN_STORE})