1
0
mirror of https://github.com/MisskeyIO/misskey synced 2024-11-27 22:38:30 +09:00

fix(backend): Skeb連携の照会後ロール付与に失敗しても無視するように

This commit is contained in:
まっちゃとーにゅ 2024-04-01 23:18:58 +09:00
parent ea5684ffaa
commit 416da28dc3
No known key found for this signature in database
GPG Key ID: 6AFBBF529601C1DB

View File

@ -134,16 +134,24 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
if (res.status > 299 || (json.error ?? json.ban_reason)) { if (res.status > 299 || (json.error ?? json.ban_reason)) {
logger.error('Skeb status response error', { url: url.href, userId: ps.userId, status: res.status, statusText: res.statusText, error: json.error ?? json.ban_reason }); logger.error('Skeb status response error', { url: url.href, userId: ps.userId, status: res.status, statusText: res.statusText, error: json.error ?? json.ban_reason });
if (res.status === 404 && hasSkebRole) await this.roleService.unassign(ps.userId, this.config.skebStatus.roleId); try {
if (res.status === 404 && hasSkebRole) await this.roleService.unassign(ps.userId, this.config.skebStatus.roleId);
} catch (err) {
logger.error('Failed to unassign role', { userId: ps.userId, roleId: this.config.skebStatus.roleId, error: err });
}
throw new ApiError(meta.errors.noSuchUser); throw new ApiError(meta.errors.noSuchUser);
} }
logger.info('Skeb status response', { url: url.href, userId: ps.userId, status: res.status, statusText: res.statusText, skebStatus: json }); logger.info('Skeb status response', { url: url.href, userId: ps.userId, status: res.status, statusText: res.statusText, skebStatus: json });
if (json.is_acceptable) { try {
if (!hasSkebRole) await this.roleService.assign(ps.userId, this.config.skebStatus.roleId); if (json.is_acceptable) {
} else if (hasSkebRole) { if (!hasSkebRole) await this.roleService.assign(ps.userId, this.config.skebStatus.roleId);
await this.roleService.unassign(ps.userId, this.config.skebStatus.roleId); } else if (hasSkebRole) {
await this.roleService.unassign(ps.userId, this.config.skebStatus.roleId);
}
} catch (err) {
logger.error('Failed to assign/unassign role', { userId: ps.userId, roleId: this.config.skebStatus.roleId, error: err });
} }
return { return {