summaryrefslogtreecommitdiff
path: root/packages/backend
diff options
context:
space:
mode:
authorsyuilo <4439005+syuilo@users.noreply.github.com>2025-07-12 15:13:35 +0900
committersyuilo <4439005+syuilo@users.noreply.github.com>2025-07-12 15:13:35 +0900
commit5ecaf5095ecd4678dd3e05abcc5b0781f6fddb93 (patch)
treef4cfde51470eab18fa7356f831c807a7e26621f8 /packages/backend
parentNew Crowdin updates (#16258) (diff)
downloadmisskey-5ecaf5095ecd4678dd3e05abcc5b0781f6fddb93.tar.gz
misskey-5ecaf5095ecd4678dd3e05abcc5b0781f6fddb93.tar.bz2
misskey-5ecaf5095ecd4678dd3e05abcc5b0781f6fddb93.zip
enhance: ウォーターマーク機能をロールで制御可能に
Diffstat (limited to 'packages/backend')
-rw-r--r--packages/backend/src/core/RoleService.ts3
-rw-r--r--packages/backend/src/models/json-schema/role.ts4
2 files changed, 7 insertions, 0 deletions
diff --git a/packages/backend/src/core/RoleService.ts b/packages/backend/src/core/RoleService.ts
index 314f7e221a..cddfc0094e 100644
--- a/packages/backend/src/core/RoleService.ts
+++ b/packages/backend/src/core/RoleService.ts
@@ -67,6 +67,7 @@ export type RolePolicies = {
chatAvailability: 'available' | 'readonly' | 'unavailable';
uploadableFileTypes: string[];
noteDraftLimit: number;
+ watermarkAvailable: boolean;
};
export const DEFAULT_POLICIES: RolePolicies = {
@@ -111,6 +112,7 @@ export const DEFAULT_POLICIES: RolePolicies = {
'audio/*',
],
noteDraftLimit: 10,
+ watermarkAvailable: true,
};
@Injectable()
@@ -433,6 +435,7 @@ export class RoleService implements OnApplicationShutdown, OnModuleInit {
return [...set];
}),
noteDraftLimit: calc('noteDraftLimit', vs => Math.max(...vs)),
+ watermarkAvailable: calc('watermarkAvailable', vs => vs.some(v => v === true)),
};
}
diff --git a/packages/backend/src/models/json-schema/role.ts b/packages/backend/src/models/json-schema/role.ts
index a3f679129d..c9cdbd5d89 100644
--- a/packages/backend/src/models/json-schema/role.ts
+++ b/packages/backend/src/models/json-schema/role.ts
@@ -313,6 +313,10 @@ export const packedRolePoliciesSchema = {
type: 'integer',
optional: false, nullable: false,
},
+ watermarkAvailable: {
+ type: 'boolean',
+ optional: false, nullable: false,
+ },
},
} as const;