@@ -22,8 +22,7 @@ class Hro2DataService {
2222 }
2323
2424 Future <bool > deleteAllForKey (String key) async {
25- var atKeys =
26- await AtClientManager .getInstance ().atClient.getAtKeys (regex: key);
25+ var atKeys = await AtClientManager .getInstance ().atClient.getAtKeys (regex: key);
2726 for (var atKey in atKeys) {
2827 await delete (atKey);
2928 }
@@ -41,9 +40,7 @@ class Hro2DataService {
4140
4241 Future <List <HrO2Device >> getDevices () async {
4342 List <HrO2Device > hrO2DeviceList = [];
44- var keys = await AtClientManager .getInstance ()
45- .atClient
46- .getAtKeys (regex: AppConstants .deviceKey);
43+ var keys = await AtClientManager .getInstance ().atClient.getAtKeys (regex: AppConstants .deviceKey);
4744 _logger.info ('getDevices keys ${keys .toString ()}' );
4845
4946 for (var element in keys) {
@@ -63,27 +60,29 @@ class Hro2DataService {
6360 }
6461
6562 Future <bool > putDevice (HrO2Device hrO2Device) async {
66- AtKey atKey = AtKey ()..key = AppConstants .deviceKey;
63+ Metadata metadata = Metadata ()
64+ // ..ttl = 10000
65+ ..ttr = - 1 ;
66+ AtKey atKey = AtKey ()
67+ ..sharedWith = '@demopatient01'
68+ ..metadata = metadata
69+ ..key = AppConstants .deviceKey;
6770 var value = jsonEncode (hrO2Device);
68- var response =
69- await AtClientManager .getInstance ().atClient.put (atKey, value);
71+ var response = await AtClientManager .getInstance ().atClient.put (atKey, value);
7072 _logger.info ('putDeviceList success = $response ' );
7173 return response;
7274 }
7375
7476 Future <bool > deleteDevice (HrO2Device hrO2Device) async {
7577 bool response = false ;
76- List <AtKey > keys = await AtClientManager .getInstance ()
77- .atClient
78- .getAtKeys (regex: AppConstants .deviceKey);
78+ List <AtKey > keys = await AtClientManager .getInstance ().atClient.getAtKeys (regex: AppConstants .deviceKey);
7979 _logger.info ('deleteDevice processing ${keys .length } items' );
8080 for (var key in keys) {
8181 AtValue data = await AtClientManager .getInstance ().atClient.get (key);
8282 var atKeyString = jsonDecode (data.value);
8383 HrO2Device device = HrO2Device .fromJson (atKeyString);
8484 if (device.deviceAtsign == hrO2Device.deviceAtsign) {
85- _logger.info (
86- 'deleteReceiver deleting ${hrO2Device .deviceAtsign }\' s entry' );
85+ _logger.info ('deleteReceiver deleting ${hrO2Device .deviceAtsign }\' s entry' );
8786 response = await delete (key);
8887 }
8988 }
@@ -93,15 +92,12 @@ class Hro2DataService {
9392 Future <List <HrO2Receiver >> getReceivers () async {
9493 List <HrO2Receiver > hrO2ReceiverList = [];
9594 // var atClient = _atClient;
96- var keys = await AtClientManager .getInstance ()
97- .atClient
98- .getAtKeys (regex: AppConstants .receiverKey);
95+ var keys = await AtClientManager .getInstance ().atClient.getAtKeys (regex: AppConstants .receiverKey);
9996 for (var element in keys) {
10097 var data = await AtClientManager .getInstance ().atClient.get (element);
10198 _logger.info ('getReceivers got ${data .value }' );
10299 try {
103- HrO2Receiver hrO2Receiver =
104- HrO2Receiver .fromJson (jsonDecode (data.value));
100+ HrO2Receiver hrO2Receiver = HrO2Receiver .fromJson (jsonDecode (data.value));
105101 hrO2ReceiverList.add (hrO2Receiver);
106102 } catch (error) {
107103 // found some dirty data, consider deleting
@@ -122,8 +118,7 @@ class Hro2DataService {
122118 ..metadata = metadata
123119 ..key = AppConstants .receiverKey;
124120 var value = jsonEncode (hrO2Receiver);
125- var success =
126- await AtClientManager .getInstance ().atClient.put (atKey, value);
121+ var success = await AtClientManager .getInstance ().atClient.put (atKey, value);
127122 _logger.info ('putReceiver success = $success ' );
128123 var receiverSuccess = await updateDeviceReceivers (hrO2Receiver.hrO2Device);
129124 return success && receiverSuccess;
@@ -132,17 +127,14 @@ class Hro2DataService {
132127 Future <bool > deleteReceiver (HrO2Receiver hrO2Receiver) async {
133128 bool deleteSuccess = false ;
134129 bool deviceUpdated = false ;
135- List <AtKey > keys = await AtClientManager .getInstance ()
136- .atClient
137- .getAtKeys (regex: AppConstants .receiverKey);
130+ List <AtKey > keys = await AtClientManager .getInstance ().atClient.getAtKeys (regex: AppConstants .receiverKey);
138131 _logger.info ('deleteReceiver processing ${keys .length } items' );
139132 for (var key in keys) {
140133 AtValue data = await AtClientManager .getInstance ().atClient.get (key);
141134 var atKeyString = jsonDecode (data.value);
142135 HrO2Receiver rec = HrO2Receiver .fromJson (atKeyString);
143136 if (rec.receiverAtsign == hrO2Receiver.receiverAtsign) {
144- _logger.info (
145- 'deleteReceiver deleting ${hrO2Receiver .receiverAtsign }\' s entry' );
137+ _logger.info ('deleteReceiver deleting ${hrO2Receiver .receiverAtsign }\' s entry' );
146138 deleteSuccess = await delete (key);
147139 deviceUpdated = await updateDeviceReceivers (hrO2Receiver.hrO2Device);
148140 }
@@ -152,16 +144,13 @@ class Hro2DataService {
152144
153145 Future <List <HrO2DataOwner >> getDataOwners () async {
154146 List <HrO2DataOwner > hrO2DataOwnerList = [];
155- var keys = await AtClientManager .getInstance ()
156- .atClient
157- .getAtKeys (regex: AppConstants .dataOwnerKey);
147+ var keys = await AtClientManager .getInstance ().atClient.getAtKeys (regex: AppConstants .dataOwnerKey);
158148 _logger.info ('getDataOwners keys $keys ' );
159149 for (var element in keys) {
160150 var data = await AtClientManager .getInstance ().atClient.get (element);
161151 _logger.info ('getDataOwners got ${data .value }' );
162152 try {
163- HrO2DataOwner hrO2DataOwner =
164- HrO2DataOwner .fromJson (jsonDecode (data.value));
153+ HrO2DataOwner hrO2DataOwner = HrO2DataOwner .fromJson (jsonDecode (data.value));
165154 hrO2DataOwnerList.add (hrO2DataOwner);
166155 } catch (error) {
167156 // found some dirty data, consider deleting
@@ -181,30 +170,24 @@ class Hro2DataService {
181170 ..sharedWith = hrO2DataOwner.dataOwnerAtsign
182171 ..metadata = metadata
183172 ..key = AppConstants .dataOwnerKey;
184- var success = await AtClientManager .getInstance ()
185- .atClient
186- .put (atKey, jsonEncode (hrO2DataOwner));
173+ var success = await AtClientManager .getInstance ().atClient.put (atKey, jsonEncode (hrO2DataOwner));
187174 _logger.info ('putDataOwner success = $success ' );
188- var dataOwnerSuccess =
189- await updateDeviceDataOwners (hrO2DataOwner.hrO2Device);
175+ var dataOwnerSuccess = await updateDeviceDataOwners (hrO2DataOwner.hrO2Device);
190176 _logger.info ('putDataOwner updateDevice success = $dataOwnerSuccess ' );
191177 return success && dataOwnerSuccess;
192178 }
193179
194180 Future <bool > deleteDataOwner (HrO2DataOwner hrO2DataOwner) async {
195181 bool deleteSuccess = false ;
196182 bool deviceUpdated = false ;
197- List <AtKey > keys = await AtClientManager .getInstance ()
198- .atClient
199- .getAtKeys (regex: AppConstants .dataOwnerKey);
183+ List <AtKey > keys = await AtClientManager .getInstance ().atClient.getAtKeys (regex: AppConstants .dataOwnerKey);
200184 _logger.info ('deleteDataOwner processing ${keys .length } items' );
201185 for (var key in keys) {
202186 AtValue data = await AtClientManager .getInstance ().atClient.get (key);
203187 var atKeyString = jsonDecode (data.value);
204188 HrO2DataOwner owner = HrO2DataOwner .fromJson (atKeyString);
205189 if (owner.dataOwnerAtsign == hrO2DataOwner.dataOwnerAtsign) {
206- _logger.info (
207- 'deleteDataOwner deleting ${hrO2DataOwner .dataOwnerAtsign }\' s entry' );
190+ _logger.info ('deleteDataOwner deleting ${hrO2DataOwner .dataOwnerAtsign }\' s entry' );
208191 deleteSuccess = await delete (key);
209192 deviceUpdated = await updateDeviceDataOwners (hrO2DataOwner.hrO2Device);
210193 }
@@ -214,16 +197,12 @@ class Hro2DataService {
214197
215198 Future <List <HrO2DeviceOwner >> getDeviceOwners () async {
216199 List <HrO2DeviceOwner > hrO2DeviceOwnerList = [];
217- var keys = await AtClientManager .getInstance ()
218- .atClient
219- .getAtKeys (regex: AppConstants .deviceOwnerKey);
200+ var keys = await AtClientManager .getInstance ().atClient.getAtKeys (regex: AppConstants .deviceOwnerKey);
220201 for (var element in keys) {
221- var deviceOwnerData =
222- await AtClientManager .getInstance ().atClient.get (element);
202+ var deviceOwnerData = await AtClientManager .getInstance ().atClient.get (element);
223203 _logger.info ('getDeviceOwners got ${deviceOwnerData .value }' );
224204 try {
225- HrO2DeviceOwner hrO2DeviceOwner =
226- HrO2DeviceOwner .fromJson (jsonDecode (deviceOwnerData.value));
205+ HrO2DeviceOwner hrO2DeviceOwner = HrO2DeviceOwner .fromJson (jsonDecode (deviceOwnerData.value));
227206 hrO2DeviceOwnerList.add (hrO2DeviceOwner);
228207 } catch (error) {
229208 // found some dirty data, consider deleting
@@ -242,18 +221,14 @@ class Hro2DataService {
242221 ..key = AppConstants .deviceOwnerKey
243222 ..metadata = metadata
244223 ..sharedWith = hrO2DeviceOwner.deviceOwnerAtsign;
245- var response = await AtClientManager .getInstance ()
246- .atClient
247- .put (atKey, jsonEncode (hrO2DeviceOwner));
224+ var response = await AtClientManager .getInstance ().atClient.put (atKey, jsonEncode (hrO2DeviceOwner));
248225 _logger.info ('putDeviceOwner success = $response ' );
249226 return response;
250227 }
251228
252229 Future <bool > deleteDeviceOwner (HrO2DeviceOwner hrO2DeviceOwner) async {
253230 bool deleteSuccess = false ;
254- List <AtKey > keys = await AtClientManager .getInstance ()
255- .atClient
256- .getAtKeys (regex: AppConstants .deviceOwnerKey);
231+ List <AtKey > keys = await AtClientManager .getInstance ().atClient.getAtKeys (regex: AppConstants .deviceOwnerKey);
257232 _logger.info ('deleteDeviceOwner processing ${keys .length } items' );
258233 for (var key in keys) {
259234 AtValue data = await AtClientManager .getInstance ().atClient.get (key);
@@ -270,21 +245,35 @@ class Hro2DataService {
270245
271246 Future <bool > updateDeviceReceivers (HrO2Device hrO2Device) async {
272247 // update the device list of recipients from HrO2Receiver objects
248+ bool success = false ;
273249 Metadata metadata = Metadata ()
274250 // ..ttl = 10000
251+ //..namespaceAware
275252 ..ttr = - 1 ;
276253 AtKey atKey = AtKey ()
277254 ..sharedWith = hrO2Device.deviceAtsign
278255 ..metadata = metadata
279256 ..key = AppConstants .receiverListKey;
280257 List <HrO2Receiver > receiverList = await getReceivers ();
281- var success = await AtClientManager .getInstance ()
282- .atClient
283- .put (atKey, jsonEncode (receiverList));
284- _logger.info ('updateDeviceReceivers key = $atKey ' );
285- _logger.info (
286- 'updateDeviceReceivers receiverList = ${jsonEncode (receiverList )}' );
287- _logger.info ('updateDeviceReceivers success = $success ' );
258+ NotificationService notify = AtClientManager .getInstance ().notificationService;
259+ try {
260+ await notify.notify (NotificationParams .forUpdate (atKey, value: jsonEncode (receiverList)),
261+ checkForFinalDeliveryStatus: false , onSuccess: (notification) {
262+ success = true ;
263+ _logger.info ('SUCCESS:$notification ' );
264+ }, onError: (notification) {
265+ _logger.info ('ERROR:$notification ' );
266+ }, onSentToSecondary: (notification) {
267+ _logger.info ('SENT:$notification ' );
268+ }, waitForFinalDeliveryStatus: false );
269+ } catch (e) {
270+ _logger.severe (e.toString ());
271+ }
272+ // var success = await AtClientManager.getInstance().atClient.put(atKey, jsonEncode(receiverList));
273+ // _logger.info('updateDeviceReceivers key = $atKey');
274+ // _logger.info('updateDeviceReceivers receiverList = ${jsonEncode(receiverList)}');
275+ // _logger.info('updateDeviceReceivers success = $success');
276+ // AtClientManager.getInstance().syncService.sync();
288277 return success;
289278 }
290279
@@ -299,9 +288,7 @@ class Hro2DataService {
299288 ..key = AppConstants .dataOwnerListKey;
300289 List <HrO2DataOwner > owners = await getDataOwners ();
301290 _logger.info ('updateDeviceDataOwners found = ${owners .toString ()}' );
302- var success = await AtClientManager .getInstance ()
303- .atClient
304- .put (atKey, jsonEncode (owners));
291+ var success = await AtClientManager .getInstance ().atClient.put (atKey, jsonEncode (owners));
305292 _logger.info ('updateDeviceDataOwners key = $atKey ' );
306293 _logger.info ('updateDeviceDataOwners success = $success ' );
307294 return success;
@@ -315,10 +302,8 @@ class AppConstants {
315302 static const String deviceKey = 'device.$libraryNamespace ' ;
316303 static const String deviceListKey = 'device_list.$libraryNamespace ' ;
317304 static const String deviceOwnerKey = 'device_owner.$libraryNamespace ' ;
318- static const String deviceOwnerListKey =
319- 'device_owner_list.$libraryNamespace ' ;
320- static const String deviceDataOwnerKey =
321- 'device_data_owner.$libraryNamespace ' ;
305+ static const String deviceOwnerListKey = 'device_owner_list.$libraryNamespace ' ;
306+ static const String deviceDataOwnerKey = 'device_data_owner.$libraryNamespace ' ;
322307 static const String deviceReceiverKey = 'device_receiver.$libraryNamespace ' ;
323308 static const String receiverKey = 'receiver.$libraryNamespace ' ;
324309 static const int responseTimeLimit = 30 ;
0 commit comments