def update_alarm(self, alarm): """Update an alarm. :param alarm: the new Alarm to update """ session = self._engine_facade.get_session() with session.begin(): alarm_row = session.merge(models.Alarm(alarm_id=alarm.alarm_id)) alarm_row.update(alarm.as_dict()) return self._row_to_alarm_model(alarm_row)
def create_alarm(self, alarm): """Create an alarm. :param alarm: The alarm to create. """ session = self._engine_facade.get_session() with session.begin(): alarm_row = models.Alarm(alarm_id=alarm.alarm_id) alarm_row.update(alarm.as_dict()) session.add(alarm_row) return self._row_to_alarm_model(alarm_row)