immich/web/src/api/api.ts
Ian f6aba0f9ec
feat(deployment) Allow overriding service host and ports with env variables (#930)
* Add proxy changes

* Add web changes

* Add microservices changes

* Add examples

* Add header comment to nginx config

* Use URLs instead of host and port
2022-11-09 05:11:32 -06:00

50 lines
1.3 KiB
TypeScript

import { env } from '$env/dynamic/public';
import {
AlbumApi,
AssetApi,
AuthenticationApi,
Configuration,
DeviceInfoApi,
JobApi,
ServerInfoApi,
UserApi
} from './open-api';
class ImmichApi {
public userApi: UserApi;
public albumApi: AlbumApi;
public assetApi: AssetApi;
public authenticationApi: AuthenticationApi;
public deviceInfoApi: DeviceInfoApi;
public serverInfoApi: ServerInfoApi;
public jobApi: JobApi;
private config = new Configuration({ basePath: '/api' });
constructor() {
this.userApi = new UserApi(this.config);
this.albumApi = new AlbumApi(this.config);
this.assetApi = new AssetApi(this.config);
this.authenticationApi = new AuthenticationApi(this.config);
this.deviceInfoApi = new DeviceInfoApi(this.config);
this.serverInfoApi = new ServerInfoApi(this.config);
this.jobApi = new JobApi(this.config);
}
public setAccessToken(accessToken: string) {
this.config.accessToken = accessToken;
}
public removeAccessToken() {
this.config.accessToken = undefined;
}
public setBaseUrl(baseUrl: string) {
this.config.basePath = baseUrl;
}
}
export const api = new ImmichApi();
export const serverApi = new ImmichApi();
const immich_server_url = env.PUBLIC_IMMICH_SERVER_URL || 'http://immich-server:3001';
serverApi.setBaseUrl(immich_server_url);