fix(backend): リバーシの設定変更が反映されないのを修正 (#14404)
* fix(backend): リバーシの設定変更が反映されないのを修正 * Update Changelog * add bindthis
This commit is contained in:
@@ -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);
|
||||
|
Reference in New Issue
Block a user