fix: owner should not be marked as shared when host is shared to their role

This commit is contained in:
ZacharyZcR
2026-01-11 22:32:46 +08:00
parent 69f3f88ae5
commit dbf947adf0

View File

@@ -852,7 +852,7 @@ router.get(
socks5ProxyChain: sshData.socks5ProxyChain, socks5ProxyChain: sshData.socks5ProxyChain,
ownerId: sshData.userId, ownerId: sshData.userId,
isShared: sql<boolean>`${hostAccess.id} IS NOT NULL`, isShared: sql<boolean>`${hostAccess.id} IS NOT NULL AND ${sshData.userId} != ${userId}`,
permissionLevel: hostAccess.permissionLevel, permissionLevel: hostAccess.permissionLevel,
expiresAt: hostAccess.expiresAt, expiresAt: hostAccess.expiresAt,
}) })
@@ -1700,8 +1700,9 @@ async function resolveHostCredentials(
if (requestingUserId && requestingUserId !== ownerId) { if (requestingUserId && requestingUserId !== ownerId) {
try { try {
const { SharedCredentialManager } = const { SharedCredentialManager } = await import(
await import("../../utils/shared-credential-manager.js"); "../../utils/shared-credential-manager.js"
);
const sharedCredManager = SharedCredentialManager.getInstance(); const sharedCredManager = SharedCredentialManager.getInstance();
const sharedCred = await sharedCredManager.getSharedCredentialForUser( const sharedCred = await sharedCredManager.getSharedCredentialForUser(
host.id as number, host.id as number,