frontend/app/utils/Api.ts
2026-03-15 09:03:40 +01:00

50 lines
867 B
TypeScript

import axios, {type AxiosInstance} from "axios";
export abstract class Api
{
public baseURL: string;
protected constructor(baseURL: string)
{
this.baseURL = baseURL;
}
build()
{
const instance: AxiosInstance = axios.create({
baseURL: this.baseURL
});
instance.interceptors.request.use((config) =>
{
config.withCredentials = true;
return config;
})
return instance;
}
}
export class AuthApi extends Api
{
constructor()
{
super("http://localhost:8089/api/iam-backend");
}
static create()
{
return new AuthApi().build();
}
}
export class MavenApi extends Api
{
constructor()
{
super("http://localhost:8080");
}
static create()
{
return new MavenApi().build();
}
}