34 lines
871 B
TypeScript
34 lines
871 B
TypeScript
|
import { BaseClient } from "./clientBase";
|
||
|
|
||
|
export class WebApiClient extends BaseClient {
|
||
|
constructor({ serverAdress, webapiToken }: { serverAdress: string; webapiToken: string }) {
|
||
|
super({ serverAdress, webapiToken });
|
||
|
}
|
||
|
|
||
|
get http() {
|
||
|
return this.httpInstance.http;
|
||
|
}
|
||
|
|
||
|
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);
|
||
|
reject("failed token retrieve");
|
||
|
});
|
||
|
});
|
||
|
}
|
||
|
}
|