From 40a73bfcbe083d5a2aa4be57880e389def4757c4 Mon Sep 17 00:00:00 2001 From: Hazelnoot Date: Fri, 9 May 2025 11:53:29 -0400 Subject: add new role conditions for local/remote followers/followees --- packages/backend/src/models/Role.ts | 72 +++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) (limited to 'packages/backend/src/models') diff --git a/packages/backend/src/models/Role.ts b/packages/backend/src/models/Role.ts index d7ae8ed38c..2caf3e0bd3 100644 --- a/packages/backend/src/models/Role.ts +++ b/packages/backend/src/models/Role.ts @@ -147,6 +147,70 @@ type CondFormulaValueFollowingMoreThanOrEq = { value: number; }; +/** + * Is followed by at most N local users + */ +type CondFormulaValueLocalFollowersLessThanOrEq = { + type: 'localFollowersLessThanOrEq'; + value: number; +}; + +/** + * Is followed by at least N local users + */ +type CondFormulaValueLocalFollowersMoreThanOrEq = { + type: 'localFollowersMoreThanOrEq'; + value: number; +}; + +/** + * Is following at most N local users + */ +type CondFormulaValueLocalFollowingLessThanOrEq = { + type: 'localFollowingLessThanOrEq'; + value: number; +}; + +/** + * Is following at least N local users + */ +type CondFormulaValueLocalFollowingMoreThanOrEq = { + type: 'localFollowingMoreThanOrEq'; + value: number; +}; + +/** + * Is followed by at most N remote users + */ +type CondFormulaValueRemoteFollowersLessThanOrEq = { + type: 'remoteFollowersLessThanOrEq'; + value: number; +}; + +/** + * Is followed by at least N remote users + */ +type CondFormulaValueRemoteFollowersMoreThanOrEq = { + type: 'remoteFollowersMoreThanOrEq'; + value: number; +}; + +/** + * Is following at most N remote users + */ +type CondFormulaValueRemoteFollowingLessThanOrEq = { + type: 'remoteFollowingLessThanOrEq'; + value: number; +}; + +/** + * Is following at least N remote users + */ +type CondFormulaValueRemoteFollowingMoreThanOrEq = { + type: 'remoteFollowingMoreThanOrEq'; + value: number; +}; + /** * 投稿数が指定値以下の場合のみ成立とする */ @@ -182,6 +246,14 @@ export type RoleCondFormulaValue = { id: string } & ( CondFormulaValueFollowersMoreThanOrEq | CondFormulaValueFollowingLessThanOrEq | CondFormulaValueFollowingMoreThanOrEq | + CondFormulaValueLocalFollowersLessThanOrEq | + CondFormulaValueLocalFollowersMoreThanOrEq | + CondFormulaValueLocalFollowingLessThanOrEq | + CondFormulaValueLocalFollowingMoreThanOrEq | + CondFormulaValueRemoteFollowersLessThanOrEq | + CondFormulaValueRemoteFollowersMoreThanOrEq | + CondFormulaValueRemoteFollowingLessThanOrEq | + CondFormulaValueRemoteFollowingMoreThanOrEq | CondFormulaValueNotesLessThanOrEq | CondFormulaValueNotesMoreThanOrEq ); -- cgit v1.2.3-freya