Add enum with resource prefixes
authorMichal Klobukowski <michal.klobukowski@contractors.roche.com>
Thu, 5 Jul 2018 10:25:54 +0000 (12:25 +0200)
committerMichal Klobukowski <michal.klobukowski@contractors.roche.com>
Thu, 5 Jul 2018 10:25:54 +0000 (12:25 +0200)
Feature #13703

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

src/services/groups-service/groups-service.ts
src/views/project-panel/project-panel-middleware.ts

index 8c5fd8fa6ce855d9a2cbc052eb924920431b1c9b..ea57ee03742d69005db34aa7a116e238c7bf91ce 100644 (file)
@@ -46,4 +46,11 @@ export default class GroupsService extends CommonResourceService<GroupResource>
             })
             .then(CommonResourceService.mapResponseKeys);
     }
+}
+
+export enum GroupContentsResourcePrefix {
+    Collection = "collections",
+    Project = "groups",
+    Workflow = "workflows",
+    Process = "container_requests"
 }
\ No newline at end of file
index fdd05c789aeeb8bb2ae665a15d7e437cf8da4ef0..de2e3fc2d38ff701a52a5b56c7774270565aa22a 100644 (file)
@@ -14,7 +14,7 @@ import { DataColumns } from "../../components/data-table/data-table";
 import { ProcessResource } from "../../models/process";
 import { CollectionResource } from "../../models/collection";
 import OrderBuilder from "../../common/api/order-builder";
-import { GroupContentsResource } from "../../services/groups-service/groups-service";
+import { GroupContentsResource, GroupContentsResourcePrefix } from "../../services/groups-service/groups-service";
 
 export const projectPanelMiddleware: Middleware = store => next => {
     next(actions.SET_COLUMNS({ id: PROJECT_PANEL_ID, columns }));
@@ -69,10 +69,10 @@ export const projectPanelMiddleware: Middleware = store => next => {
                             filters: FilterBuilder
                                 .create()
                                 .concat(FilterBuilder
-                                    .create<CollectionResource>("collections")
+                                    .create<CollectionResource>(GroupContentsResourcePrefix.Collection)
                                     .addIsA("uuid", typeFilters.map(f => f.type)))
                                 .concat(FilterBuilder
-                                    .create<ProcessResource>("containerRequests")
+                                    .create<ProcessResource>(GroupContentsResourcePrefix.Process)
                                     .addIn("state", statusFilters.map(f => f.type)))
                                 .concat(getSearchFilter(dataExplorer.searchValue))
                         })
@@ -107,9 +107,9 @@ const getColumnFilters = (columns: DataColumns<ProjectPanelItem, ProjectPanelFil
 
 const getOrder = (attribute: "name" | "createdAt", direction: "asc" | "desc") =>
     [
-        OrderBuilder.create<GroupContentsResource>("collections"),
-        OrderBuilder.create<GroupContentsResource>("container_requests"),
-        OrderBuilder.create<GroupContentsResource>("groups")
+        OrderBuilder.create<GroupContentsResource>(GroupContentsResourcePrefix.Collection),
+        OrderBuilder.create<GroupContentsResource>(GroupContentsResourcePrefix.Process),
+        OrderBuilder.create<GroupContentsResource>(GroupContentsResourcePrefix.Project)
     ].reduce((acc, b) =>
         acc.concat(direction === "asc"
             ? b.addAsc(attribute)
@@ -118,9 +118,9 @@ const getOrder = (attribute: "name" | "createdAt", direction: "asc" | "desc") =>
 const getSearchFilter = (searchValue: string) =>
     searchValue
         ? [
-            FilterBuilder.create<GroupContentsResource>("collections"),
-            FilterBuilder.create<GroupContentsResource>("container_requests"),
-            FilterBuilder.create<GroupContentsResource>("groups")]
+            FilterBuilder.create<GroupContentsResource>(GroupContentsResourcePrefix.Collection),
+            FilterBuilder.create<GroupContentsResource>(GroupContentsResourcePrefix.Process),
+            FilterBuilder.create<GroupContentsResource>(GroupContentsResourcePrefix.Project)]
             .reduce((acc, b) =>
                 acc.concat(b.addILike("name", searchValue)), FilterBuilder.create())
         : FilterBuilder.create();