Merge branch '18874-merge-wb2'
[arvados.git] / services / workbench2 / src / services / virtual-machines-service / virtual-machines-service.ts
diff --git a/services/workbench2/src/services/virtual-machines-service/virtual-machines-service.ts b/services/workbench2/src/services/virtual-machines-service/virtual-machines-service.ts
new file mode 100644 (file)
index 0000000..6e84893
--- /dev/null
@@ -0,0 +1,38 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
+import { AxiosInstance } from "axios";
+import { CommonResourceService } from "services/common-service/common-resource-service";
+import { VirtualMachineLogins, VirtualMachinesResource } from 'models/virtual-machines';
+import { ApiActions } from 'services/api/api-actions';
+
+export class VirtualMachinesService extends CommonResourceService<VirtualMachinesResource> {
+    constructor(serverApi: AxiosInstance, actions: ApiActions) {
+        super(serverApi, "virtual_machines", actions);
+    }
+
+    getRequestedDate(): string {
+        return localStorage.getItem('requestedDate') || '';
+    }
+
+    saveRequestedDate(date: string) {
+        localStorage.setItem('requestedDate', date);
+    }
+
+    logins(uuid: string): Promise<VirtualMachineLogins> {
+        return CommonResourceService.defaultResponse(
+            this.serverApi
+                .get(`virtual_machines/${uuid}/logins`),
+            this.actions
+        );
+    }
+
+    getAllLogins(): Promise<VirtualMachineLogins> {
+        return CommonResourceService.defaultResponse(
+            this.serverApi
+                .get('virtual_machines/get_all_logins'),
+            this.actions
+        );
+    }
+}
\ No newline at end of file