Rebase with Akhi

This commit is contained in:
Daniel Hougaard
2024-09-12 11:03:20 +04:00
parent 626262461a
commit d2a54234f4
4 changed files with 13 additions and 25 deletions
@@ -22,7 +22,6 @@ import { TOrgDALFactory } from "../org/org-dal";
import { TOrgServiceFactory } from "../org/org-service"; import { TOrgServiceFactory } from "../org/org-service";
import { TProjectMembershipDALFactory } from "../project-membership/project-membership-dal"; import { TProjectMembershipDALFactory } from "../project-membership/project-membership-dal";
import { TProjectUserMembershipRoleDALFactory } from "../project-membership/project-user-membership-role-dal"; import { TProjectUserMembershipRoleDALFactory } from "../project-membership/project-user-membership-role-dal";
import { TProjectRoleDALFactory } from "../project-role/project-role-dal";
import { SmtpTemplates, TSmtpService } from "../smtp/smtp-service"; import { SmtpTemplates, TSmtpService } from "../smtp/smtp-service";
import { TUserDALFactory } from "../user/user-dal"; import { TUserDALFactory } from "../user/user-dal";
import { UserEncryption } from "../user/user-types"; import { UserEncryption } from "../user/user-types";
@@ -53,7 +52,6 @@ type TAuthSignupDep = {
licenseService: Pick<TLicenseServiceFactory, "updateSubscriptionOrgMemberCount">; licenseService: Pick<TLicenseServiceFactory, "updateSubscriptionOrgMemberCount">;
projectMembershipDAL: Pick<TProjectMembershipDALFactory, "find" | "transaction" | "insertMany">; projectMembershipDAL: Pick<TProjectMembershipDALFactory, "find" | "transaction" | "insertMany">;
projectUserMembershipRoleDAL: Pick<TProjectUserMembershipRoleDALFactory, "insertMany">; projectUserMembershipRoleDAL: Pick<TProjectUserMembershipRoleDALFactory, "insertMany">;
projectRoleDAL: Pick<TProjectRoleDALFactory, "findOne">;
}; };
export type TAuthSignupFactory = ReturnType<typeof authSignupServiceFactory>; export type TAuthSignupFactory = ReturnType<typeof authSignupServiceFactory>;
@@ -68,7 +66,6 @@ export const authSignupServiceFactory = ({
tokenService, tokenService,
smtpService, smtpService,
orgService, orgService,
projectRoleDAL,
orgDAL, orgDAL,
licenseService licenseService
}: TAuthSignupDep) => { }: TAuthSignupDep) => {
+1 -3
View File
@@ -92,7 +92,6 @@ type TOrgServiceFactoryDep = {
projectRoleDAL: Pick<TProjectRoleDALFactory, "find">; projectRoleDAL: Pick<TProjectRoleDALFactory, "find">;
userGroupMembershipDAL: Pick<TUserGroupMembershipDALFactory, "findUserGroupMembershipsInProject">; userGroupMembershipDAL: Pick<TUserGroupMembershipDALFactory, "findUserGroupMembershipsInProject">;
projectBotDAL: Pick<TProjectBotDALFactory, "findOne">; projectBotDAL: Pick<TProjectBotDALFactory, "findOne">;
projectRoleDAL: Pick<TProjectRoleDALFactory, "findOne">;
projectUserMembershipRoleDAL: Pick<TProjectUserMembershipRoleDALFactory, "insertMany">; projectUserMembershipRoleDAL: Pick<TProjectUserMembershipRoleDALFactory, "insertMany">;
}; };
@@ -119,8 +118,7 @@ export const orgServiceFactory = ({
samlConfigDAL, samlConfigDAL,
userGroupMembershipDAL, userGroupMembershipDAL,
projectBotDAL, projectBotDAL,
projectUserMembershipRoleDAL, projectUserMembershipRoleDAL
projectRoleDAL
}: TOrgServiceFactoryDep) => { }: TOrgServiceFactoryDep) => {
/* /*
* Get organization details by the organization id * Get organization details by the organization id
@@ -60,7 +60,7 @@ export default function TeamInviteStep(): JSX.Element {
placeholder="[email protected], [email protected]..." placeholder="[email protected], [email protected]..."
/> />
</div> </div>
<div className="mx-auto mt-0 mt-2 flex w-full flex-row items-end justify-end text-sm md:mt-4 md:mb-2 md:min-w-[30rem] md:max-w-md"> <div className="mx-auto mt-2 flex w-full flex-row items-end justify-end text-sm md:mt-4 md:mb-2 md:min-w-[30rem] md:max-w-md">
<Button <Button
onClick={() => { onClick={() => {
if (serverDetails?.emailConfigured) { if (serverDetails?.emailConfigured) {
@@ -21,10 +21,9 @@ import {
} from "@app/components/v2"; } from "@app/components/v2";
import { useOrganization, useWorkspace } from "@app/context"; import { useOrganization, useWorkspace } from "@app/context";
import { import {
useAddUserToWsNonE2EE, useAddUsersToOrg,
useGetOrgUsers, useGetOrgUsers,
useGetProjectRoles, useGetProjectRoles,
useGetUserWsKey,
useGetWorkspaceUsers useGetWorkspaceUsers
} from "@app/hooks/api"; } from "@app/hooks/api";
import { ProjectMembershipRole } from "@app/hooks/api/roles/types"; import { ProjectMembershipRole } from "@app/hooks/api/roles/types";
@@ -51,12 +50,9 @@ export const AddMemberModal = ({ popUp, handlePopUpToggle }: Props) => {
const orgId = currentOrg?.id || ""; const orgId = currentOrg?.id || "";
const workspaceId = currentWorkspace?.id || ""; const workspaceId = currentWorkspace?.id || "";
const { data: wsKey } = useGetUserWsKey(workspaceId);
const { data: members } = useGetWorkspaceUsers(workspaceId); const { data: members } = useGetWorkspaceUsers(workspaceId);
const { data: orgUsers } = useGetOrgUsers(orgId); const { data: orgUsers } = useGetOrgUsers(orgId);
const { mutateAsync: addUserToWorkspaceNonE2EE } = useAddUserToWsNonE2EE();
const { data: roles } = useGetProjectRoles(currentWorkspace?.slug || ""); const { data: roles } = useGetProjectRoles(currentWorkspace?.slug || "");
const { const {
@@ -70,17 +66,12 @@ export const AddMemberModal = ({ popUp, handlePopUpToggle }: Props) => {
defaultValues: { orgMembershipIds: [], projectRoleSlugs: [ProjectMembershipRole.Member] } defaultValues: { orgMembershipIds: [], projectRoleSlugs: [ProjectMembershipRole.Member] }
}); });
const { mutateAsync: addMembersToProject } = useAddUsersToOrg();
const onAddMember = async ({ orgMembershipIds, projectRoleSlugs }: TAddMemberForm) => { const onAddMember = async ({ orgMembershipIds, projectRoleSlugs }: TAddMemberForm) => {
if (!currentWorkspace) return; if (!currentWorkspace) return;
if (!currentOrg?.id) return; if (!currentOrg?.id) return;
// TODO(akhilmhdh): Move to memory storage
const userPrivateKey = localStorage.getItem("PRIVATE_KEY");
if (!userPrivateKey || !wsKey) {
createNotification({
text: "Failed to find private key. Try re-login"
});
return;
}
const selectedMembers = orgMembershipIds.map((orgMembershipId) => const selectedMembers = orgMembershipIds.map((orgMembershipId) =>
orgUsers?.find((orgUser) => orgUser.id === orgMembershipId) orgUsers?.find((orgUser) => orgUser.id === orgMembershipId)
); );
@@ -94,11 +85,13 @@ export const AddMemberModal = ({ popUp, handlePopUpToggle }: Props) => {
text: "Please upgrade your project to invite new members to the project." text: "Please upgrade your project to invite new members to the project."
}); });
} else { } else {
await addUserToWorkspaceNonE2EE({ await addMembersToProject({
projectId: workspaceId, inviteeEmails: selectedMembers.map((member) => member?.user.username!),
usernames: [...selectedMembers.map((member) => member?.user.username!)], organizationId: orgId,
roleSlugs: projectRoleSlugs, projects: projectRoleSlugs.map((roleSlug) => ({
orgId id: workspaceId,
projectRoleSlug: roleSlug
}))
}); });
} }
createNotification({ createNotification({