@@ -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,10 +40,9 @@ class Hro2DataService {
4140
4241 Future <List <HrO2Device >> getDevices () async {
4342 List <HrO2Device > hrO2DeviceList = [];
44- // var atClient = AtClientManager.getInstance().atClient;
45- var keys = await AtClientManager .getInstance ()
46- .atClient
47- .getAtKeys (regex: AppConstants .deviceKey);
43+ var keys = await AtClientManager .getInstance ().atClient.getAtKeys (regex: AppConstants .deviceKey);
44+ _logger.info ('getDevices keys ${keys .toString ()}' );
45+
4846 for (var element in keys) {
4947 var data = await AtClientManager .getInstance ().atClient.get (element);
5048 _logger.info ('getDevices got ${data .value }' );
@@ -62,27 +60,29 @@ class Hro2DataService {
6260 }
6361
6462 Future <bool > putDevice (HrO2Device hrO2Device) async {
65- AtKey atKey = AtKey ()..key = AppConstants .deviceKey;
63+ Metadata metadata = Metadata ()
64+ // ..ttl = 10000
65+ ..ttr = - 1 ;
66+ AtKey atKey = AtKey ()
67+ ..sharedWith = hrO2Device.deviceAtsign
68+ ..metadata = metadata
69+ ..key = AppConstants .deviceKey;
6670 var value = jsonEncode (hrO2Device);
67- var response =
68- await AtClientManager .getInstance ().atClient.put (atKey, value);
71+ var response = await AtClientManager .getInstance ().atClient.put (atKey, value);
6972 _logger.info ('putDeviceList success = $response ' );
7073 return response;
7174 }
7275
7376 Future <bool > deleteDevice (HrO2Device hrO2Device) async {
7477 bool response = false ;
75- List <AtKey > keys = await AtClientManager .getInstance ()
76- .atClient
77- .getAtKeys (regex: AppConstants .deviceKey);
78+ List <AtKey > keys = await AtClientManager .getInstance ().atClient.getAtKeys (regex: AppConstants .deviceKey);
7879 _logger.info ('deleteDevice processing ${keys .length } items' );
7980 for (var key in keys) {
8081 AtValue data = await AtClientManager .getInstance ().atClient.get (key);
8182 var atKeyString = jsonDecode (data.value);
8283 HrO2Device device = HrO2Device .fromJson (atKeyString);
8384 if (device.deviceAtsign == hrO2Device.deviceAtsign) {
84- _logger.info (
85- 'deleteReceiver deleting ${hrO2Device .deviceAtsign }\' s entry' );
85+ _logger.info ('deleteReceiver deleting ${hrO2Device .deviceAtsign }\' s entry' );
8686 response = await delete (key);
8787 }
8888 }
@@ -92,15 +92,12 @@ class Hro2DataService {
9292 Future <List <HrO2Receiver >> getReceivers () async {
9393 List <HrO2Receiver > hrO2ReceiverList = [];
9494 // var atClient = _atClient;
95- var keys = await AtClientManager .getInstance ()
96- .atClient
97- .getAtKeys (regex: AppConstants .receiverKey);
95+ var keys = await AtClientManager .getInstance ().atClient.getAtKeys (regex: AppConstants .receiverKey);
9896 for (var element in keys) {
9997 var data = await AtClientManager .getInstance ().atClient.get (element);
10098 _logger.info ('getReceivers got ${data .value }' );
10199 try {
102- HrO2Receiver hrO2Receiver =
103- HrO2Receiver .fromJson (jsonDecode (data.value));
100+ HrO2Receiver hrO2Receiver = HrO2Receiver .fromJson (jsonDecode (data.value));
104101 hrO2ReceiverList.add (hrO2Receiver);
105102 } catch (error) {
106103 // found some dirty data, consider deleting
@@ -113,12 +110,15 @@ class Hro2DataService {
113110 }
114111
115112 Future <bool > putReceiver (HrO2Receiver hrO2Receiver) async {
113+ Metadata metadata = Metadata ()
114+ // ..ttl = 10000
115+ ..ttr = - 1 ;
116116 AtKey atKey = AtKey ()
117117 ..sharedWith = hrO2Receiver.receiverAtsign
118+ ..metadata = metadata
118119 ..key = AppConstants .receiverKey;
119120 var value = jsonEncode (hrO2Receiver);
120- var success =
121- await AtClientManager .getInstance ().atClient.put (atKey, value);
121+ var success = await AtClientManager .getInstance ().atClient.put (atKey, value);
122122 _logger.info ('putReceiver success = $success ' );
123123 var receiverSuccess = await updateDeviceReceivers (hrO2Receiver.hrO2Device);
124124 return success && receiverSuccess;
@@ -127,17 +127,14 @@ class Hro2DataService {
127127 Future <bool > deleteReceiver (HrO2Receiver hrO2Receiver) async {
128128 bool deleteSuccess = false ;
129129 bool deviceUpdated = false ;
130- List <AtKey > keys = await AtClientManager .getInstance ()
131- .atClient
132- .getAtKeys (regex: AppConstants .receiverKey);
130+ List <AtKey > keys = await AtClientManager .getInstance ().atClient.getAtKeys (regex: AppConstants .receiverKey);
133131 _logger.info ('deleteReceiver processing ${keys .length } items' );
134132 for (var key in keys) {
135133 AtValue data = await AtClientManager .getInstance ().atClient.get (key);
136134 var atKeyString = jsonDecode (data.value);
137135 HrO2Receiver rec = HrO2Receiver .fromJson (atKeyString);
138136 if (rec.receiverAtsign == hrO2Receiver.receiverAtsign) {
139- _logger.info (
140- 'deleteReceiver deleting ${hrO2Receiver .receiverAtsign }\' s entry' );
137+ _logger.info ('deleteReceiver deleting ${hrO2Receiver .receiverAtsign }\' s entry' );
141138 deleteSuccess = await delete (key);
142139 deviceUpdated = await updateDeviceReceivers (hrO2Receiver.hrO2Device);
143140 }
@@ -147,54 +144,50 @@ class Hro2DataService {
147144
148145 Future <List <HrO2DataOwner >> getDataOwners () async {
149146 List <HrO2DataOwner > hrO2DataOwnerList = [];
150- var keys = await AtClientManager .getInstance ()
151- .atClient
152- .getAtKeys (regex: AppConstants .dataOwnerKey, sharedBy: "@mwcmanager" );
147+ var keys = await AtClientManager .getInstance ().atClient.getAtKeys (regex: AppConstants .dataOwnerKey);
148+ _logger.info ('getDataOwners keys $keys ' );
153149 for (var element in keys) {
154150 var data = await AtClientManager .getInstance ().atClient.get (element);
155151 _logger.info ('getDataOwners got ${data .value }' );
156152 try {
157- HrO2DataOwner hrO2DataOwner =
158- HrO2DataOwner .fromJson (jsonDecode (data.value));
153+ HrO2DataOwner hrO2DataOwner = HrO2DataOwner .fromJson (jsonDecode (data.value));
159154 hrO2DataOwnerList.add (hrO2DataOwner);
160155 } catch (error) {
161156 // found some dirty data, consider deleting
162157 _logger.severe ('getDataOwners error $error for ${element .key }' );
163- await AtClientManager .getInstance ().atClient.delete (element);
158+ // await AtClientManager.getInstance().atClient.delete(element);
164159 }
165160 }
166161 return hrO2DataOwnerList;
167162 }
168163
169164 Future <bool > putDataOwner (HrO2DataOwner hrO2DataOwner) async {
170- AtClientManager .getInstance ().syncService.sync ();
165+ // AtClientManager.getInstance().syncService.sync();
166+ Metadata metadata = Metadata ()
167+ // ..ttl = 10000
168+ ..ttr = - 1 ;
171169 AtKey atKey = AtKey ()
172170 ..sharedWith = hrO2DataOwner.dataOwnerAtsign
171+ ..metadata = metadata
173172 ..key = AppConstants .dataOwnerKey;
174- var success = await AtClientManager .getInstance ()
175- .atClient
176- .put (atKey, jsonEncode (hrO2DataOwner));
173+ var success = await AtClientManager .getInstance ().atClient.put (atKey, jsonEncode (hrO2DataOwner));
177174 _logger.info ('putDataOwner success = $success ' );
178- var dataOwnerSuccess =
179- await updateDeviceDataOwners (hrO2DataOwner.hrO2Device);
175+ var dataOwnerSuccess = await updateDeviceDataOwners (hrO2DataOwner.hrO2Device);
180176 _logger.info ('putDataOwner updateDevice success = $dataOwnerSuccess ' );
181177 return success && dataOwnerSuccess;
182178 }
183179
184180 Future <bool > deleteDataOwner (HrO2DataOwner hrO2DataOwner) async {
185181 bool deleteSuccess = false ;
186182 bool deviceUpdated = false ;
187- List <AtKey > keys = await AtClientManager .getInstance ()
188- .atClient
189- .getAtKeys (regex: AppConstants .dataOwnerKey);
183+ List <AtKey > keys = await AtClientManager .getInstance ().atClient.getAtKeys (regex: AppConstants .dataOwnerKey);
190184 _logger.info ('deleteDataOwner processing ${keys .length } items' );
191185 for (var key in keys) {
192186 AtValue data = await AtClientManager .getInstance ().atClient.get (key);
193187 var atKeyString = jsonDecode (data.value);
194188 HrO2DataOwner owner = HrO2DataOwner .fromJson (atKeyString);
195189 if (owner.dataOwnerAtsign == hrO2DataOwner.dataOwnerAtsign) {
196- _logger.info (
197- 'deleteDataOwner deleting ${hrO2DataOwner .dataOwnerAtsign }\' s entry' );
190+ _logger.info ('deleteDataOwner deleting ${hrO2DataOwner .dataOwnerAtsign }\' s entry' );
198191 deleteSuccess = await delete (key);
199192 deviceUpdated = await updateDeviceDataOwners (hrO2DataOwner.hrO2Device);
200193 }
@@ -204,16 +197,12 @@ class Hro2DataService {
204197
205198 Future <List <HrO2DeviceOwner >> getDeviceOwners () async {
206199 List <HrO2DeviceOwner > hrO2DeviceOwnerList = [];
207- var keys = await AtClientManager .getInstance ()
208- .atClient
209- .getAtKeys (regex: AppConstants .deviceOwnerKey);
200+ var keys = await AtClientManager .getInstance ().atClient.getAtKeys (regex: AppConstants .deviceOwnerKey);
210201 for (var element in keys) {
211- var deviceOwnerData =
212- await AtClientManager .getInstance ().atClient.get (element);
202+ var deviceOwnerData = await AtClientManager .getInstance ().atClient.get (element);
213203 _logger.info ('getDeviceOwners got ${deviceOwnerData .value }' );
214204 try {
215- HrO2DeviceOwner hrO2DeviceOwner =
216- HrO2DeviceOwner .fromJson (jsonDecode (deviceOwnerData.value));
205+ HrO2DeviceOwner hrO2DeviceOwner = HrO2DeviceOwner .fromJson (jsonDecode (deviceOwnerData.value));
217206 hrO2DeviceOwnerList.add (hrO2DeviceOwner);
218207 } catch (error) {
219208 // found some dirty data, consider deleting
@@ -225,21 +214,21 @@ class Hro2DataService {
225214 }
226215
227216 Future <bool > putDeviceOwner (HrO2DeviceOwner hrO2DeviceOwner) async {
217+ Metadata metadata = Metadata ()
218+ // ..ttl = 10000
219+ ..ttr = - 1 ;
228220 AtKey atKey = AtKey ()
229221 ..key = AppConstants .deviceOwnerKey
222+ ..metadata = metadata
230223 ..sharedWith = hrO2DeviceOwner.deviceOwnerAtsign;
231- var response = await AtClientManager .getInstance ()
232- .atClient
233- .put (atKey, jsonEncode (hrO2DeviceOwner));
224+ var response = await AtClientManager .getInstance ().atClient.put (atKey, jsonEncode (hrO2DeviceOwner));
234225 _logger.info ('putDeviceOwner success = $response ' );
235226 return response;
236227 }
237228
238229 Future <bool > deleteDeviceOwner (HrO2DeviceOwner hrO2DeviceOwner) async {
239230 bool deleteSuccess = false ;
240- List <AtKey > keys = await AtClientManager .getInstance ()
241- .atClient
242- .getAtKeys (regex: AppConstants .deviceOwnerKey);
231+ List <AtKey > keys = await AtClientManager .getInstance ().atClient.getAtKeys (regex: AppConstants .deviceOwnerKey);
243232 _logger.info ('deleteDeviceOwner processing ${keys .length } items' );
244233 for (var key in keys) {
245234 AtValue data = await AtClientManager .getInstance ().atClient.get (key);
@@ -255,27 +244,52 @@ class Hro2DataService {
255244 }
256245
257246 Future <bool > updateDeviceReceivers (HrO2Device hrO2Device) async {
258- // update the device list of HrO2Receiver objects
247+ // update the device list of recipients from HrO2Receiver objects
248+ bool success = false ;
249+ Metadata metadata = Metadata ()
250+ // ..ttl = 10000
251+ //..namespaceAware
252+ ..ttr = - 1 ;
259253 AtKey atKey = AtKey ()
260254 ..sharedWith = hrO2Device.deviceAtsign
255+ ..metadata = metadata
261256 ..key = AppConstants .receiverListKey;
262257 List <HrO2Receiver > receiverList = await getReceivers ();
263- var success = await AtClientManager .getInstance ()
264- .atClient
265- .put (atKey, jsonEncode (receiverList));
266- _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();
267277 return success;
268278 }
269279
270280 Future <bool > updateDeviceDataOwners (HrO2Device hrO2Device) async {
271- // update the device list of HrO2DataOwner objects
281+ // update the device list of recipients from HrO2DataOwner objects
282+ Metadata metadata = Metadata ()
283+ // ..ttl = 10000
284+ ..ttr = - 1 ;
272285 AtKey atKey = AtKey ()
273286 ..sharedWith = hrO2Device.deviceAtsign
287+ ..metadata = metadata
274288 ..key = AppConstants .dataOwnerListKey;
275289 List <HrO2DataOwner > owners = await getDataOwners ();
276- var success = await AtClientManager . getInstance ()
277- . atClient
278- . put ( atKey, jsonEncode (owners) );
290+ _logger. info ( 'updateDeviceDataOwners found = ${ owners . toString ()}' );
291+ var success = await AtClientManager . getInstance (). atClient. put (atKey, jsonEncode (owners));
292+ _logger. info ( 'updateDeviceDataOwners key = $ atKey ' );
279293 _logger.info ('updateDeviceDataOwners success = $success ' );
280294 return success;
281295 }
@@ -288,10 +302,8 @@ class AppConstants {
288302 static const String deviceKey = 'device.$libraryNamespace ' ;
289303 static const String deviceListKey = 'device_list.$libraryNamespace ' ;
290304 static const String deviceOwnerKey = 'device_owner.$libraryNamespace ' ;
291- static const String deviceOwnerListKey =
292- 'device_owner_list.$libraryNamespace ' ;
293- static const String deviceDataOwnerKey =
294- 'device_data_owner.$libraryNamespace ' ;
305+ static const String deviceOwnerListKey = 'device_owner_list.$libraryNamespace ' ;
306+ static const String deviceDataOwnerKey = 'device_data_owner.$libraryNamespace ' ;
295307 static const String deviceReceiverKey = 'device_receiver.$libraryNamespace ' ;
296308 static const String receiverKey = 'receiver.$libraryNamespace ' ;
297309 static const int responseTimeLimit = 30 ;
0 commit comments