ff-admin-webapi-client/src/clients/webapi.client.ts

34 lines
935 B
TypeScript
Raw Normal View History

2025-02-05 14:29:09 +01:00
import { BaseClient } from "./clientBase";
export class WebApiClient extends BaseClient {
constructor({ serverAdress, webapiToken }: { serverAdress: string; webapiToken: string }) {
super({ serverAdress, webapiToken });
}
2025-02-06 09:38:30 +01:00
public async initialize(): Promise<void> {
await this.refreshToken();
2025-02-05 14:29:09 +01:00
}
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) => {
2025-03-12 11:11:44 +01:00
console.error("Error refreshing webapi token:", error.response.data);
reject(`failed token retrieve: ${error.response.data}`);
2025-02-05 14:29:09 +01:00
});
});
}
}