summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api
diff options
context:
space:
mode:
Diffstat (limited to 'packages/backend/src/server/api')
-rw-r--r--packages/backend/src/server/api/stream/channels/reversi-game.ts8
1 files changed, 5 insertions, 3 deletions
diff --git a/packages/backend/src/server/api/stream/channels/reversi-game.ts b/packages/backend/src/server/api/stream/channels/reversi-game.ts
index c6f4a4ae3b..7597a1cfa3 100644
--- a/packages/backend/src/server/api/stream/channels/reversi-game.ts
+++ b/packages/backend/src/server/api/stream/channels/reversi-game.ts
@@ -12,6 +12,7 @@ import { ReversiGameEntityService } from '@/core/entities/ReversiGameEntityServi
import { isJsonObject } from '@/misc/json-value.js';
import type { JsonObject, JsonValue } from '@/misc/json-value.js';
import Channel, { type MiChannelService } from '../channel.js';
+import { reversiUpdateKeys } from 'misskey-js';
class ReversiGameChannel extends Channel {
public readonly chName = 'reversiGame';
@@ -46,8 +47,9 @@ class ReversiGameChannel extends Channel {
break;
case 'updateSettings':
if (!isJsonObject(body)) return;
- if (typeof body.key !== 'string') return;
- if (!isJsonObject(body.value)) return;
+ if (!this.reversiService.isValidReversiUpdateKey(body.key)) return;
+ if (!this.reversiService.isValidReversiUpdateValue(body.key, body.value)) return;
+
this.updateSettings(body.key, body.value);
break;
case 'cancel':
@@ -64,7 +66,7 @@ class ReversiGameChannel extends Channel {
}
@bindThis
- private async updateSettings(key: string, value: JsonObject) {
+ private async updateSettings<K extends typeof reversiUpdateKeys[number]>(key: K, value: MiReversiGame[K]) {
if (this.user == null) return;
this.reversiService.updateSettings(this.gameId!, this.user, key, value);