@tastytrade/api 7.0.0 → 7.0.1
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/models/access-token.d.ts +1 -0
- package/dist/models/access-token.d.ts.map +1 -1
- package/dist/models/access-token.js +6 -1
- package/dist/models/access-token.js.map +1 -1
- package/dist/services/tastytrade-http-client.js +1 -1
- package/dist/services/tastytrade-http-client.js.map +1 -1
- package/lib/models/access-token.ts +5 -1
- package/lib/services/tastytrade-http-client.ts +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access-token.d.ts","sourceRoot":"","sources":["../../lib/models/access-token.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,WAAW;IACrB,KAAK,SAAK;IACV,SAAS,SAAI;
|
|
1
|
+
{"version":3,"file":"access-token.d.ts","sourceRoot":"","sources":["../../lib/models/access-token.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,WAAW;IACrB,KAAK,SAAK;IACV,SAAS,SAAI;IACb,SAAS,EAAE,IAAI,GAAG,IAAI,CAAO;IAEpC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,UAAU,SAIb;IAEM,uBAAuB,CAAC,aAAa,EAAE,GAAG,GAAG,IAAI;IAMxD,IAAI,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAKvC;IAED,KAAK;CAKR"}
|
|
@@ -3,6 +3,7 @@ export default class AccessToken {
|
|
|
3
3
|
constructor() {
|
|
4
4
|
this.token = '';
|
|
5
5
|
this.expiresIn = 0;
|
|
6
|
+
this.createdAt = null;
|
|
6
7
|
}
|
|
7
8
|
get isExpired() {
|
|
8
9
|
return this.isEmpty || Date.now() >= this.expiration.getTime();
|
|
@@ -14,12 +15,15 @@ export default class AccessToken {
|
|
|
14
15
|
return _.isNil(this.token) || this.token.length === 0;
|
|
15
16
|
}
|
|
16
17
|
get expiration() {
|
|
18
|
+
if (!this.createdAt)
|
|
19
|
+
return new Date();
|
|
17
20
|
// Set expiration a bit earlier to account for clock skew
|
|
18
|
-
return new Date(
|
|
21
|
+
return new Date(this.createdAt.getTime() + ((this.expiresIn - 30) * 1000));
|
|
19
22
|
}
|
|
20
23
|
updateFromTokenResponse(tokenResponse) {
|
|
21
24
|
this.token = _.get(tokenResponse, "data.access_token");
|
|
22
25
|
this.expiresIn = _.get(tokenResponse, "data.expires_in");
|
|
26
|
+
this.createdAt = new Date();
|
|
23
27
|
}
|
|
24
28
|
get authorizationHeader() {
|
|
25
29
|
if (this.isValid) {
|
|
@@ -30,6 +34,7 @@ export default class AccessToken {
|
|
|
30
34
|
clear() {
|
|
31
35
|
this.token = '';
|
|
32
36
|
this.expiresIn = 0;
|
|
37
|
+
this.createdAt = null;
|
|
33
38
|
}
|
|
34
39
|
}
|
|
35
40
|
//# sourceMappingURL=access-token.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access-token.js","sourceRoot":"","sources":["../../lib/models/access-token.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAA;AAEtB,MAAM,CAAC,OAAO,OAAO,WAAW;IAAhC;QACW,UAAK,GAAG,EAAE,CAAA;QACV,cAAS,GAAG,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"access-token.js","sourceRoot":"","sources":["../../lib/models/access-token.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAA;AAEtB,MAAM,CAAC,OAAO,OAAO,WAAW;IAAhC;QACW,UAAK,GAAG,EAAE,CAAA;QACV,cAAS,GAAG,CAAC,CAAA;QACb,cAAS,GAAgB,IAAI,CAAA;IAsCxC,CAAC;IApCG,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IACnE,CAAC;IAED,IAAI,OAAO;QACP,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IACnD,CAAC;IAED,IAAI,OAAO;QACP,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,UAAU;QACV,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,IAAI,EAAE,CAAA;QACtC,yDAAyD;QACzD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAC/E,CAAC;IAEM,uBAAuB,CAAC,aAAkB;QAC/C,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAA;IAC7B,CAAC;IAED,IAAI,mBAAmB;QACnB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;QACf,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACzB,CAAC;CACJ"}
|
|
@@ -63,7 +63,7 @@ export default class TastytradeHttpClient {
|
|
|
63
63
|
scope: this.oauthScopes.join(' '),
|
|
64
64
|
grant_type: 'refresh_token'
|
|
65
65
|
};
|
|
66
|
-
const config = this.axiosConfig('post', '/oauth/token', params);
|
|
66
|
+
const config = this.axiosConfig('post', '/oauth/token', params, this.getDefaultHeaders());
|
|
67
67
|
this.logger?.info('Making request', config);
|
|
68
68
|
const tokenResponse = await axios.request(config);
|
|
69
69
|
this.accessToken.updateFromTokenResponse(tokenResponse);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tastytrade-http-client.js","sourceRoot":"","sources":["../../lib/services/tastytrade-http-client.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,2BAA2B,CAAA;AACnD,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,CAAC,MAAM,QAAQ,CAAA;AAItB,MAAM,gBAAgB,GAAG;IACvB,SAAS,EAAE,UAAU,WAAmB;QACtC,OAAO,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAA;IAC/D,CAAC;CACF,CAAA;AAED,MAAM,eAAe,GAAG,SAAS,CAAA;AAEjC,MAAM,CAAC,OAAO,OAAO,oBAAoB;IASrC,YAAY,YAA0B,EAAE,MAAe;QACrD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,OAAQ,CAAA;QACpC,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,EAAE,CAAA;QACpC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,YAAY,CAAA;QAC7C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,YAAY,CAAA;QAC7C,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,CAAA;QAC3C,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;IACjC,CAAC;IAEM,YAAY,CAAC,MAA6B;QAC/C,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAA;QAC5G,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;YACrC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;QAC1B,CAAC;IACH,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAA;IACnC,CAAC;IAED,IAAI,UAAU;QACZ,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAA;QAC7C,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,iBAAiB;QACvB,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;YAClC,QAAQ,EAAE,kBAAkB;YAC5B,eAAe,EAAE,IAAI,CAAC,UAAU;SACjC,CAAC;QAEF,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAA;QACnD,CAAC;QAED,yCAAyC;QACzC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO,CAAC,YAAY,CAAC,GAAG,mBAAmB,CAAA;QAC7C,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAEO,WAAW,CAAC,MAAc,EAAE,GAAW,EAAE,OAAe,EAAE,EAAE,UAAkB,EAAE,EAAE,SAAiB,EAAE;QAC3G,OAAO,CAAC,CAAC,MAAM,CACb,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAC,EAChG,CAAC,CAAC,OAAO,CACV,CAAA;IACH,CAAC;IAEM,KAAK,CAAC,mBAAmB;QAC9B,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1F,MAAM,IAAI,KAAK,CAAC,gGAAgG,CAAC,CAAA;QACnH,CAAC;QACD,MAAM,MAAM,GAAG;YACb,aAAa,EAAE,IAAI,CAAC,YAAY;YAChC,aAAa,EAAE,IAAI,CAAC,YAAY;YAChC,KAAK,EAAE,IAAI,CAAC,WAAY,CAAC,IAAI,CAAC,GAAG,CAAC;YAClC,UAAU,EAAE,eAAe;SAC5B,CAAA;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"tastytrade-http-client.js","sourceRoot":"","sources":["../../lib/services/tastytrade-http-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import _ from 'lodash'
|
|
|
3
3
|
export default class AccessToken {
|
|
4
4
|
public token = ''
|
|
5
5
|
public expiresIn = 0
|
|
6
|
+
public createdAt: Date | null = null
|
|
6
7
|
|
|
7
8
|
get isExpired(): boolean {
|
|
8
9
|
return this.isEmpty || Date.now() >= this.expiration.getTime();
|
|
@@ -17,13 +18,15 @@ export default class AccessToken {
|
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
get expiration() {
|
|
21
|
+
if (!this.createdAt) return new Date()
|
|
20
22
|
// Set expiration a bit earlier to account for clock skew
|
|
21
|
-
return new Date(
|
|
23
|
+
return new Date(this.createdAt.getTime() + ((this.expiresIn - 30) * 1000));
|
|
22
24
|
}
|
|
23
25
|
|
|
24
26
|
public updateFromTokenResponse(tokenResponse: any): void {
|
|
25
27
|
this.token = _.get(tokenResponse, "data.access_token");
|
|
26
28
|
this.expiresIn = _.get(tokenResponse, "data.expires_in");
|
|
29
|
+
this.createdAt = new Date()
|
|
27
30
|
}
|
|
28
31
|
|
|
29
32
|
get authorizationHeader(): string | null {
|
|
@@ -36,5 +39,6 @@ export default class AccessToken {
|
|
|
36
39
|
clear() {
|
|
37
40
|
this.token = ''
|
|
38
41
|
this.expiresIn = 0
|
|
42
|
+
this.createdAt = null
|
|
39
43
|
}
|
|
40
44
|
}
|
|
@@ -89,7 +89,7 @@ export default class TastytradeHttpClient {
|
|
|
89
89
|
grant_type: 'refresh_token'
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
const config = this.axiosConfig('post', '/oauth/token', params)
|
|
92
|
+
const config = this.axiosConfig('post', '/oauth/token', params, this.getDefaultHeaders())
|
|
93
93
|
this.logger?.info('Making request', config)
|
|
94
94
|
const tokenResponse = await axios.request(config)
|
|
95
95
|
this.accessToken.updateFromTokenResponse(tokenResponse)
|