diff --git a/apps/web/src/views/members/index.tsx b/apps/web/src/views/members/index.tsx
index 64ed5027..6e0e85d8 100644
--- a/apps/web/src/views/members/index.tsx
+++ b/apps/web/src/views/members/index.tsx
@@ -2,6 +2,7 @@ import { HiEllipsisHorizontal, HiOutlinePlusSmall } from "react-icons/hi2";
import { twMerge } from "tailwind-merge";
import Avatar from "~/components/Avatar";
+import Button from "~/components/Button";
import Dropdown from "~/components/Dropdown";
import Modal from "~/components/modal";
import { NewWorkspaceForm } from "~/components/NewWorkspaceForm";
@@ -111,7 +112,12 @@ export default function MembersPage() {
)}
-
+
-
+
diff --git a/packages/db/seed.sql b/packages/db/seed.sql
index a03bd2b0..6722182a 100644
--- a/packages/db/seed.sql
+++ b/packages/db/seed.sql
@@ -118,6 +118,17 @@ AS $$
);
$$;
+CREATE OR REPLACE FUNCTION is_workspace_member(user_id UUID, workspace_id BIGINT)
+RETURNS BOOLEAN
+LANGUAGE SQL
+AS $$
+ SELECT EXISTS (
+ SELECT 1
+ FROM workspace_members
+ WHERE "userId" = user_id AND "workspaceId" = workspace_id
+ );
+$$;
+
alter table "_card_labels" enable row level security;
alter table "_card_workspace_members" enable row level security;
alter table "_card_activity" enable row level security;
@@ -676,7 +687,7 @@ FOR SELECT
TO authenticated
USING (
"userId" = auth.uid() OR
- is_workspace_admin(auth.uid(), "workspaceId")
+ is_workspace_member(auth.uid(), "workspaceId")
);
CREATE POLICY "Allow admins to add workspace members"