diff options
| author | Hazelnoot <acomputerdog@gmail.com> | 2025-05-09 21:03:05 -0400 |
|---|---|---|
| committer | Hazelnoot <acomputerdog@gmail.com> | 2025-05-09 21:03:05 -0400 |
| commit | 56a8ff4f50f9a7c66218c8590da056c149e1187e (patch) | |
| tree | 9209d198cdd089c53fde84143df95cc757d652c2 /packages/backend/src/core/RoleService.ts | |
| parent | merge: Properly announce Accept-Ranges on Drive files (!1007) (diff) | |
| download | sharkey-56a8ff4f50f9a7c66218c8590da056c149e1187e.tar.gz sharkey-56a8ff4f50f9a7c66218c8590da056c149e1187e.tar.bz2 sharkey-56a8ff4f50f9a7c66218c8590da056c149e1187e.zip | |
add isFromInstance role condition
Diffstat (limited to 'packages/backend/src/core/RoleService.ts')
| -rw-r--r-- | packages/backend/src/core/RoleService.ts | 13 |
1 files changed, 13 insertions, 0 deletions
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; |