-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
67 lines (59 loc) · 1.38 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
var socket = require('socket.io-client')
class Service {
constructor(obj) {
this.host = obj.host || 'https://location-service.cagatay.me';
this.token = obj.token;
this.name = obj.name;
this.socket = socket(this.host);
}
createUser(data, callback) {
this.socket.emit('createUser', data)
this.socket.on('info:create', (msg) => {
callback(msg)
})
}
addLocation(data, callback) {
this.socket.emit('addLocation', {
name: this.name,
token: this.token,
key: data.key,
lat: data.lat,
lon: data.lon
})
this.socket.on('add:location', (msg) => {
callback(msg)
})
}
nearby(data, callback) {
this.socket.emit('nearby', {
name: this.name,
token: this.token,
lat: data.lat,
lon: data.lon,
depth: data.depth || 1, // Default is 1
limit: data.limit || 20,
})
this.socket.on('nearby', (msg) => {
callback(msg)
})
}
deleteLocation(data, callback) {
this.socket.emit('deleteLocation', {
token: this.token,
key: data.key
})
this.socket.on('info:delete:location', (msg) => {
callback(msg)
})
}
deleteUser(data, callback) {
this.socket.emit('deleteUser', {
token: this.token,
name: this.name
})
this.socket.on('info:delete:user', (msg) => {
callback(msg)
})
}
}
module.exports = Service;