Exemple #1
0
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 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}
async def load_template_space_list(space_id: str,
                                   current_user: User = Depends(
                                       deps.get_current_user)):
    results: List[ConsoleSpace] = load_template_space_list_by_space_id(
        space_id)
    template_list = []
    for console_space in results:
        user = get_user(console_space.userId)
        template_list.append(
            ConnectedSpaceTemplate(connectId=console_space.connectId,
                                   name=console_space.name,
                                   createBy=user.name))
    return template_list
Exemple #5
0
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
async def load_user(user_id: str, current_user: User = Depends(deps.get_current_user)):
    return get_user(user_id)
Exemple #7
0
async def import_user(user: User):
    result = get_user(user.userId)
    if result is None:
        import_user_to_db(user)
    else:
        update_user_storage(user)