Create container request service
authorMichal Klobukowski <michal.klobukowski@contractors.roche.com>
Wed, 29 Aug 2018 08:27:16 +0000 (10:27 +0200)
committerMichal Klobukowski <michal.klobukowski@contractors.roche.com>
Wed, 29 Aug 2018 08:27:16 +0000 (10:27 +0200)
Feature #14099

Arvados-DCO-1.1-Signed-off-by: Michal Klobukowski <michal.klobukowski@contractors.roche.com>

src/models/resource.ts
src/services/container-request-service/container-request-service.ts [new file with mode: 0644]
src/services/services.ts

index ff95c1a9b8df59872d6819dccdbcfb2b8ee92441..ec4fe5f9f6ce65eaa681d51e7cc988a375d94f65 100644 (file)
@@ -27,7 +27,8 @@ export enum ResourceKind {
 export enum ResourceObjectType {
     USER = 'tpzed',
     GROUP = 'j7d0g',
-    COLLECTION = '4zz18'
+    COLLECTION = '4zz18',
+    CONTAINER_REQUEST = 'xvhdp'
 }
 
 export const RESOURCE_UUID_PATTERN = '.{5}-.{5}-.{15}';
@@ -52,6 +53,8 @@ export const extractUuidKind = (uuid: string = '') => {
             return ResourceKind.GROUP;
         case ResourceObjectType.COLLECTION:
             return ResourceKind.COLLECTION;
+        case ResourceObjectType.CONTAINER_REQUEST:
+            return ResourceKind.CONTAINER_REQUEST;
         default:
             return undefined;
     }
diff --git a/src/services/container-request-service/container-request-service.ts b/src/services/container-request-service/container-request-service.ts
new file mode 100644 (file)
index 0000000..8cf8e74
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
+import { CommonResourceService } from "~/common/api/common-resource-service";
+import { AxiosInstance } from "axios";
+import { ContainerRequestResource } from '../../models/container-request';
+
+export class ContainerRequestService extends CommonResourceService<ContainerRequestResource> {
+    constructor(serverApi: AxiosInstance) {
+        super(serverApi, "container_requests");
+    }
+}
index 6295527bfb40d5c326b56a4a4d09dfe27d22e85e..d73d14b1f89af4555fefb338d80e2e351ad8c87b 100644 (file)
@@ -17,6 +17,7 @@ import { Config } from "../common/config";
 import { UserService } from './user-service/user-service';
 import { AncestorService } from "~/services/ancestors-service/ancestors-service";
 import { ResourceKind } from "~/models/resource";
+import { ContainerRequestService } from './container-request-service/container-request-service';
 
 export type ServiceRepository = ReturnType<typeof createServices>;
 
@@ -27,32 +28,35 @@ export const createServices = (config: Config) => {
     const webdavClient = new WebDAV();
     webdavClient.defaults.baseURL = config.keepWebServiceUrl;
 
-    const authService = new AuthService(apiClient, config.rootUrl);
-    const keepService = new KeepService(apiClient);
     const groupsService = new GroupsService(apiClient);
-    const projectService = new ProjectService(apiClient);
+    const keepService = new KeepService(apiClient);
     const linkService = new LinkService(apiClient);
-    const favoriteService = new FavoriteService(linkService, groupsService);
-    const collectionService = new CollectionService(apiClient, webdavClient, authService);
-    const tagService = new TagService(linkService);
-    const collectionFilesService = new CollectionFilesService(collectionService);
+    const projectService = new ProjectService(apiClient);
     const userService = new UserService(apiClient);
+    const containerRequestService = new ContainerRequestService(apiClient);
+    
     const ancestorsService = new AncestorService(groupsService, userService);
+    const authService = new AuthService(apiClient, config.rootUrl);
+    const collectionService = new CollectionService(apiClient, webdavClient, authService);
+    const collectionFilesService = new CollectionFilesService(collectionService);
+    const favoriteService = new FavoriteService(linkService, groupsService);
+    const tagService = new TagService(linkService);
 
     return {
+        ancestorsService,
         apiClient,
-        webdavClient,
         authService,
-        keepService,
+        collectionFilesService,
+        collectionService,
+        containerRequestService,
+        favoriteService,
         groupsService,
-        projectService,
+        keepService,
         linkService,
-        favoriteService,
-        collectionService,
+        projectService,
         tagService,
-        collectionFilesService,
         userService,
-        ancestorsService,
+        webdavClient,
     };
 };