diff --git a/packages/features/users/components/UserTable/UserListTable.tsx b/packages/features/users/components/UserTable/UserListTable.tsx
index 34e6f605bf..9343c17eea 100644
--- a/packages/features/users/components/UserTable/UserListTable.tsx
+++ b/packages/features/users/components/UserTable/UserListTable.tsx
@@ -77,6 +77,7 @@ const initalColumnVisibility = {
teams: true,
createdAt: false,
updatedAt: false,
+ twoFactorEnabled: false,
actions: true,
};
@@ -416,6 +417,26 @@ function UserListTableContent({ org, attributes, teams, facetedTeamValues }: Use
},
cell: ({ row }) =>
{row.original.updatedAt || ""}
,
},
+ {
+ id: "twoFactorEnabled",
+ accessorKey: "twoFactorEnabled",
+ header: t("2fa"),
+ enableHiding: adminOrOwner,
+ enableSorting: false,
+ enableColumnFilter: false,
+ size: 80,
+ cell: ({ row }) => {
+ const { twoFactorEnabled } = row.original;
+ if (!adminOrOwner || twoFactorEnabled === undefined) {
+ return null;
+ }
+ return (
+
+ {twoFactorEnabled ? t("enabled") : t("disabled")}
+
+ );
+ },
+ },
{
id: "actions",
enableHiding: false,
diff --git a/packages/trpc/server/routers/viewer/organizations/listMembers.handler.ts b/packages/trpc/server/routers/viewer/organizations/listMembers.handler.ts
index f681e7985f..117b506493 100644
--- a/packages/trpc/server/routers/viewer/organizations/listMembers.handler.ts
+++ b/packages/trpc/server/routers/viewer/organizations/listMembers.handler.ts
@@ -225,6 +225,7 @@ export const listMembersHandler = async ({ ctx, input }: GetOptions) => {
disableImpersonation: true,
completedOnboarding: true,
lastActiveAt: true,
+ ...(ctx.user.organization.isOrgAdmin && { twoFactorEnabled: true }),
teams: {
select: {
team: {
@@ -311,6 +312,7 @@ export const listMembersHandler = async ({ ctx, input }: GetOptions) => {
.toLowerCase()
: null,
avatarUrl: user.avatarUrl,
+ ...(ctx.user.organization.isOrgAdmin && { twoFactorEnabled: user.twoFactorEnabled }),
teams: user.teams
.filter((team) => team.team.id !== organizationId) // In this context we dont want to return the org team
.map((team) => {