tesla-fleet-api 0.1.3 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/teslafleetapi.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export default class TeslaFleetApi {
|
|
|
18
18
|
partner?: Partner;
|
|
19
19
|
user?: User;
|
|
20
20
|
vehicle?: Vehicle;
|
|
21
|
+
debug: boolean;
|
|
21
22
|
constructor(options: {
|
|
22
23
|
accessToken?: string;
|
|
23
24
|
region?: Region;
|
|
@@ -27,6 +28,7 @@ export default class TeslaFleetApi {
|
|
|
27
28
|
partnerScope?: boolean;
|
|
28
29
|
userScope?: boolean;
|
|
29
30
|
vehicleScope?: boolean;
|
|
31
|
+
debug?: boolean;
|
|
30
32
|
});
|
|
31
33
|
/**
|
|
32
34
|
* Make a request to the Tesla Fleet API.
|
package/dist/teslafleetapi.js
CHANGED
|
@@ -11,6 +11,8 @@ const servers = {
|
|
|
11
11
|
export default class TeslaFleetApi {
|
|
12
12
|
constructor(options) {
|
|
13
13
|
this.server = null;
|
|
14
|
+
this.debug = false;
|
|
15
|
+
this.debug = !!options.debug;
|
|
14
16
|
this.accessToken = options.accessToken;
|
|
15
17
|
if (options.server) {
|
|
16
18
|
this.server = options.server;
|
|
@@ -21,7 +23,7 @@ export default class TeslaFleetApi {
|
|
|
21
23
|
else {
|
|
22
24
|
throw new Error("Either server or region must be provided.");
|
|
23
25
|
}
|
|
24
|
-
console.debug(`Using server ${this.server}`);
|
|
26
|
+
this.debug && console.debug(`Using server ${this.server}`);
|
|
25
27
|
if (options.chargingScope !== false) {
|
|
26
28
|
this.charging = new Charging(this);
|
|
27
29
|
}
|
|
@@ -53,15 +55,15 @@ export default class TeslaFleetApi {
|
|
|
53
55
|
if (method === "GET" && json !== null) {
|
|
54
56
|
throw new Error("GET requests cannot have a body.");
|
|
55
57
|
}
|
|
56
|
-
console.debug(`Sending request to ${path}`);
|
|
58
|
+
this.debug && console.debug(`Sending request to ${path}`);
|
|
57
59
|
// Remove null and undefined values from params and json
|
|
58
60
|
if (params) {
|
|
59
61
|
params = Object.fromEntries(Object.entries(params).filter(([_, v]) => v != null));
|
|
60
|
-
console.debug(`Parameters: ${JSON.stringify(params)}`);
|
|
62
|
+
this.debug && console.debug(`Parameters: ${JSON.stringify(params)}`);
|
|
61
63
|
}
|
|
62
64
|
if (json) {
|
|
63
65
|
json = Object.fromEntries(Object.entries(json).filter(([_, v]) => v != null));
|
|
64
|
-
console.debug(`Body: ${JSON.stringify(json)}`);
|
|
66
|
+
this.debug && console.debug(`Body: ${JSON.stringify(json)}`);
|
|
65
67
|
}
|
|
66
68
|
const headers = {
|
|
67
69
|
Authorization: `Bearer ${this.accessToken}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teslafleetapi.js","sourceRoot":"","sources":["../src/teslafleetapi.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,cAAc,CAAC;AAOnC,MAAM,OAAO,GAA2B;IACpC,EAAE,EAAE,6CAA6C;IACjD,EAAE,EAAE,6CAA6C;IACjD,EAAE,EAAE,4CAA4C;CACnD,CAAC;AAIF,MAAM,CAAC,OAAO,OAAO,aAAa;
|
|
1
|
+
{"version":3,"file":"teslafleetapi.js","sourceRoot":"","sources":["../src/teslafleetapi.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,cAAc,CAAC;AAOnC,MAAM,OAAO,GAA2B;IACpC,EAAE,EAAE,6CAA6C;IACjD,EAAE,EAAE,6CAA6C;IACjD,EAAE,EAAE,4CAA4C;CACnD,CAAC;AAIF,MAAM,CAAC,OAAO,OAAO,aAAa;IAU9B,YAAY,OAUX;QAnBD,WAAM,GAAkB,IAAI,CAAC;QAO7B,UAAK,GAAY,KAAK,CAAC;QAanB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAA;QAC5B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAEvC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QACjC,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC;YACrD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAE3D,IAAI,OAAO,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,IAAY,EAAE,SAAqC,IAAI,EAAE,OAAmC,IAAI;QAC3H,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,MAAM,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;QAE1D,wDAAwD;QACxD,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YAClF,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACP,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YAC9E,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,OAAO,GAAG;YACZ,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE;YAC3C,cAAc,EAAE,kBAAkB;YAClC,WAAW,EAAE,sBAAsB;SACtC,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAEzE,OAAO,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,GAAG,KAAK,EAAE,EAAE;YAC3C,MAAM;YACN,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;SAC3C,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YAEZ,OAAO,GAAG;iBACL,IAAI,EAAE;iBACN,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACX,IAAI,GAAG,CAAC,EAAE;oBAAE,OAAO,IAAI,CAAA;gBACvB,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;YACvD,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAC1B,CAAA;QACT,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IACnF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB;QAClB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACvC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAA6B,EAAE,CAAC,KAAK,IAAI,OAAO,CAAC;YACnF,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAA4B,EAAE,CAAC,gBAAgB,IAAI,OAAO,CAAC;SACpG,CAAC,CAAC,CAAC;IACR,CAAC;CACJ"}
|
package/package.json
CHANGED
package/src/teslafleetapi.ts
CHANGED
|
@@ -3,9 +3,9 @@ import Energy from "./energy.js";
|
|
|
3
3
|
import Partner from "./partner.js";
|
|
4
4
|
import User from "./user.js";
|
|
5
5
|
import Vehicle from "./vehicle.js";
|
|
6
|
-
|
|
7
6
|
import { EnergyProduct, ProductsResponse, VehicleProduct } from "./types/products.js";
|
|
8
7
|
|
|
8
|
+
|
|
9
9
|
type Region = "na" | "eu" | "cn";
|
|
10
10
|
type Method = "GET" | "POST" | "PUT" | "DELETE";
|
|
11
11
|
|
|
@@ -25,6 +25,7 @@ export default class TeslaFleetApi {
|
|
|
25
25
|
partner?: Partner;
|
|
26
26
|
user?: User;
|
|
27
27
|
vehicle?: Vehicle;
|
|
28
|
+
debug: boolean = false;
|
|
28
29
|
|
|
29
30
|
constructor(options: {
|
|
30
31
|
accessToken?: string;
|
|
@@ -35,7 +36,9 @@ export default class TeslaFleetApi {
|
|
|
35
36
|
partnerScope?: boolean;
|
|
36
37
|
userScope?: boolean;
|
|
37
38
|
vehicleScope?: boolean;
|
|
39
|
+
debug?: boolean;
|
|
38
40
|
}) {
|
|
41
|
+
this.debug = !!options.debug
|
|
39
42
|
this.accessToken = options.accessToken;
|
|
40
43
|
|
|
41
44
|
if (options.server) {
|
|
@@ -46,7 +49,7 @@ export default class TeslaFleetApi {
|
|
|
46
49
|
throw new Error("Either server or region must be provided.");
|
|
47
50
|
}
|
|
48
51
|
|
|
49
|
-
console.debug(`Using server ${this.server}`);
|
|
52
|
+
this.debug && console.debug(`Using server ${this.server}`);
|
|
50
53
|
|
|
51
54
|
if (options.chargingScope !== false) {
|
|
52
55
|
this.charging = new Charging(this);
|
|
@@ -83,16 +86,16 @@ export default class TeslaFleetApi {
|
|
|
83
86
|
throw new Error("GET requests cannot have a body.");
|
|
84
87
|
}
|
|
85
88
|
|
|
86
|
-
console.debug(`Sending request to ${path}`);
|
|
89
|
+
this.debug && console.debug(`Sending request to ${path}`);
|
|
87
90
|
|
|
88
91
|
// Remove null and undefined values from params and json
|
|
89
92
|
if (params) {
|
|
90
93
|
params = Object.fromEntries(Object.entries(params).filter(([_, v]) => v != null));
|
|
91
|
-
console.debug(`Parameters: ${JSON.stringify(params)}`);
|
|
94
|
+
this.debug && console.debug(`Parameters: ${JSON.stringify(params)}`);
|
|
92
95
|
}
|
|
93
96
|
if (json) {
|
|
94
97
|
json = Object.fromEntries(Object.entries(json).filter(([_, v]) => v != null));
|
|
95
|
-
console.debug(`Body: ${JSON.stringify(json)}`);
|
|
98
|
+
this.debug && console.debug(`Body: ${JSON.stringify(json)}`);
|
|
96
99
|
}
|
|
97
100
|
|
|
98
101
|
const headers = {
|