import * as fw from "../fw"; export class DuplicateUserError extends fw.types.BaseError { constructor(message?: string) { super(409, 409, message ?? "Duplicate User"); } } export class EventClosedError extends fw.types.BaseError { constructor(message?: string) { super(fw.types.StatusCode.Forbidden, 40301, message ?? "Event closed"); } } export class EventLockedError extends fw.types.BaseError { constructor(message?: string) { super(fw.types.StatusCode.Forbidden, 40302, message ?? "Event locked"); } } export class CannotAnswerError extends fw.types.BaseError { constructor(code?: number, message?: string) { super(fw.types.StatusCode.Forbidden, code ?? 40311, message ?? "回答条件を満たしていません"); } } export class NeedsUserNameError extends fw.types.BaseError { constructor(message?: string) { super( fw.types.StatusCode.Forbidden, 40312, message ?? "名前の登録が完了していないため、回答は反映されません。" ); } } export class NeedsRankingError extends fw.types.BaseError { constructor(message?: string) { super( fw.types.StatusCode.Forbidden, 40313, message ?? "本選参加の条件を満たしていないため、回答は反映されません。" ); } } export class OtherPlayerPlayError extends fw.types.BaseError { constructor(message?: string) { super(fw.types.StatusCode.Forbidden, 40316, message ?? "参加していないルームです。"); } } export class TerminatedPlayError extends fw.types.BaseError { constructor(message?: string) { super(fw.types.StatusCode.Forbidden, 40315, message ?? "このルームは中断されています。"); } } export class DuplicateRoomError extends fw.types.BaseError { constructor(message?: string) { super(409, 40901, message ?? "そのルームコードはすでに利用されています。"); } } export class InvalidTicketError extends fw.types.BaseError { constructor(code?: number, message?: string) { super(fw.types.StatusCode.Forbidden, code ?? 40314, message ?? "現在はプレイできません。"); } } export class InvalidTicketFormatError extends fw.types.BaseError { constructor(message?: string) { super(fw.types.StatusCode.BadRequest, 40051, message ?? "トークンが無効です。"); } } export class DuplicateTokenError extends fw.types.BaseError { constructor(message?: string) { super(409, 40902, message ?? "こちらのURLはすでに別のユーザーによって利用されています。"); } } export class UsedTokenError extends fw.types.BaseError { constructor(message?: string) { super(409, 40903, message ?? "すでにこちらのURLを利用して作成した部屋が存在します。"); } } export class InvalidPlayStatusnError extends fw.types.BaseError { constructor(message?: string) { super(409, 40904, message ?? "トークンを発行できない状態です。"); } } export class PlayNotStartedError extends fw.types.BaseError { constructor(message?: string) { super(409, 40905, message ?? "プレイが開始されていません"); } } export class PlayCapacityIsFullError extends fw.types.BaseError { constructor(message?: string) { super(503, 50303, message ?? "現在混みあっておりゲームを開始できません。しばらく経ってからお試しください。"); } } export class AlreadyPlayResumed extends fw.types.BaseError { constructor(message?: string) { super(400, 40001, message ?? "すでに開始されています。"); } }