diff --git a/packages/api/src/routers/workspace.ts b/packages/api/src/routers/workspace.ts index 569c1b44..99102dd3 100644 --- a/packages/api/src/routers/workspace.ts +++ b/packages/api/src/routers/workspace.ts @@ -83,7 +83,8 @@ export const workspaceRouter = createTRPCRouter({ const isAdmin = userMember?.role === "admin"; // Show emails if user is admin OR workspace setting allows it - const shouldShowEmails = isAdmin || result.showEmailsToMembers === true; + const shouldShowEmails = + isAdmin || result.showEmailsToMembers === true; // If emails should be hidden, filter them out if (!shouldShowEmails) { diff --git a/packages/db/src/repository/workspace.repo.ts b/packages/db/src/repository/workspace.repo.ts index cca502f2..dd1e6c52 100644 --- a/packages/db/src/repository/workspace.repo.ts +++ b/packages/db/src/repository/workspace.repo.ts @@ -194,8 +194,13 @@ export const getByPublicIdWithMembers = ( email: true, role: true, status: true, + createdAt: true, }, where: isNull(workspaceMembers.deletedAt), + orderBy: (member, { desc }) => [ + desc(sql`CASE WHEN ${member.role} = 'admin' THEN 1 ELSE 0 END`), + desc(member.createdAt), + ], with: { user: { columns: {