1
0
mirror of https://github.com/snobu/destreamer.git synced 2026-01-21 23:42:16 +00:00

Mid-apocalypse progress

This commit is contained in:
snobu
2020-04-05 17:20:10 +03:00
parent 37d596b4f0
commit 73aeb92e66
5 changed files with 74 additions and 69 deletions

View File

@@ -1,12 +1,14 @@
import * as fs from 'fs';
import { Session } from './Types';
const jwtDecode = require('jwt-decode');
export class TokenCache {
public Read(): string | null {
let token = null;
public Read(): Session | null {
let j = null;
try {
token = fs.readFileSync(".token_cache", "utf8");
let f = fs.readFileSync(".token_cache", "utf8");
j = JSON.parse(f);
}
catch (e) {
console.error(e);
@@ -18,7 +20,7 @@ export class TokenCache {
[key: string]: any
}
const decodedJwt: Jwt = jwtDecode(token);
const decodedJwt: Jwt = jwtDecode(j.accessToken);
let now = Math.floor(Date.now() / 1000);
let exp = decodedJwt["exp"];
@@ -28,11 +30,18 @@ export class TokenCache {
return null;
}
return token;
let session: Session = {
AccessToken: j.accessToken,
ApiGatewayUri: j.apiGatewayUri,
ApiGatewayVersion: j.apiGatewayVersion
}
return session;
}
public Write(token: string): void {
fs.writeFile(".token_cache", token, (err: any) => {
public Write(session: Session): void {
let s = JSON.stringify(session, null, 4);
fs.writeFile(".token_cache", s, (err: any) => {
if (err) {
return console.error(err);
}