Remove setBaseUrl
[arvados-workbench2.git] / src / services / services.ts
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 import { AuthService } from "./auth-service/auth-service";
6 import { GroupsService } from "./groups-service/groups-service";
7 import { authClient, apiClient } from "../common/api/server-api";
8 import { ProjectService } from "./project-service/project-service";
9 import { LinkService } from "./link-service/link-service";
10 import { FavoriteService } from "./favorite-service/favorite-service";
11
12 export interface ServiceRepository {
13     authService: AuthService;
14     groupsService: GroupsService;
15     projectService: ProjectService;
16     linkService: LinkService;
17     favoriteService: FavoriteService;
18 }
19
20 export const createServices = (baseUrl: string): ServiceRepository => {
21     authClient.defaults.baseURL = baseUrl;
22     apiClient.defaults.baseURL = baseUrl + "/arvados/v1";
23
24     const authService = new AuthService(authClient, apiClient);
25     const groupsService = new GroupsService(apiClient);
26     const projectService = new ProjectService(apiClient);
27     const linkService = new LinkService(apiClient);
28     const favoriteService = new FavoriteService(linkService, groupsService);
29
30     return {
31         authService,
32         groupsService,
33         projectService,
34         linkService,
35         favoriteService
36     };
37 };