21700: Install Bundler system-wide in Rails postinst
[arvados.git] / services / workbench2 / src / services / user-service / user-service.ts
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 import { AxiosInstance } from "axios";
6 import { CommonResourceService } from "services/common-service/common-resource-service";
7 import { UserResource } from "models/user";
8 import { ApiActions } from "services/api/api-actions";
9 import { ListResults } from "services/common-service/common-service";
10
11 export class UserService extends CommonResourceService<UserResource> {
12     constructor(serverApi: AxiosInstance, actions: ApiActions, readOnlyFields: string[] = []) {
13         super(serverApi, "users", actions, readOnlyFields.concat([
14             'fullName',
15             'isInvited'
16         ]));
17     }
18
19     activate(uuid: string) {
20         return CommonResourceService.defaultResponse<UserResource>(
21             this.serverApi
22                 .post(this.resourceType + `/${uuid}/activate`),
23             this.actions
24         );
25     }
26
27     setup(uuid: string) {
28         return CommonResourceService.defaultResponse<ListResults<any>>(
29             this.serverApi
30                 .post(this.resourceType + `/setup`, {}, { params: { uuid } }),
31             this.actions
32         );
33     }
34
35     unsetup(uuid: string) {
36         return CommonResourceService.defaultResponse<UserResource>(
37             this.serverApi
38                 .post(this.resourceType + `/${uuid}/unsetup`),
39             this.actions
40         );
41     }
42 }