Skip to content

Commit 2a38568

Browse files
Update CHANGELOG.md (#113)
1 parent cec4d91 commit 2a38568

File tree

1 file changed

+22
-15
lines changed

1 file changed

+22
-15
lines changed

CHANGELOG.md

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -15,33 +15,40 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1515

1616
### Added
1717

18-
- Support for on-device geofencing via new `HyperTrack.orders["my_order"].isInsideGeofence` property
18+
- Support for on-device geofencing via new `HyperTrack.orders.get("my_order_handle").isInsideGeofence` property
1919
- To learn more about how to best use this new feature see our guide here: [Verify shift presence before starting work](https://developer.hypertrack.com/docs/clock-in-out-tagging#verify-shift-presence-before-starting-work)
2020

2121
Example use for worker clock in:
2222

2323
```typescript
24-
function handlePresence(isInsideResult: Result<boolean, LocationError>) {
25-
switch (isInsideResult.type) {
26-
case "success":
27-
if (isInsideResult.value) {
24+
// check worker presence synchronously
25+
let activeOrders = await HyperTrack.getOrders()
26+
let currentOrder = activeOrders.get("current_order")
27+
if (currentOrder !== undefined) { handlePresence(currentOrder) }
28+
else { console.log("'current_order' not found") }
29+
30+
// or subscribe to the changes in orders to get the status updates
31+
HyperTrack.subscribeToOrders(orders => {
32+
let let currentOrder = activeOrders.get("current_order")
33+
if (currentOrder !== undefined) { handlePresence(currentOrder) }
34+
else { console.log("'current_order' not found") }
35+
})
36+
37+
// handle worker presence inside the order destination geofence
38+
function handlePresence(isInsideGeofence: Result<boolean, LocationError>) {
39+
switch (isInsideGeofence.type) {
40+
case 'success':
41+
if (isInsideGeofence.value) {
2842
// allow worker to clock in for the shift
2943
} else {
3044
// "to clock in you must be at order destination"
3145
}
3246
break;
33-
case "failure":
34-
// resolve any tracking errors to obtain geofence presence
47+
case 'failure':
48+
// resolve errors to check for presence
49+
break;
3550
}
3651
}
37-
38-
// check if a worker is inside an order's geofence
39-
handlePresence(HyperTrack.orders.get("my_order").isInsideGeofence);
40-
41-
// or, listen to order.isInsideGeofence changes
42-
HyperTrack.subscribeToOrders((orders) => {
43-
handlePresence(orders.get("my_order").isInsideGeofence);
44-
});
4552
```
4653

4754
### Changed

0 commit comments

Comments
 (0)