Exemple #1
0
def create(session, func_key):
    func_key_row = db_converter.create_func_key_row(func_key)
    with commit_or_abort(session, ElementCreationError, 'FuncKey'):
        session.add(func_key_row)

    func_key.id = func_key_row.id

    destination_row = db_converter.create_destination_row(func_key)
    with commit_or_abort(session, ElementCreationError, 'FuncKey'):
        session.add(destination_row)

    return func_key
Exemple #2
0
def create(session, func_key):
    func_key_row = db_converter.create_func_key_row(func_key)
    with commit_or_abort(session, DataError.on_create, 'FuncKey'):
        session.add(func_key_row)

    func_key.id = func_key_row.id

    destination_row = db_converter.create_destination_row(func_key)
    with commit_or_abort(session, DataError.on_create, 'FuncKey'):
        session.add(destination_row)

    return func_key
Exemple #3
0
def create(session, incall):
    extension = extension_dao.get(incall.extension_id)

    incall_row = incall_db_converter.to_incall(incall, extension)
    with commit_or_abort(session, ElementCreationError, 'Incall'):
        session.add(incall_row)

    incall.id = incall_row.id

    dialaction_row = incall_db_converter.to_dialaction(incall)
    with commit_or_abort(session, ElementCreationError, 'Incall'):
        session.add(dialaction_row)

    return incall
Exemple #4
0
def create(session, incall):
    extension = extension_dao.get(incall.extension_id)

    incall_row = incall_db_converter.to_incall(incall, extension)
    with commit_or_abort(session, ElementCreationError, 'Incall'):
        session.add(incall_row)

    incall.id = incall_row.id

    dialaction_row = incall_db_converter.to_dialaction(incall)
    with commit_or_abort(session, ElementCreationError, 'Incall'):
        session.add(dialaction_row)

    return incall
Exemple #5
0
def associate_destination(session, extension_id, destination, destination_id):
    updated_row = {'type': destination, 'typeval': str(destination_id)}

    with commit_or_abort(session, ElementEditionError, 'Extension'):
        (session.query(ExtensionSchema)
         .filter(ExtensionSchema.id == extension_id)
         .update(updated_row))
Exemple #6
0
def create_private_template(session):
    template = FuncKeyTemplateSchema(private=True)

    with commit_or_abort(session, ElementCreationError, 'FuncKeyTemplate'):
        session.add(template)

    return template.id
Exemple #7
0
def create_private_template(session):
    template = FuncKeyTemplateSchema(private=True)

    with commit_or_abort(session, DataError.on_create, 'FuncKeyTemplate'):
        session.add(template)

    return template.id
Exemple #8
0
def delete_private_template(session, template_id):
    with commit_or_abort(session, ElementDeletionError, 'FuncKeyTemplate'):
        (session.query(FuncKeyMappingSchema).filter(
            FuncKeyMappingSchema.template_id == template_id).delete())

        (session.query(FuncKeyTemplateSchema).filter(
            FuncKeyTemplateSchema.id == template_id).delete())
Exemple #9
0
def edit(session, user):
    user_row = _fetch_commented_user_row(session, user.id)

    db_converter.update_source(user_row, user)

    with commit_or_abort(session, DataError.on_edit, 'User'):
        session.add(user_row)
Exemple #10
0
def create_private_template(session):
    template = FuncKeyTemplateSchema(private=True)

    with commit_or_abort(session, ElementCreationError, 'FuncKeyTemplate'):
        session.add(template)

    return template.id
Exemple #11
0
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()
Exemple #12
0
def delete_private_template(session, template_id):
    with commit_or_abort(session, ElementDeletionError, 'FuncKeyTemplate'):
        (session.query(FuncKeyMappingSchema)
         .filter(FuncKeyMappingSchema.template_id == template_id)
         .delete())

        (session.query(FuncKeyTemplateSchema)
         .filter(FuncKeyTemplateSchema.id == template_id)
         .delete())
Exemple #13
0
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()
Exemple #14
0
def create(session, user):
    user_row = db_converter.to_source(user)
    user_row.entityid = entity_dao.default_entity_id()

    with commit_or_abort(session, DataError.on_create, 'User'):
        session.add(user_row)

    user.id = user_row.id

    return user
Exemple #15
0
def delete(session, incall):
    incall_query = (session.query(Incall).filter(Incall.id == incall.id))

    dialaction_query = (session.query(Dialaction).filter(
        Dialaction.category == 'incall').filter(
            Dialaction.categoryval == str(incall.id)))

    with commit_or_abort(session, ElementDeletionError, 'Incall'):
        incall_query.delete()
        dialaction_query.delete()
Exemple #16
0
    def test_when_adding_a_row_then_row_is_committed(self):
        row = Mock()
        session = Mock()
        error = Mock()
        element = Mock()

        with db_utils.commit_or_abort(session, error, element):
            session.add(row)

        session.begin.assert_called_once_with()
        session.commit.assert_called_once_with()
Exemple #17
0
def delete(session, incall):
    incall_query = (session.query(Incall)
                    .filter(Incall.id == incall.id))

    dialaction_query = (session.query(Dialaction)
                        .filter(Dialaction.category == 'incall')
                        .filter(Dialaction.categoryval == str(incall.id)))

    with commit_or_abort(session, ElementDeletionError, 'Incall'):
        incall_query.delete()
        dialaction_query.delete()
Exemple #18
0
    def test_when_adding_a_row_then_row_is_committed(self):
        row = Mock()
        session = Mock()
        error = Mock()
        element = Mock()

        with db_utils.commit_or_abort(session, error, element):
            session.add(row)

        session.begin.assert_called_once_with()
        session.commit.assert_called_once_with()
Exemple #19
0
    def test_given_row_added_when_error_then_rollback_and_error_raised(self):
        row = Mock()
        session = Mock()
        session.commit.side_effect = SQLAlchemyError()
        element = Mock()

        with self.assertRaises(CustomException):
            with db_utils.commit_or_abort(session, CustomException, element):
                session.add(row)

        session.begin.assert_called_once_with()
        session.rollback.assert_called_once_with()
Exemple #20
0
    def test_given_row_added_when_error_then_rollback_and_error_raised(self):
        row = Mock()
        session = Mock()
        session.commit.side_effect = SQLAlchemyError()
        element = Mock()

        with self.assertRaises(CustomException):
            with db_utils.commit_or_abort(session, CustomException, element):
                session.add(row)

        session.begin.assert_called_once_with()
        session.rollback.assert_called_once_with()
Exemple #21
0
def create_default_dial_actions_for_user(session, user):
    with commit_or_abort(session, ElementCreationError, 'Dialaction'):
        for event in USER_EVENTS:
            dialaction = _create_user_dial_action(user.id, event)
            session.add(dialaction)
Exemple #22
0
def remove_func_key_from_templates(session, func_key):
    with commit_or_abort(session, ElementDeletionError, 'FuncKeyTemplate'):
        (session.query(FuncKeyMappingSchema)
         .filter(FuncKeyMappingSchema.func_key_id == func_key.id)
         .delete())
Exemple #23
0
def create_default_dial_actions_for_user(session, user):
    with commit_or_abort(session, DataError.on_create, 'Dialaction'):
        for event in USER_EVENTS:
            dialaction = _create_user_dial_action(user.id, event)
            session.add(dialaction)
Exemple #24
0
def associate_destination(session, extension_id, destination, destination_id):
    updated_row = {'type': destination, 'typeval': str(destination_id)}

    with commit_or_abort(session, ElementEditionError, 'Extension'):
        (session.query(ExtensionSchema).filter(
            ExtensionSchema.id == extension_id).update(updated_row))
Exemple #25
0
def remove_func_key_from_templates(session, func_key):
    with commit_or_abort(session, ElementDeletionError, 'FuncKeyTemplate'):
        (session.query(FuncKeyMappingSchema).filter(
            FuncKeyMappingSchema.func_key_id == func_key.id).delete())
Exemple #26
0
def delete(session, user):
    with commit_or_abort(session, DataError.on_delete, 'User'):
        _delete_user(session, user.id)