From 1e8cc210bf9bbd3e1b56e0d1a443a7df06ad1a99 Mon Sep 17 00:00:00 2001 From: cahrens Date: Fri, 2 Feb 2024 08:35:18 -0500 Subject: [PATCH] Rename file to acl-utils (not a component). --- .../workspaces/workspace/Dashboard/OwnerNotice.ts | 4 ++-- .../ShareWorkspaceModal/Collaborator.test.ts | 8 ++++---- src/workspaces/ShareWorkspaceModal/Collaborator.ts | 14 +++++++------- .../ShareWorkspaceModal/CurrentCollaborators.ts | 14 +++++++------- .../ShareWorkspaceModal.test.ts | 2 +- .../ShareWorkspaceModal/ShareWorkspaceModal.ts | 10 +++++----- .../WorkspaceAcl.test.ts => acl-utils.test.ts} | 9 ++------- .../{common/WorkspaceAcl.ts => acl-utils.ts} | 4 ++-- 8 files changed, 30 insertions(+), 35 deletions(-) rename src/workspaces/{common/WorkspaceAcl.test.ts => acl-utils.test.ts} (92%) rename src/workspaces/{common/WorkspaceAcl.ts => acl-utils.ts} (92%) diff --git a/src/pages/workspaces/workspace/Dashboard/OwnerNotice.ts b/src/pages/workspaces/workspace/Dashboard/OwnerNotice.ts index 8040210278b..5c17b486389 100644 --- a/src/pages/workspaces/workspace/Dashboard/OwnerNotice.ts +++ b/src/pages/workspaces/workspace/Dashboard/OwnerNotice.ts @@ -8,8 +8,8 @@ import { Ajax } from 'src/libs/ajax'; import colors from 'src/libs/colors'; import { withErrorReporting } from 'src/libs/error'; import { useCancellation } from 'src/libs/react-utils'; +import { AclUtils } from 'src/workspaces/acl-utils'; import { InitializedWorkspaceWrapper as Workspace } from 'src/workspaces/common/state/useWorkspace'; -import { WorkspaceAcl } from 'src/workspaces/common/WorkspaceAcl'; import { isOwner } from 'src/workspaces/utils'; interface OwnerNoticeProps { @@ -20,7 +20,7 @@ export const OwnerNotice = (props: OwnerNoticeProps): ReactNode => { const { workspace } = props; const { owners = [], accessLevel } = workspace; - const [acl, setAcl] = useState(); + const [acl, setAcl] = useState(); const signal = useCancellation(); diff --git a/src/workspaces/ShareWorkspaceModal/Collaborator.test.ts b/src/workspaces/ShareWorkspaceModal/Collaborator.test.ts index feb780aacdd..c9da2ccf5e4 100644 --- a/src/workspaces/ShareWorkspaceModal/Collaborator.test.ts +++ b/src/workspaces/ShareWorkspaceModal/Collaborator.test.ts @@ -4,7 +4,7 @@ import { h } from 'react-hyperscript-helpers'; import { getTerraUser } from 'src/libs/state'; import { asMockedFn, renderWithAppContexts as render } from 'src/testing/test-utils'; import { defaultGoogleWorkspace } from 'src/testing/workspace-fixtures'; -import { AccessEntry, WorkspaceAcl } from 'src/workspaces/common/WorkspaceAcl'; +import { AccessEntry, AclUtils } from 'src/workspaces/acl-utils'; import { Collaborator } from 'src/workspaces/ShareWorkspaceModal/Collaborator'; import { BaseWorkspace } from 'src/workspaces/utils'; @@ -45,7 +45,7 @@ describe('a Collaborator component', () => { canCompute: true, accessLevel: 'OWNER', }; - const setAcl: Dispatch> = asMockedFn(jest.fn()); + const setAcl: Dispatch> = asMockedFn(jest.fn()); const acl = [item]; render( h(Collaborator, { @@ -69,7 +69,7 @@ describe('a Collaborator component', () => { canCompute: true, accessLevel: 'OWNER', }; - const setAcl: Dispatch> = asMockedFn(jest.fn()); + const setAcl: Dispatch> = asMockedFn(jest.fn()); const acl = [item]; render( @@ -96,7 +96,7 @@ describe('a Collaborator component', () => { canCompute: true, accessLevel: 'OWNER', }; - const setAcl: Dispatch> = asMockedFn(jest.fn()); + const setAcl: Dispatch> = asMockedFn(jest.fn()); const acl = [item]; render( diff --git a/src/workspaces/ShareWorkspaceModal/Collaborator.ts b/src/workspaces/ShareWorkspaceModal/Collaborator.ts index c387ef8ff47..e2d7496b889 100644 --- a/src/workspaces/ShareWorkspaceModal/Collaborator.ts +++ b/src/workspaces/ShareWorkspaceModal/Collaborator.ts @@ -7,22 +7,22 @@ import { getPopupRoot } from 'src/components/popup-utils'; import colors from 'src/libs/colors'; import { getTerraUser } from 'src/libs/state'; import * as Utils from 'src/libs/utils'; -import { AccessEntry, WorkspaceAcl } from 'src/workspaces/common/WorkspaceAcl'; +import { AccessEntry, AclUtils } from 'src/workspaces/acl-utils'; import { BaseWorkspace, hasAccessLevel, isAzureWorkspace, WorkspaceAccessLevel } from 'src/workspaces/utils'; /** * @param aclItem {AccessEntry} the item to render - * @param acl {WorkspaceAcl} the entire current Access Control List - * @param setAcl {Dispatch>} called to modify the Access Control list when the aclItem changes or is removed - * @param originalAcl {WorkspaceAcl} the original acl, to determine new items + * @param acl {AclUtils} the entire current Access Control List + * @param setAcl {Dispatch>} called to modify the Access Control list when the aclItem changes or is removed + * @param originalAcl {AclUtils} the original acl, to determine new items * @param workspace {BaseWorkspace} the workspace the acl belongs to * @param lastAddedEmail {string | undefined} the most recently added email to the list */ interface CollaboratorProps { aclItem: AccessEntry; - acl: WorkspaceAcl; - setAcl: Dispatch>; - originalAcl: WorkspaceAcl; + acl: AclUtils; + setAcl: Dispatch>; + originalAcl: AclUtils; workspace: BaseWorkspace; lastAddedEmail?: string; } diff --git a/src/workspaces/ShareWorkspaceModal/CurrentCollaborators.ts b/src/workspaces/ShareWorkspaceModal/CurrentCollaborators.ts index c69c3a6ccba..8ff2e64fd1d 100644 --- a/src/workspaces/ShareWorkspaceModal/CurrentCollaborators.ts +++ b/src/workspaces/ShareWorkspaceModal/CurrentCollaborators.ts @@ -2,22 +2,22 @@ import _ from 'lodash/fp'; import React, { CSSProperties, Dispatch, Fragment, SetStateAction, useLayoutEffect, useRef } from 'react'; import { div, h } from 'react-hyperscript-helpers'; import * as Style from 'src/libs/style'; -import { aclEntryIsTerraSupport, WorkspaceAcl } from 'src/workspaces/common/WorkspaceAcl'; +import { aclEntryIsTerraSupport, AclUtils } from 'src/workspaces/acl-utils'; import { Collaborator } from 'src/workspaces/ShareWorkspaceModal/Collaborator'; import { BaseWorkspace } from 'src/workspaces/utils'; /** * Render a list of Collaborators of a workspace, and allow them to be modified or removed. - * @param acl {WorkspaceAcl} the entire current Access Control List - * @param setAcl {Dispatch>} called to modify the Access Control list when the aclItem changes or is removed - * @param originalAcl {WorkspaceAcl} the original acl, to determine new items + * @param acl {AclUtils} the entire current Access Control List + * @param setAcl {Dispatch>} called to modify the Access Control list when the aclItem changes or is removed + * @param originalAcl {AclUtils} the original acl, to determine new items * @param workspace {BaseWorkspace} the workspace the acl belongs to * @param lastAddedEmail {string | undefined} the most recently added email to the list */ interface CurrentCollaboratorsProps { - acl: WorkspaceAcl; - setAcl: Dispatch>; - originalAcl: WorkspaceAcl; + acl: AclUtils; + setAcl: Dispatch>; + originalAcl: AclUtils; workspace: BaseWorkspace; lastAddedEmail?: string; } diff --git a/src/workspaces/ShareWorkspaceModal/ShareWorkspaceModal.test.ts b/src/workspaces/ShareWorkspaceModal/ShareWorkspaceModal.test.ts index b42c4023186..d6659823e7c 100644 --- a/src/workspaces/ShareWorkspaceModal/ShareWorkspaceModal.test.ts +++ b/src/workspaces/ShareWorkspaceModal/ShareWorkspaceModal.test.ts @@ -6,7 +6,7 @@ import { Ajax } from 'src/libs/ajax'; import { getTerraUser } from 'src/libs/state'; import { asMockedFn, renderWithAppContexts as render } from 'src/testing/test-utils'; import { defaultAzureWorkspace, defaultGoogleWorkspace, protectedAzureWorkspace } from 'src/testing/workspace-fixtures'; -import { AccessEntry, RawWorkspaceAcl } from 'src/workspaces/common/WorkspaceAcl'; +import { AccessEntry, RawWorkspaceAcl } from 'src/workspaces/acl-utils'; import ShareWorkspaceModal from 'src/workspaces/ShareWorkspaceModal/ShareWorkspaceModal'; import { GoogleWorkspace } from 'src/workspaces/utils'; diff --git a/src/workspaces/ShareWorkspaceModal/ShareWorkspaceModal.ts b/src/workspaces/ShareWorkspaceModal/ShareWorkspaceModal.ts index 4e66b4cc017..1b2b5af30ff 100644 --- a/src/workspaces/ShareWorkspaceModal/ShareWorkspaceModal.ts +++ b/src/workspaces/ShareWorkspaceModal/ShareWorkspaceModal.ts @@ -16,11 +16,11 @@ import { useCancellation, useOnMount } from 'src/libs/react-utils'; import { append, cond, withBusyState } from 'src/libs/utils'; import { aclEntryIsTerraSupport, + AclUtils, terraSupportAccessLevel, terraSupportEmail, transformAcl, - WorkspaceAcl, -} from 'src/workspaces/common/WorkspaceAcl'; +} from 'src/workspaces/acl-utils'; import { CurrentCollaborators } from 'src/workspaces/ShareWorkspaceModal/CurrentCollaborators'; import { isAzureWorkspace, isGoogleWorkspace, WorkspaceWrapper } from 'src/workspaces/utils'; import { WorkspacePolicies } from 'src/workspaces/WorkspacePolicies/WorkspacePolicies'; @@ -38,9 +38,9 @@ const ShareWorkspaceModal: React.FC = (props: ShareWor // State const [shareSuggestions, setShareSuggestions] = useState([]); const [groups, setGroups] = useState([]); - const [originalAcl, setOriginalAcl] = useState([]); + const [originalAcl, setOriginalAcl] = useState([]); const [searchValue, setSearchValue] = useState(''); - const [acl, setAcl] = useState([]); + const [acl, setAcl] = useState([]); const [loaded, setLoaded] = useState(false); const [working, setWorking] = useState(false); const [updateError, setUpdateError] = useState(undefined); @@ -60,7 +60,7 @@ const ShareWorkspaceModal: React.FC = (props: ShareWor Ajax(signal).Groups.list(), ]); - const fixedAcl: WorkspaceAcl = transformAcl(acl); + const fixedAcl: AclUtils = transformAcl(acl); setAcl(fixedAcl); setOriginalAcl(fixedAcl); setGroups(groups); diff --git a/src/workspaces/common/WorkspaceAcl.test.ts b/src/workspaces/acl-utils.test.ts similarity index 92% rename from src/workspaces/common/WorkspaceAcl.test.ts rename to src/workspaces/acl-utils.test.ts index e031f64de9e..0ac12954905 100644 --- a/src/workspaces/common/WorkspaceAcl.test.ts +++ b/src/workspaces/acl-utils.test.ts @@ -1,9 +1,4 @@ -import { - aclEntryIsTerraSupport, - RawWorkspaceAcl, - transformAcl, - WorkspaceAcl, -} from 'src/workspaces/common/WorkspaceAcl'; +import { aclEntryIsTerraSupport, AclUtils, RawWorkspaceAcl, transformAcl } from 'src/workspaces/acl-utils'; import { workspaceAccessLevels } from 'src/workspaces/utils'; describe('utility functions for the workspace acl', () => { @@ -17,7 +12,7 @@ describe('utility functions for the workspace acl', () => { accessLevel: 'PROJECT_OWNER', }, }; - const expectedTransformedAcl: WorkspaceAcl = [ + const expectedTransformedAcl: AclUtils = [ { email: 'email1@test.com', canCompute: true, diff --git a/src/workspaces/common/WorkspaceAcl.ts b/src/workspaces/acl-utils.ts similarity index 92% rename from src/workspaces/common/WorkspaceAcl.ts rename to src/workspaces/acl-utils.ts index b5c38d554a6..8dcf4edd5a0 100644 --- a/src/workspaces/common/WorkspaceAcl.ts +++ b/src/workspaces/acl-utils.ts @@ -5,7 +5,7 @@ import { WorkspaceAccessLevel, workspaceAccessLevels } from 'src/workspaces/util export type RawWorkspaceAcl = { [key: string]: RawAccessEntry }; // a list of email, AccessEntry pairs -export type WorkspaceAcl = AccessEntry[]; +export type AclUtils = AccessEntry[]; export interface RawAccessEntry { pending: boolean; @@ -18,7 +18,7 @@ export interface AccessEntry extends RawAccessEntry { email: string; } -export const transformAcl: (RawWorkspaceAcl) => WorkspaceAcl = (raw) => { +export const transformAcl: (RawWorkspaceAcl) => AclUtils = (raw) => { return _.flow( _.toPairs, _.map(([email, data]) => ({ email, ...data })),