forked from FortisRiders/react-native-hypertrack
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
144 lines (113 loc) · 3.83 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
import { NativeModules } from 'react-native';
const { RNHyperTrack } = NativeModules;
module.exports = {
/**
Initialization methods
*/
// Method to intialize the SDK with publishable key
initialize(token) {
RNHyperTrack.initialize(token);
},
// get active publishable key
getPublishableKey(callback) {
RNHyperTrack.getPublishableKey(callback);
},
/**
Setup methods
*/
// get or create a new user
getOrCreateUser(name, phoneNumber, lookupId, successCallback, errorCallback) {
RNHyperTrack.getOrCreateUser(name, phoneNumber, lookupId, successCallback, errorCallback);
},
// set a user with id
setUserId(userId) {
RNHyperTrack.setUserId(userId);
},
/**
Util methods
*/
// get current user id
getUserId(callback) {
RNHyperTrack.getUserId(callback);
},
// get tracking status
isTracking(callback) {
RNHyperTrack.isTracking(callback);
},
// Method to get eta to an expected location
// Vehicle type can be "car", "bicycle", "van", "walking", "three-wheeler", "motorcycle"
getETA(latitude, longitude, vehicleType, successCallback, errorCallback) {
RNHyperTrack.getETA(latitude, longitude, vehicleType, successCallback, errorCallback)
},
// Method to get user's current location
// Returns currentLocation as a Json, and error if location is
// disabled or permission denied
getCurrentLocation(successCallback, errorCallback) {
RNHyperTrack.getCurrentLocation(successCallback, errorCallback)
},
/**
Basic integration methods
*/
// start tracking
startTracking(successCallback, errorCallback) {
RNHyperTrack.startTracking(successCallback, errorCallback);
},
// start tracking
stopTracking() {
RNHyperTrack.stopTracking();
},
/**
Action methods
*/
// create and assign action
createAndAssignAction(actionParams, successCallback, errorCallback) {
// actionParams is a dictionary with following keys
// expected_at: ISO datetime string
// expected_place_id: uuid of expected place
// lookup_id: string object for action lookup id
// type: string object, that can be one of "visit", "pickup", "delivery"
RNHyperTrack.createAndAssignAction(actionParams, successCallback, errorCallback);
},
// Method to assign action
assignActions(actionIds, successCallback, errorCallback) {
RNHyperTrack.assignActions(actionIds, successCallback, errorCallback)
},
// get details of an action
getAction(actionId, successCallback, errorCallback) {
RNHyperTrack.getAction(actionId, successCallback, errorCallback);
},
// Method to complete an action
completeAction(actionId) {
RNHyperTrack.completeAction(actionId);
},
/**
Location Authorization (or Permission) methods
*/
locationAuthorizationStatus(callback) {
RNHyperTrack.locationAuthorizationStatus(callback);
},
requestLocationWhenInUseAuthorization(rationaleTitle, rationaleMessage) {
RNHyperTrack.requestWhenInUseAuthorization(rationaleTitle, rationaleMessage);
},
requestLocationAuthorization(rationaleTitle, rationaleMessage) {
RNHyperTrack.requestLocationAuthorization(rationaleTitle, rationaleMessage);
},
/**
Location services methods
*/
locationServicesEnabled(callback) {
RNHyperTrack.locationServicesEnabled(callback);
},
requestLocationServices() {
RNHyperTrack.requestLocationServices();
},
/**
Motion Authorization methods (** For iOS only **)
*/
canAskMotionPermissions(callback) {
RNHyperTrack.canAskMotionPermissions(callback);
},
requstMotionAuthorization() {
RNHyperTrack.requstMotionAuthorization();
}
}