示例#1
0
def add_query_execution_viewer(execution_id, uid):
    verify_query_execution_owner(execution_id)
    with DBSession() as session:
        viewer = QueryExecutionViewer.create(
            {
                "query_execution_id": execution_id,
                "uid": uid,
                "created_by": current_user.id,
            },
            commit=False,
            session=session,
        )
        access_request = AccessRequest.get(
            session=session, query_execution_id=execution_id, uid=uid
        )
        if access_request:
            AccessRequest.delete(id=access_request.id, session=session, commit=False)
        send_query_execution_invitation_notification(
            execution_id=execution_id, uid=uid, session=session
        )
        session.commit()
    return viewer.to_dict()
示例#2
0
def delete_query_execution_access_request(execution_id, uid):
    verify_query_execution_owner(execution_id)
    access_request = AccessRequest.get(query_execution_id=execution_id,
                                       uid=uid)
    if access_request:
        AccessRequest.delete(id=access_request.id)
示例#3
0
def get_query_execution_access_requests(execution_id):
    verify_query_execution_owner(execution_id)
    return AccessRequest.get_all(query_execution_id=execution_id)
示例#4
0
def get_query_execution_viewers(execution_id):
    verify_query_execution_owner(execution_id)
    return QueryExecutionViewer.get_all(query_execution_id=execution_id)