-
Notifications
You must be signed in to change notification settings - Fork 0
/
inaraHandler.js
77 lines (66 loc) · 2.43 KB
/
inaraHandler.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
const axios = require('axios');
class InaraHandler {
#inaraAPIURL = ' https://inara.cz/inapi/v1/';
#eventWaitingForSend = [];
commanderName;
commanderFID;
constructor(commanderName, FID) {
this.commanderName = commanderName;
this.commanderFID = FID;
}
addEvent(eventBody) {
this.#eventWaitingForSend.push(eventBody);
}
sendEvents(inaraApiKey) {
axios.post(this.#inaraAPIURL, {
header: {
appName: 'Squadrone Tracker',
appVersion: process.env.npm_package_version,
isBeingDeveloped: true,
APIkey: inaraApiKey,
commanderName: this.commanderName,
commanderFrontierID: this.commanderFID
},
events: this.#eventWaitingForSend
})
}
sendSingleEvent(inaraApiKey, event) {
axios.post(this.#inaraAPIURL, {
header: {
appName: 'Squadrone Tracker',
appVersion: process.env.npm_package_version,
isBeingDeveloped: true,
APIkey: inaraApiKey,
commanderName: this.commanderName,
commanderFrontierID: this.commanderFID
},
events: [event]
})
}
addMissionAcceptedEvent(jsonData) {
let eventBody = {
missionName: jsonData.Name,
missionGameID: jsonData.MissionID,
missionExpiry: jsonData.Expiry,
influenceGain: jsonData.Influence,
reputationGain: jsonData.Reputation,
starsystemNameOrigin: commanderInformation.starsytemName,
stationNameOrigin: commanderInformation.stationName,
minorfactionNameOrigin: jsonData.Faction,
starsystemNameTarget: jsonData.DestinationSystem,
stationNameTarget: jsonData.DestinationStation,
minorfactionNameTarget: jsonData.TargetFaction,
commodityName: jsonData.Commodity,
commodityCount: jsonData.Count,
targetName: jsonData.Target,
targetType: jsonData.TargetType,
killCount: jsonData.KillCount,
passengerType: PassengerType,
passengerCount: jsonData.PassengerCount,
passengerIsVIP: jsonData.PassengerVIPs,
passengerIsWanted: jsonData.PassengerWanted
}
this.addEvent(eventBody)
}
}
exports.InaraHandler = InaraHandler