Merge branch 'master'
[arvados.git] / src / services / common-service / common-resource-service.ts
index 3fb4004688abe3fc7b9c449b1729aa3aa8bbd9db..09e034f5f8b6022e762c902b5d7d4e0cb99411a4 100644 (file)
@@ -32,13 +32,14 @@ export interface Errors {
 export enum CommonResourceServiceError {
     UNIQUE_VIOLATION = 'UniqueViolation',
     OWNERSHIP_CYCLE = 'OwnershipCycle',
+    MODIFYING_CONTAINER_REQUEST_FINAL_STATE = 'ModifyingContainerRequestFinalState',
     UNKNOWN = 'Unknown',
     NONE = 'None'
 }
 
 export class CommonResourceService<T extends Resource> {
 
-    static mapResponseKeys = (response: any): Promise<any> =>
+    static mapResponseKeys = (response: { data: any }): Promise<any> =>
         CommonResourceService.mapKeys(_.camelCase)(response.data)
 
     static mapKeys = (mapFn: (key: string) => string) =>
@@ -121,6 +122,8 @@ export const getCommonResourceServiceError = (errorResponse: any) => {
                 return CommonResourceServiceError.UNIQUE_VIOLATION;
             case /ownership cycle/.test(error):
                 return CommonResourceServiceError.OWNERSHIP_CYCLE;
+            case /Mounts cannot be modified in state 'Final'/.test(error):
+                return CommonResourceServiceError.MODIFYING_CONTAINER_REQUEST_FINAL_STATE;
             default:
                 return CommonResourceServiceError.UNKNOWN;
         }