mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-09-22 13:39:35 +00:00
improvement: address feedback
This commit is contained in:
@@ -15,7 +15,7 @@ type TDeleteOrgMembership = {
|
||||
userAliasDAL: Pick<TUserAliasDALFactory, "delete">;
|
||||
licenseService: Pick<TLicenseServiceFactory, "updateSubscriptionOrgMemberCount">;
|
||||
projectUserAdditionalPrivilegeDAL: Pick<TProjectUserAdditionalPrivilegeDALFactory, "delete">;
|
||||
userId: string;
|
||||
userId?: string;
|
||||
};
|
||||
|
||||
type TDeleteOrgMemberships = {
|
||||
@@ -27,7 +27,7 @@ type TDeleteOrgMemberships = {
|
||||
userAliasDAL: Pick<TUserAliasDALFactory, "delete">;
|
||||
licenseService: Pick<TLicenseServiceFactory, "updateSubscriptionOrgMemberCount">;
|
||||
projectUserAdditionalPrivilegeDAL: Pick<TProjectUserAdditionalPrivilegeDALFactory, "delete">;
|
||||
userId: string;
|
||||
userId?: string;
|
||||
};
|
||||
|
||||
export const deleteOrgMembershipFn = async ({
|
||||
@@ -44,7 +44,7 @@ export const deleteOrgMembershipFn = async ({
|
||||
const deletedMembership = await orgDAL.transaction(async (tx) => {
|
||||
const orgMembership = await orgDAL.deleteMembershipById(orgMembershipId, orgId, tx);
|
||||
|
||||
if (orgMembership.userId === userId) {
|
||||
if (userId && orgMembership.userId === userId) {
|
||||
// scott: this is temporary, we will add a leave org endpoint with proper handling to ensure org isn't abandoned/broken
|
||||
throw new BadRequestError({ message: "You cannot remove yourself from an organization" });
|
||||
}
|
||||
@@ -125,7 +125,7 @@ export const deleteOrgMembershipsFn = async ({
|
||||
.filter((member) => Boolean(member.userId))
|
||||
.map((member) => member.userId) as string[];
|
||||
|
||||
if (membershipUserIds.includes(userId)) {
|
||||
if (userId && membershipUserIds.includes(userId)) {
|
||||
// scott: this is temporary, we will add a leave org endpoint with proper handling to ensure org isn't abandoned/broken
|
||||
throw new BadRequestError({ message: "You cannot remove yourself from an organization" });
|
||||
}
|
||||
|
||||
@@ -339,7 +339,6 @@ export const projectMembershipDALFactory = (db: TDbClient) => {
|
||||
)
|
||||
.select(
|
||||
db.ref("id").withSchema(TableName.ProjectMembership),
|
||||
db.ref("userId").withSchema(TableName.ProjectMembership),
|
||||
db.ref("isGhost").withSchema(TableName.Users),
|
||||
db.ref("username").withSchema(TableName.Users),
|
||||
db.ref("email").withSchema(TableName.Users),
|
||||
|
||||
@@ -159,7 +159,7 @@ export const OrgMembersSection = () => {
|
||||
)}
|
||||
>
|
||||
<div className="flex items-center rounded-md border border-mineshaft-600 bg-mineshaft-800 px-4 py-2 text-bunker-300">
|
||||
<div className="mr-2 text-sm">{selectedMemberIds.length > 0} Selected</div>
|
||||
<div className="mr-2 text-sm">{selectedMemberIds.length} Selected</div>
|
||||
<button
|
||||
type="button"
|
||||
className="mr-auto text-xs text-mineshaft-400 underline-offset-2 hover:text-mineshaft-200 hover:underline"
|
||||
@@ -271,7 +271,7 @@ export const OrgMembersSection = () => {
|
||||
{(popUp.removeMembers.data?.selectedOrgMemberships as OrgUser[])?.map((member) => {
|
||||
const email = member.user.email ?? member.user.username ?? member.inviteEmail;
|
||||
return (
|
||||
<li className="flex items-center">
|
||||
<li key={member.id} className="flex items-center">
|
||||
<span className={userId === member.user.id ? "line-through" : ""}>
|
||||
{member.user.firstName || member.user.lastName
|
||||
? `${`${member.user.firstName} ${member.user.lastName}`.trim()} (${email})`
|
||||
|
||||
@@ -387,7 +387,9 @@ export const OrgMembersTable = ({
|
||||
onCheckedChange={() => {
|
||||
if (isPageSelected) {
|
||||
setSelectedMemberIds((prev) =>
|
||||
prev.filter((member) => !filteredMembersPage.find((m) => m.id !== member))
|
||||
prev.filter(
|
||||
(memberId) => !filteredMembersPage.find((m) => m.id === memberId)
|
||||
)
|
||||
);
|
||||
} else {
|
||||
setSelectedMemberIds((prev) => [
|
||||
|
||||
Reference in New Issue
Block a user