from typing import Optional from fastapi import HTTPException, Header from Utils.Authentication.TokenUtil import decode_token def ac_admin(token: Optional[str] = Header(...)): role = decode_token(token).get("user_info").get("role") if role != "admin": raise HTTPException(status_code=400, detail="No Access") # def ac_index_store(request: Request, token: Optional[str] = Header(...)): # e = casbin.Enforcer( # os.getcwd() + r"\Utils\AccessControl\model.conf", # os.getcwd() + r"\Utils\AccessControl\policy_index_store.csv" # ) # # sub = decode_token(token).get("role") # obj = request.url.__str__().split(request.base_url.__str__()[:-1])[-1].split("?")[0] # act = request.method # # if not e.enforce(sub, obj, act): # raise HTTPException(status_code=400, detail="No Access")