[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