diff options
| author | Hazelnoot <acomputerdog@gmail.com> | 2025-05-12 20:08:56 +0000 |
|---|---|---|
| committer | Hazelnoot <acomputerdog@gmail.com> | 2025-05-12 20:08:56 +0000 |
| commit | 00cfeca3d7aff3a727be6b80f86f93b4332b490c (patch) | |
| tree | 8bce4020a6a4cfee89eb2f683193e85228e7f6e9 /packages/backend/src | |
| parent | merge: Always show bubble controls (!1023) (diff) | |
| parent | fix wording of "User is from a bubble instance" (diff) | |
| download | sharkey-00cfeca3d7aff3a727be6b80f86f93b4332b490c.tar.gz sharkey-00cfeca3d7aff3a727be6b80f86f93b4332b490c.tar.bz2 sharkey-00cfeca3d7aff3a727be6b80f86f93b4332b490c.zip | |
merge: Add "is from local bubble instance" role condition (!1011)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1011
Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
Diffstat (limited to 'packages/backend/src')
| -rw-r--r-- | packages/backend/src/core/RoleService.ts | 4 | ||||
| -rw-r--r-- | packages/backend/src/models/Role.ts | 8 |
2 files changed, 12 insertions, 0 deletions
diff --git a/packages/backend/src/core/RoleService.ts b/packages/backend/src/core/RoleService.ts index e87c459d5c..039932b76d 100644 --- a/packages/backend/src/core/RoleService.ts +++ b/packages/backend/src/core/RoleService.ts @@ -262,6 +262,10 @@ export class RoleService implements OnApplicationShutdown, OnModuleInit { return user.host.toLowerCase() === value.host.toLowerCase(); } } + // Is the user from a local bubble instance + case 'fromBubbleInstance': { + return user.host != null && this.meta.bubbleInstances.includes(user.host); + } // サスペンド済みユーザである case 'isSuspended': { return user.isSuspended; diff --git a/packages/backend/src/models/Role.ts b/packages/backend/src/models/Role.ts index 2caf3e0bd3..f6e3050830 100644 --- a/packages/backend/src/models/Role.ts +++ b/packages/backend/src/models/Role.ts @@ -57,6 +57,13 @@ type CondFormulaValueIsFromInstance = { }; /** + * Is the user from a local bubble instance + */ +type CondFormulaValueFromBubbleInstance = { + type: 'fromBubbleInstance'; +}; + +/** * 既に指定のマニュアルロールにアサインされている場合のみ成立とする */ type CondFormulaValueRoleAssignedTo = { @@ -234,6 +241,7 @@ export type RoleCondFormulaValue = { id: string } & ( CondFormulaValueIsLocal | CondFormulaValueIsRemote | CondFormulaValueIsFromInstance | + CondFormulaValueFromBubbleInstance | CondFormulaValueIsSuspended | CondFormulaValueIsLocked | CondFormulaValueIsBot | |