예제 #1
0
파일: dao.py 프로젝트: jlebleu/xivo-dao
def find_all_by_destination(session, destination, destination_id):
    if not QueryHelper.destination_exists(destination):
        return []

    query = QueryHelper(session).select_destination(destination, destination_id)

    func_key_rows = query.all()
    return [db_converter.to_model(row) for row in func_key_rows]
예제 #2
0
파일: dao.py 프로젝트: jlebleu/xivo-dao
def get(session, func_key_id):
    query = QueryHelper(session).select_func_key(func_key_id)
    row = query.first()

    if not row:
        raise errors.not_found('FuncKey', id=func_key_id)

    return db_converter.to_model(row)
예제 #3
0
파일: dao.py 프로젝트: jaunis/xivo-dao
def get(session, func_key_id):
    query = QueryHelper(session).select_func_key(func_key_id)
    row = query.first()

    if not row:
        raise ElementNotExistsError('FuncKey')

    return db_converter.to_model(row)
예제 #4
0
파일: dao.py 프로젝트: jaunis/xivo-dao
def get(session, func_key_id):
    query = QueryHelper(session).select_func_key(func_key_id)
    row = query.first()

    if not row:
        raise ElementNotExistsError('FuncKey')

    return db_converter.to_model(row)
예제 #5
0
파일: dao.py 프로젝트: jlebleu/xivo-dao
def delete(session, func_key):
    helper = QueryHelper(session)
    func_key_query = helper.delete_func_key(func_key.id)
    destination_query = helper.delete_destination(func_key.destination,
                                                  func_key.destination_id)

    with commit_or_abort(session, DataError.on_delete, 'FuncKey'):
        destination_query.delete()
        func_key_query.delete()
예제 #6
0
파일: dao.py 프로젝트: jaunis/xivo-dao
def delete(session, func_key):
    helper = QueryHelper(session)
    func_key_query = helper.delete_func_key(func_key.id)
    destination_query = helper.delete_destination(func_key.destination,
                                                  func_key.destination_id)

    with commit_or_abort(session, ElementDeletionError, 'FuncKey'):
        destination_query.delete()
        func_key_query.delete()
예제 #7
0
파일: dao.py 프로젝트: jaunis/xivo-dao
def find_all_by_destination(session, destination, destination_id):
    if not QueryHelper.destination_exists(destination):
        return []

    query = QueryHelper(session).select_destination(destination,
                                                    destination_id)

    func_key_rows = query.all()
    return [db_converter.to_model(row) for row in func_key_rows]
예제 #8
0
파일: dao.py 프로젝트: jaunis/xivo-dao
def search(session, **parameters):
    rows, total = QueryHelper(session).search(parameters)

    func_keys = [db_converter.to_model(row) for row in rows]
    return SearchResult(total, func_keys)