summaryrefslogtreecommitdiff
path: root/packages/backend/src/core/RoleService.ts
diff options
context:
space:
mode:
authorHazelnoot <acomputerdog@gmail.com>2025-05-09 21:03:05 -0400
committerHazelnoot <acomputerdog@gmail.com>2025-05-09 21:03:05 -0400
commit56a8ff4f50f9a7c66218c8590da056c149e1187e (patch)
tree9209d198cdd089c53fde84143df95cc757d652c2 /packages/backend/src/core/RoleService.ts
parentmerge: Properly announce Accept-Ranges on Drive files (!1007) (diff)
downloadsharkey-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.ts13
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;