From 349e971a8ac65e5c58fa93ed2e822659cb408428 Mon Sep 17 00:00:00 2001 From: Tom Moor Date: Mon, 22 Mar 2021 20:50:12 -0700 Subject: [PATCH] chore: Serialize domain policies on team (#1970) * domain policies exposed on team, consistency * fix: Remove usage of isAdmin in frontend * test --- app/components/Sidebar/Main.js | 4 +- app/menus/UserMenu.js | 7 +- app/scenes/Settings/People.js | 6 +- app/scenes/Settings/Shares.js | 90 ++++++++++----------- server/api/__snapshots__/users.test.js.snap | 56 +++++++++++++ server/api/apiKeys.js | 2 +- server/api/attachments.js | 2 + server/api/collections.js | 4 +- server/api/documents.js | 4 +- server/api/events.js | 4 +- server/api/groups.js | 2 +- server/api/notificationSettings.js | 2 +- server/api/users.js | 35 +++++--- server/models/ApiKey.js | 11 +-- server/policies/apiKey.js | 7 +- server/policies/attachment.js | 7 +- server/policies/collection.js | 10 ++- server/policies/document.js | 7 +- server/policies/group.js | 19 ++--- server/policies/index.test.js | 12 ++- server/policies/integration.js | 8 +- server/policies/notificationSetting.js | 7 +- server/policies/team.js | 22 +---- server/policies/team.test.js | 34 ++++++++ server/policies/user.js | 37 ++++++--- server/test/factories.js | 4 + 26 files changed, 258 insertions(+), 145 deletions(-) create mode 100644 server/policies/team.test.js diff --git a/app/components/Sidebar/Main.js b/app/components/Sidebar/Main.js index a90dc9a4a..37c4653a4 100644 --- a/app/components/Sidebar/Main.js +++ b/app/components/Sidebar/Main.js @@ -173,7 +173,7 @@ function MainSidebar() { exact={false} label={t("Settings")} /> - {can.invite && ( + {can.inviteUser && ( - {can.invite && ( + {can.inviteUser && ( ) => { @@ -98,14 +99,14 @@ function UserMenu({ user }: Props) { userName: user.name, }), onClick: handleDemote, - visible: user.isAdmin, + visible: can.demote, }, { title: t("Make {{ userName }} an admin…", { userName: user.name, }), onClick: handlePromote, - visible: !user.isAdmin && !user.isSuspended, + visible: can.promote, }, { type: "separator", diff --git a/app/scenes/Settings/People.js b/app/scenes/Settings/People.js index 591f2a3fd..03d398b9b 100644 --- a/app/scenes/Settings/People.js +++ b/app/scenes/Settings/People.js @@ -87,7 +87,7 @@ class People extends React.Component { {team.signinMethods} but haven’t signed in yet. - {can.invite && ( + {can.inviteUser && (