feat(mypage): /mypage/finish_battle (returns check=0 — no in-flight state yet)
This commit is contained in:
@@ -10,7 +10,9 @@ using SVSim.EmulatedEntrypoint.Constants;
|
||||
using SVSim.EmulatedEntrypoint.Infrastructure;
|
||||
using SVSim.EmulatedEntrypoint.Models.Dtos;
|
||||
using SVSim.EmulatedEntrypoint.Models.Dtos.Requests;
|
||||
using SVSim.EmulatedEntrypoint.Models.Dtos.Requests.MyPage;
|
||||
using SVSim.EmulatedEntrypoint.Models.Dtos.Responses;
|
||||
using SVSim.EmulatedEntrypoint.Models.Dtos.Responses.MyPage;
|
||||
using SVSim.EmulatedEntrypoint.Services;
|
||||
|
||||
namespace SVSim.EmulatedEntrypoint.Controllers;
|
||||
@@ -361,4 +363,11 @@ public class MyPageController : SVSimController
|
||||
EndTime = row.EndTime.ToString(WireDateFormat, CultureInfo.InvariantCulture),
|
||||
};
|
||||
}
|
||||
|
||||
[HttpPost("finish_battle")]
|
||||
public ActionResult<MyPageFinishBattleResponse> FinishBattle([FromBody] MyPageFinishBattleRequest _)
|
||||
{
|
||||
if (!TryGetViewerId(out long __)) return Unauthorized();
|
||||
return new MyPageFinishBattleResponse { CheckUnfinishedBattle = 0 };
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
using MessagePack;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace SVSim.EmulatedEntrypoint.Models.Dtos.Requests.MyPage;
|
||||
|
||||
[MessagePackObject]
|
||||
public class MyPageFinishBattleRequest : BaseRequest
|
||||
{
|
||||
// Wire key is uppercase "SDTRB" — verbatim from
|
||||
// PlayerPrefsWrapper.SELF_DISCONNECT_OPEN_STATUS_TO_REPLACE_LOG.
|
||||
[JsonPropertyName("SDTRB")]
|
||||
[Key("SDTRB")]
|
||||
public int Sdtrb { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
using MessagePack;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace SVSim.EmulatedEntrypoint.Models.Dtos.Responses.MyPage;
|
||||
|
||||
/// <summary>
|
||||
/// Spec source: docs/api-spec/endpoints/post-login/mypage-finish-battle.md.
|
||||
/// We always emit check_unfinished_battle=0 because no in-flight battle state
|
||||
/// is tracked server-side yet. When that lands, branch to is_win + class/rank refresh.
|
||||
/// </summary>
|
||||
[MessagePackObject]
|
||||
public class MyPageFinishBattleResponse
|
||||
{
|
||||
[JsonPropertyName("check_unfinished_battle")]
|
||||
[Key("check_unfinished_battle")]
|
||||
public int CheckUnfinishedBattle { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user