16811: Use public favorites project.
authorPeter Amstutz <peter.amstutz@curii.com>
Mon, 14 Sep 2020 21:02:06 +0000 (17:02 -0400)
committerPeter Amstutz <peter.amstutz@curii.com>
Mon, 14 Sep 2020 21:05:54 +0000 (17:05 -0400)
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz@curii.com>

src/services/favorite-service/favorite-service.ts
src/store/public-favorites-panel/public-favorites-middleware-service.ts
src/store/public-favorites/public-favorites-actions.ts
src/store/tree-picker/tree-picker-actions.ts

index 37c1380b6a6856eea91f43b17784e976601782d4..fbb2a52f448920e8b34cccaac6219709193534c7 100644 (file)
@@ -23,38 +23,20 @@ export class FavoriteService {
     ) { }
 
     create(data: { userUuid: string; resource: { uuid: string; name: string } }) {
-        const l = this.linkService.create({
-            // If this is for the all users group, it must be owned by
-            // the system user.
-            ownerUuid: (data.userUuid.substr(-22) === "-j7d0g-fffffffffffffff" ?
-                data.userUuid.substr(0, 5) + "-tpzed-000000000000000"
-                : data.userUuid),
+        return this.linkService.create({
+            ownerUuid: data.userUuid,
             tailUuid: data.userUuid,
             headUuid: data.resource.uuid,
             linkClass: LinkClass.STAR,
             name: data.resource.name
         });
-
-        if (data.userUuid.substr(-22) === "-j7d0g-fffffffffffffff") {
-            // If this is for the all users group, we need to create a
-            // permission link as well.
-            l.then(result =>
-                this.linkService.create({
-                    tailUuid: data.userUuid,
-                    headUuid: result.uuid,
-                    linkClass: LinkClass.PERMISSION,
-                    name: "can_read"
-                }));
-        }
-
-        return l;
     }
 
     delete(data: { userUuid: string; resourceUuid: string; }) {
         return this.linkService
             .list({
                 filters: new FilterBuilder()
-                    .addEqual('tail_uuid', data.userUuid)
+                    .addEqual('owner_uuid', data.userUuid)
                     .addEqual('head_uuid', data.resourceUuid)
                     .addEqual('link_class', LinkClass.STAR)
                     .getFilters()
@@ -93,7 +75,7 @@ export class FavoriteService {
             .list({
                 filters: new FilterBuilder()
                     .addIn("head_uuid", resourceUuids)
-                    .addEqual("tail_uuid", userUuid)
+                    .addEqual("owner_uuid", userUuid)
                     .addEqual("link_class", LinkClass.STAR)
                     .getFilters()
             })
index 305ae72327370cae706f566f283bea816a37105e..b98dfdfc210c2af35c256a330b80f38ca426aa5c 100644 (file)
@@ -54,15 +54,13 @@ export class PublicFavoritesMiddlewareService extends DataExplorerMiddlewareServ
             try {
                 api.dispatch(progressIndicatorActions.START_WORKING(this.getId()));
                 const uuidPrefix = api.getState().auth.config.uuidPrefix;
-                const systemUuid = `${uuidPrefix}-tpzed-000000000000000`;
-                const allusersUuid = `${uuidPrefix}-j7d0g-fffffffffffffff`;
+                const publicProjectUuid = `${uuidPrefix}-j7d0g-publicfavorites`;
                 const responseLinks = await this.services.linkService.list({
                     limit: dataExplorer.rowsPerPage,
                     offset: dataExplorer.page * dataExplorer.rowsPerPage,
                     filters: new FilterBuilder()
                         .addEqual('link_class', LinkClass.STAR)
-                        .addIn('owner_uuid', [allusersUuid, systemUuid])
-                        .addEqual('tail_uuid', allusersUuid)
+                        .addEqual('owner_uuid', publicProjectUuid)
                         .addIsA("head_uuid", typeFilters)
                         .getFilters()
                 });
index d5a5cd46264778a82913adeb88866aa72dc08c04..db8af2e239f5d921e90de3bbabfb906ba0a9d87a 100644 (file)
@@ -22,7 +22,7 @@ export const togglePublicFavorite = (resource: { uuid: string; name: string }) =
     (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository): Promise<any> => {
         dispatch(progressIndicatorActions.START_WORKING("togglePublicFavorite"));
         const uuidPrefix = getState().auth.config.uuidPrefix;
-        const uuid = `${uuidPrefix}-j7d0g-fffffffffffffff`;
+        const uuid = `${uuidPrefix}-j7d0g-publicfavorites`;
         dispatch(publicFavoritesActions.TOGGLE_PUBLIC_FAVORITE({ resourceUuid: resource.uuid }));
         const isPublicFavorite = checkPublicFavorite(resource.uuid, getState().publicFavorites);
         dispatch(snackbarActions.OPEN_SNACKBAR({
@@ -58,7 +58,7 @@ export const togglePublicFavorite = (resource: { uuid: string; name: string }) =
 export const updatePublicFavorites = (resourceUuids: string[]) =>
     async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
         const uuidPrefix = getState().auth.config.uuidPrefix;
-        const uuid = `${uuidPrefix}-j7d0g-fffffffffffffff`;
+        const uuid = `${uuidPrefix}-j7d0g-publicfavorites`;
         dispatch(publicFavoritesActions.CHECK_PRESENCE_IN_PUBLIC_FAVORITES(resourceUuids));
         services.favoriteService
             .checkPresenceInFavorites(uuid, resourceUuids)
index 49c1d60abbd95df0b0afd7dde3e0e227fac120fa..3fa5187a3dcf0b9e7eb7be39bdec1ea2d0fb5e7f 100644 (file)
@@ -271,8 +271,7 @@ export const loadPublicFavoritesProject = (params: LoadFavoritesProjectParams) =
     async (dispatch: Dispatch<any>, getState: () => RootState, services: ServiceRepository) => {
         const { pickerId, includeCollections = false, includeFiles = false } = params;
         const uuidPrefix = getState().auth.config.uuidPrefix;
-        const systemUuid = `${uuidPrefix}-tpzed-000000000000000`;
-        const allusersUuid = `${uuidPrefix}-j7d0g-fffffffffffffff`;
+        const publicProjectUuid = `${uuidPrefix}-j7d0g-publicfavorites`;
 
         const filters = pipe(
             (fb: FilterBuilder) => includeCollections
@@ -280,8 +279,7 @@ export const loadPublicFavoritesProject = (params: LoadFavoritesProjectParams) =
                 : fb.addIsA('head_uuid', [ResourceKind.PROJECT]),
             fb => fb
                 .addEqual('link_class', LinkClass.STAR)
-                .addIn('owner_uuid', [systemUuid, allusersUuid])
-                .addEqual('tail_uuid', allusersUuid)
+                .addEqual('owner_uuid', publicProjectUuid)
                 .getFilters(),
         )(new FilterBuilder());