From 165746ca46ed96b3041cdcd2080f2000688d0a5e Mon Sep 17 00:00:00 2001 From: Narciso Date: Wed, 7 Oct 2026 11:21:19 -0400 Subject: [PATCH] fix(server): allow members to list servers on cloud --- apps/dokploy/server/api/routers/server.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/apps/dokploy/server/api/routers/server.ts b/apps/dokploy/server/api/routers/server.ts index a872679c3..5d41ab71d 100644 --- a/apps/dokploy/server/api/routers/server.ts +++ b/apps/dokploy/server/api/routers/server.ts @@ -19,7 +19,10 @@ import { updateServerById, } from "@dokploy/server"; import { db } from "@dokploy/server/db"; -import { findMemberByUserId } from "@dokploy/server/services/permission"; +import { + checkPermission, + findMemberByUserId, +} from "@dokploy/server/services/permission"; import { hasValidLicense } from "@dokploy/server/services/proprietary/license-key"; import { TRPCError } from "@trpc/server"; import { observable } from "@trpc/server/observable"; @@ -216,10 +219,15 @@ export const serverRouter = createTRPCRouter({ return servers.length ?? 0; }), - withSSHKey: withPermission("server", "read").query(async ({ ctx }) => { + withSSHKey: protectedProcedure.query(async ({ ctx }) => { + await checkPermission( + ctx, + IS_CLOUD ? { service: ["create"] } : { server: ["read"] }, + ); const accessibleIds = await getAccessibleServerIds(ctx.session); const result = await db.query.server.findMany({ + columns: { serverId: true, name: true, ipAddress: true }, orderBy: desc(server.createdAt), where: IS_CLOUD ? and(