diff options
| author | syuilo <4439005+syuilo@users.noreply.github.com> | 2025-07-12 15:13:35 +0900 |
|---|---|---|
| committer | syuilo <4439005+syuilo@users.noreply.github.com> | 2025-07-12 15:13:35 +0900 |
| commit | 5ecaf5095ecd4678dd3e05abcc5b0781f6fddb93 (patch) | |
| tree | f4cfde51470eab18fa7356f831c807a7e26621f8 /packages/backend/src | |
| parent | New Crowdin updates (#16258) (diff) | |
| download | misskey-5ecaf5095ecd4678dd3e05abcc5b0781f6fddb93.tar.gz misskey-5ecaf5095ecd4678dd3e05abcc5b0781f6fddb93.tar.bz2 misskey-5ecaf5095ecd4678dd3e05abcc5b0781f6fddb93.zip | |
enhance: ウォーターマーク機能をロールで制御可能に
Diffstat (limited to 'packages/backend/src')
| -rw-r--r-- | packages/backend/src/core/RoleService.ts | 3 | ||||
| -rw-r--r-- | packages/backend/src/models/json-schema/role.ts | 4 |
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; |