[arvados] updated: 2.7.0-6083-g52bf3ffb05

git repository hosting git at public.arvados.org
Thu Feb 29 20:40:49 UTC 2024


Summary of changes:
 services/workbench2/src/common/link-update-name.ts | 21 +++++++++++++++++----
 services/workbench2/src/services/services.ts       |  2 ++
 2 files changed, 19 insertions(+), 4 deletions(-)

       via  52bf3ffb05654904d81b82d90ed8acbd1fb641fb (commit)
      from  78de3b9c008dbab08408797ed783a28e27f8aecb (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit 52bf3ffb05654904d81b82d90ed8acbd1fb641fb
Author: Lisa Knox <lisaknox83 at gmail.com>
Date:   Thu Feb 29 15:40:42 2024 -0500

    21357: fave name changes update on server Arvados-DCO-1.1-Signed-off-by: Lisa Knox <lisa.knox at curii.com>

diff --git a/services/workbench2/src/common/link-update-name.ts b/services/workbench2/src/common/link-update-name.ts
index c2e00e1d0b..d8a0b7ad55 100644
--- a/services/workbench2/src/common/link-update-name.ts
+++ b/services/workbench2/src/common/link-update-name.ts
@@ -5,8 +5,7 @@
 import { LinkResource } from 'models/link';
 import { Dispatch } from 'redux';
 import { RootState } from 'store/store';
-import { ServiceRepository } from 'services/services';
-import { getResourceService } from 'services/services';
+import { ServiceRepository, getResourceService } from 'services/services';
 import { Resource, extractUuidKind } from 'models/resource';
 
 type NameableResource = Resource & { name?: string };
@@ -14,10 +13,11 @@ type NameableResource = Resource & { name?: string };
 export const verifyAndUpdateLinkName = async (link: LinkResource, dispatch: Dispatch, getState: () => RootState, services: ServiceRepository):Promise<string> => {
   //check if head resource is already in the store
     let headResource: Resource | undefined = getState().resources[link.headUuid];
+    //if not, fetch it
     if (!headResource) {
         headResource = await fetchResource(link.headUuid)(dispatch, getState, services);
         if(!headResource) {
-            console.error('Could not verify link', link);
+            console.error('Could not validate link', link, 'because link head', link.headUuid, 'is not available');
             return link.name;
         }
     }
@@ -25,7 +25,8 @@ export const verifyAndUpdateLinkName = async (link: LinkResource, dispatch: Disp
     if (validateLinkNameProp(link, headResource) === true) return link.name;
 
     const updatedLink = updateLinkNameProp(link, headResource);
-
+    updateRemoteLinkName(updatedLink)(dispatch, getState, services);
+    
     return updatedLink.name;
 };
 
@@ -53,3 +54,15 @@ const updateLinkNameProp = (link: LinkResource, head: NameableResource) => {
   if(head.name) updatedLink.name = head.name;
   return updatedLink;
 }
+
+const updateRemoteLinkName = (link: LinkResource) => async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
+    try {
+        const kind = extractUuidKind(link.uuid);
+        const service = getResourceService(kind)(services);
+        if (service) {
+            service.update(link.uuid, {name: link.name});
+        }
+    } catch (error) {
+        console.error('Could not update link name', link, error);
+    }
+};
diff --git a/services/workbench2/src/services/services.ts b/services/workbench2/src/services/services.ts
index cd04a65fef..48cd931127 100644
--- a/services/workbench2/src/services/services.ts
+++ b/services/workbench2/src/services/services.ts
@@ -131,6 +131,8 @@ export const getResourceService = (kind?: ResourceKind) => (serviceRepository: S
             return serviceRepository.groupsService;
         case ResourceKind.COLLECTION:
             return serviceRepository.collectionService;
+        case ResourceKind.LINK:
+            return serviceRepository.linkService;
         default:
             return undefined;
     }

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list