summaryrefslogtreecommitdiffstats
path: root/components/pm-subscription-handler/pmsh_service/mod/api
diff options
context:
space:
mode:
authoregernug <gerard.nugent@est.tech>2021-02-22 11:35:35 +0000
committeregernug <gerard.nugent@est.tech>2021-06-21 10:21:46 +0100
commit1ac9847eb66a074b5413264c788152f7c3ffc28d (patch)
treed62f7495af22f7db652303f4b34bf9b34905a8a1 /components/pm-subscription-handler/pmsh_service/mod/api
parentee67930973552a69830c30e6b3b1915091af8ebb (diff)
[PMSH] Update filter
User can edit/update the nfFilter to include/exclude selected NFs Changelog and version update Issue-ID: DCAEGEN2-2531 Signed-off-by: egernug <gerard.nugent@est.tech> Change-Id: I61388775a711687525b12087e9b533bee1c6b039
Diffstat (limited to 'components/pm-subscription-handler/pmsh_service/mod/api')
-rwxr-xr-xcomponents/pm-subscription-handler/pmsh_service/mod/api/db_models.py16
1 files changed, 11 insertions, 5 deletions
diff --git a/components/pm-subscription-handler/pmsh_service/mod/api/db_models.py b/components/pm-subscription-handler/pmsh_service/mod/api/db_models.py
index a9dd6efe..4501282e 100755
--- a/components/pm-subscription-handler/pmsh_service/mod/api/db_models.py
+++ b/components/pm-subscription-handler/pmsh_service/mod/api/db_models.py
@@ -1,5 +1,5 @@
# ============LICENSE_START===================================================
-# Copyright (C) 2019-2020 Nordix Foundation.
+# Copyright (C) 2019-2021 Nordix Foundation.
# ============================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -16,7 +16,7 @@
# SPDX-License-Identifier: Apache-2.0
# ============LICENSE_END=====================================================
-from sqlalchemy import Column, Integer, String, ForeignKey
+from sqlalchemy import Column, Integer, String, ForeignKey, JSON
from sqlalchemy.orm import relationship
from mod import db
@@ -26,6 +26,7 @@ class SubscriptionModel(db.Model):
__tablename__ = 'subscriptions'
id = Column(Integer, primary_key=True, autoincrement=True)
subscription_name = Column(String(100), unique=True)
+ nfFilter = Column(JSON)
status = Column(String(20))
nfs = relationship(
@@ -33,12 +34,15 @@ class SubscriptionModel(db.Model):
cascade='all, delete-orphan',
backref='subscription')
- def __init__(self, subscription_name, status):
+ def __init__(self, subscription_name, nfFilter, status):
self.subscription_name = subscription_name
+ self.nfFilter = nfFilter
self.status = status
def __repr__(self):
- return f'subscription_name: {self.subscription_name}, status: {self.status}'
+ return f'subscription_name: {self.subscription_name}, ' \
+ f'nfFilter: {self.nfFilter}, ' \
+ f'status: {self.status}'
def __eq__(self, other):
if isinstance(self, other.__class__):
@@ -49,7 +53,9 @@ class SubscriptionModel(db.Model):
sub_nfs = NfSubRelationalModel.query.filter(
NfSubRelationalModel.subscription_name == self.subscription_name).all()
db.session.remove()
- return {'subscription_name': self.subscription_name, 'subscription_status': self.status,
+ return {'subscription_name': self.subscription_name,
+ 'nfFilter': self.nfFilter,
+ 'subscription_status': self.status,
'network_functions': [sub_nf.serialize_nf() for sub_nf in sub_nfs]}