diff --git a/backend/src/db/schemas/members.ts b/backend/src/db/schemas/members.ts index 727a918728..fae1885022 100644 --- a/backend/src/db/schemas/members.ts +++ b/backend/src/db/schemas/members.ts @@ -2,12 +2,17 @@ import { z } from "zod"; export const MemberSchema = z.object({ id: z.string(), + inviteEmail: z.string().nullable(), + orgId: z.string(), + role: z.string(), + roleId: z.string().nullable(), + status: z.string(), + projects: z.array(z.string()).nullable(), email: z.string(), firstName: z.string(), lastName: z.string(), userId: z.string(), - publicKey: z.string(), - projects: z.string().array() + publicKey: z.string() }); export type MemberProps = z.infer; diff --git a/backend/src/services/org/org-dal.ts b/backend/src/services/org/org-dal.ts index 6b13bfcbc5..a4479e9d63 100644 --- a/backend/src/services/org/org-dal.ts +++ b/backend/src/services/org/org-dal.ts @@ -126,11 +126,15 @@ export const orgDALFactory = (db: TDbClient) => { `${TableName.UserEncryptionKey}.publicKey` ); - return members.map(({ email, firstName, lastName, userId, publicKey, projects, ...data }) => ({ - ...data, - projects: projects || [], - user: { email, firstName, lastName, id: userId, publicKey } - })); + const users = members.map(({ email, firstName, lastName, userId, publicKey, projects, ...data }) => { + return { + ...data, + projects: projects || [], + user: { email, firstName, lastName, id: userId, publicKey } + }; + }); + + return users; } catch (error) { throw new DatabaseError({ error, name: "Find all org members" }); } diff --git a/frontend/src/views/Org/MembersPage/components/OrgMembersTab/components/OrgMembersSection/AddProjectModal.tsx b/frontend/src/views/Org/MembersPage/components/OrgMembersTab/components/OrgMembersSection/AddProjectModal.tsx index d1c5e2adad..8c3950d7d4 100644 --- a/frontend/src/views/Org/MembersPage/components/OrgMembersTab/components/OrgMembersSection/AddProjectModal.tsx +++ b/frontend/src/views/Org/MembersPage/components/OrgMembersTab/components/OrgMembersSection/AddProjectModal.tsx @@ -12,7 +12,7 @@ import useFilteredProjects from "./hooks/useFilteredProjects"; import useInitialCheckedProjects from "./hooks/useInitialCheckedProjects"; import ProjectsTable from "./projectsTable/ProjectsTable"; import addProjectFormSchema from "./utils/addProjectFormSchema"; -import { CheckboxKeys, CheckedProjectsMap, Props } from "./types"; +import { CheckboxKeys, CheckedProjectsMap, DataProps, Props } from "./types"; type TAddProjectForm = yup.InferType; @@ -20,8 +20,10 @@ export const AddProjectModal = ({ popUp, handlePopUpToggle, handlePopUpClose }: const { createNotification } = useNotificationContext(); const { currentOrg } = useOrganization(); const { workspaces } = useWorkspace(); - const email = popUp.addProject?.data?.email || ""; - const userProjects = useMemo(() => popUp.addProject?.data?.projects || [], [popUp.addProject]); + const data = popUp.addProject?.data as DataProps; + + const email = data?.email || ""; + const userProjects = useMemo(() => data?.projects || [], [popUp.addProject]); const { data: serverDetails } = useFetchServerStatus(); diff --git a/frontend/src/views/Org/MembersPage/components/OrgMembersTab/components/OrgMembersSection/types.ts b/frontend/src/views/Org/MembersPage/components/OrgMembersTab/components/OrgMembersSection/types.ts index 836f808adb..ee997d9eee 100644 --- a/frontend/src/views/Org/MembersPage/components/OrgMembersTab/components/OrgMembersSection/types.ts +++ b/frontend/src/views/Org/MembersPage/components/OrgMembersTab/components/OrgMembersSection/types.ts @@ -8,6 +8,10 @@ export enum CheckboxKeys { ALL = "all" } +export type DataProps = { + email: string; + projects: string[]; +}; export type CheckedProjectsMap = Record; export type ProjectsTableProps = {