Skip to content

Commit bc37f02

Browse files
Added 'is_published' and 'is_deleted' properties to DataAgreementV1Record
- 'is_published' - Returns True if data agreement is published - 'is_deleted' - Returns True if data agreement is deleted - Renamed 'published_flag' (record tag) to 'publish_flag' Signed-off-by: George J Padayatti <[email protected]>
1 parent 4427111 commit bc37f02

File tree

1 file changed

+35
-5
lines changed

1 file changed

+35
-5
lines changed

mydata_did/v1_0/models/exchange_records/data_agreement_record.py

Lines changed: 35 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class Meta:
2929
TAG_NAMES = {
3030
"~method_of_use",
3131
"~data_agreement_id",
32-
"~published_flag",
32+
"~publish_flag",
3333
"~delete_flag",
3434
"~schema_id",
3535
"~cred_def_id",
@@ -50,7 +50,7 @@ def __init__(
5050
state: str = None,
5151
method_of_use: str = None,
5252
data_agreement: dict = None,
53-
published_flag: str = "False",
53+
publish_flag: str = "False",
5454
delete_flag: str = "False",
5555
schema_id: str = None,
5656
cred_def_id: str = None,
@@ -72,7 +72,7 @@ def __init__(
7272
self.state = state
7373
self.data_agreement = data_agreement
7474
self.data_agreement_id = data_agreement_id
75-
self.published_flag = published_flag
75+
self.publish_flag = publish_flag
7676
self.delete_flag = delete_flag
7777
self.schema_id = schema_id
7878
self.cred_def_id = cred_def_id
@@ -93,7 +93,7 @@ def record_value(self) -> dict:
9393
"method_of_use",
9494
"data_agreement",
9595
"data_agreement_id",
96-
"published_flag",
96+
"publish_flag",
9797
"delete_flag",
9898
"schema_id",
9999
"cred_def_id",
@@ -104,6 +104,36 @@ def record_value(self) -> dict:
104104
def __eq__(self, other: Any) -> bool:
105105
"""Comparison between records."""
106106
return super().__eq__(other)
107+
108+
@property
109+
def _publish_flag(self) -> bool:
110+
"""Accessor for publish_flag."""
111+
return self.publish_flag == "True"
112+
113+
@_publish_flag.setter
114+
def _publish_flag(self, value: bool) -> None:
115+
"""Setter for publish_flag."""
116+
self.publish_flag = "True" if value else "False"
117+
118+
@property
119+
def _delete_flag(self) -> bool:
120+
"""Accessor for delete_flag."""
121+
return self.delete_flag == "True"
122+
123+
@_delete_flag.setter
124+
def _delete_flag(self, value: bool) -> None:
125+
"""Setter for delete_flag."""
126+
self.delete_flag = "True" if value else "False"
127+
128+
@property
129+
def is_published(self) -> bool:
130+
"""Check if data agreement record is published."""
131+
return True if self._publish_flag and not self._delete_flag else False
132+
133+
@property
134+
def is_deleted(self) -> bool:
135+
"""Check if data agreemnent is deleted."""
136+
return True if self._delete_flag and not self._publish_flag else False
107137

108138

109139
class DataAgreementV1RecordSchema(BaseExchangeSchema):
@@ -160,7 +190,7 @@ class Meta:
160190
)
161191

162192
# Production flag
163-
published_flag = fields.Str(
193+
publish_flag = fields.Str(
164194
required=True,
165195
description="The production flag.",
166196
example="False",

0 commit comments

Comments
 (0)