MCPcopy
hub / github.com/Dokploy/dokploy / getAccessibleServerIds

Function getAccessibleServerIds

packages/server/src/services/server.ts:136–168  ·  view source on GitHub ↗
(session: {
	userId: string;
	activeOrganizationId: string;
})

Source from the content-addressed store, hash-verified

134};
135
136export const getAccessibleServerIds = async (session: {
137 userId: string;
138 activeOrganizationId: string;
139}): Promise<Set<string>> => {
140 const { userId, activeOrganizationId } = session;
141
142 const allOrgServers = await db.query.server.findMany({
143 where: eq(server.organizationId, activeOrganizationId),
144 columns: {
145 serverId: true,
146 },
147 });
148
149 const memberRecord = await db.query.member.findFirst({
150 where: and(
151 eq(member.userId, userId),
152 eq(member.organizationId, activeOrganizationId),
153 ),
154 columns: { accessedServers: true, role: true },
155 });
156
157 if (memberRecord?.role === "owner" || memberRecord?.role === "admin") {
158 return new Set(allOrgServers.map((s) => s.serverId));
159 }
160
161 const licensed = await hasValidLicense(activeOrganizationId);
162
163 if (!licensed) {
164 return new Set(allOrgServers.map((s) => s.serverId));
165 }
166
167 return new Set(memberRecord?.accessedServers ?? []);
168};

Callers 9

mysql.tsFile · 0.90
mongo.tsFile · 0.90
compose.tsFile · 0.90
redis.tsFile · 0.90
libsql.tsFile · 0.90
application.tsFile · 0.90
postgres.tsFile · 0.90
mariadb.tsFile · 0.90
server.tsFile · 0.90

Calls 1

hasValidLicenseFunction · 0.90

Tested by

no test coverage detected