From 56a8ff4f50f9a7c66218c8590da056c149e1187e Mon Sep 17 00:00:00 2001 From: Hazelnoot Date: Fri, 9 May 2025 21:03:05 -0400 Subject: add isFromInstance role condition --- packages/backend/src/core/RoleService.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'packages/backend/src/core/RoleService.ts') diff --git a/packages/backend/src/core/RoleService.ts b/packages/backend/src/core/RoleService.ts index 229781c079..d948325503 100644 --- a/packages/backend/src/core/RoleService.ts +++ b/packages/backend/src/core/RoleService.ts @@ -248,6 +248,19 @@ export class RoleService implements OnApplicationShutdown, OnModuleInit { case 'isRemote': { return this.userEntityService.isRemoteUser(user); } + // User is from a specific instance + case 'isFromInstance': { + if (user.host == null) { + return false; + } + if (value.subdomains) { + const userHost = '.' + user.host.toLowerCase(); + const targetHost = '.' + value.host.toLowerCase(); + return userHost.endsWith(targetHost); + } else { + return user.host.toLowerCase() === value.host.toLowerCase(); + } + } // サスペンド済みユーザである case 'isSuspended': { return user.isSuspended; -- cgit v1.2.3-freya