# See the License for the specific language governing permissions and
# limitations under the License.
-from typing import List
+from typing import List, Tuple
from o2ims.domain import alarm_obj
from o2ims.domain.alarm_repo import AlarmDefinitionRepository, \
return self.session.query(alarm_obj.AlarmEventRecord).filter_by(
alarmEventRecordId=alarm_event_record_id).first()
- def _list(self) -> List[alarm_obj.AlarmEventRecord]:
- return self.session.query(alarm_obj.AlarmEventRecord)
+ def _list(self, *args, **kwargs) -> Tuple[
+ int, List[alarm_obj.AlarmEventRecord]]:
+ size = kwargs.pop('limit') if 'limit' in kwargs else None
+ offset = kwargs.pop('start') if 'start' in kwargs else 0
+
+ result = self.session.query(alarm_obj.AlarmEventRecord).filter(
+ *args).order_by('alarmEventRecordId')
+ count = result.count()
+ if size is not None and size != -1:
+ return (count, result.limit(size).offset(offset))
+ return (count, result)
def _update(self, alarm_event_record: alarm_obj.AlarmEventRecord):
self.session.add(alarm_event_record)
return self.session.query(alarm_obj.AlarmSubscription).filter_by(
alarmSubscriptionId=subscription_id).first()
- def _list(self) -> List[alarm_obj.AlarmSubscription]:
- return self.session.query(alarm_obj.AlarmSubscription)
+ def _list(self, *args, **kwargs) -> Tuple[
+ int, List[alarm_obj.AlarmSubscription]]:
+ size = kwargs.pop('limit') if 'limit' in kwargs else None
+ offset = kwargs.pop('start') if 'start' in kwargs else 0
+
+ result = self.session.query(alarm_obj.AlarmSubscription).filter(
+ *args).order_by('alarmSubscriptionId')
+ count = result.count()
+ if size is not None and size != -1:
+ return (count, result.limit(size).offset(offset))
+ return (count, result)
def _update(self, subscription: alarm_obj.AlarmSubscription):
self.session.add(subscription)