async def share_subject(subject_id: str, token: str): security_payload = validate_jwt(token) user = get_user(security_payload["sub"]) if user is None: raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED) subject = load_console_subject_by_id(subject_id) return {"subject": subject}
async def validate_token(token: str) -> User: security_payload = validate_jwt(token) user = load_user_by_name(security_payload["sub"]) if user is None: raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED) return user
async def share_dashboard(dashboard_id: str, token: str): security_payload = validate_jwt(token) user: User = get_user(security_payload["sub"]) if user is None: raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED) dashboard = load_dashboard_by_id(dashboard_id, user) return load_space_list_by_dashboard(dashboard, user)
async def share_dashboard(dashboard_id: str, token: str): security_payload = validate_jwt(token) user = get_user(security_payload["sub"]) if user is None: raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED) dashboard = load_dashboard_by_id(dashboard_id) reports = load_reports_by_ids(list(map(lambda report: report.reportId, dashboard.reports))) return {"dashboard": dashboard, "reports": reports}
def get_current_user(token: str = Depends(reusable_oauth2)) -> User: try: payload = validate_jwt(token) # token_data = token.TokenPayload(**payload) except (jwt.JWTError, ValidationError): raise HTTPException( status_code=status.HTTP_403_FORBIDDEN, detail="Could not validate credentials", ) user = get_user(payload["sub"]) if not user: raise HTTPException(status_code=404, detail="User not found") return user
def get_username(scheme, token): if scheme.lower() == "bearer": try: payload = validate_jwt(token) except (jwt.JWTError, ValidationError): raise HTTPException( status_code=status.HTTP_401_UNAUTHORIZED, detail="Could not validate credentials", ) return payload["sub"] elif scheme.lower() == "pat": pat: PersonAccessToken = verifyPAT(token) if pat is not None: return pat.username else: raise HTTPException( status_code=status.HTTP_401_UNAUTHORIZED, detail="Could not validate credentials", )