33 lines
935 B
TypeScript
33 lines
935 B
TypeScript
import { BaseClient } from "./clientBase";
|
|
|
|
export class WebApiClient extends BaseClient {
|
|
constructor({ serverAdress, webapiToken }: { serverAdress: string; webapiToken: string }) {
|
|
super({ serverAdress, webapiToken });
|
|
}
|
|
|
|
public async initialize(): Promise<void> {
|
|
await this.refreshToken();
|
|
}
|
|
|
|
public refreshToken(): Promise<void> {
|
|
return new Promise<void>(async (resolve, reject) => {
|
|
await this.http
|
|
.get(`/webapi/retrieve`, {
|
|
headers: {
|
|
Authorization: `Bearer ${this.webapiToken}`,
|
|
},
|
|
})
|
|
.then(async (response) => {
|
|
const { accessToken } = response.data;
|
|
|
|
this.setAccessToken(accessToken);
|
|
|
|
resolve();
|
|
})
|
|
.catch((error) => {
|
|
console.error("Error refreshing webapi token:", error.response.data);
|
|
reject(`failed token retrieve: ${error.response.data}`);
|
|
});
|
|
});
|
|
}
|
|
}
|