Improved nickname validation code clarity

Improved accuracy of 2 responses:

`client/game/profile/nickname/validate`
`client/game/profile/nickname/change`
This commit is contained in:
Chomp
2025-05-21 16:09:11 +01:00
parent a3be7f25db
commit c39ab9e1e7
4 changed files with 49 additions and 39 deletions
@@ -6,6 +6,7 @@ using SPTarkov.Server.Core.Models.Eft.Common.Tables;
using SPTarkov.Server.Core.Models.Eft.Launcher;
using SPTarkov.Server.Core.Models.Eft.Profile;
using SPTarkov.Server.Core.Models.Enums;
using SPTarkov.Server.Core.Models.Spt.Launcher;
using SPTarkov.Server.Core.Models.Utils;
using SPTarkov.Server.Core.Routers;
using SPTarkov.Server.Core.Servers;
@@ -104,54 +105,54 @@ public class ProfileController(
/// <summary>
/// Handle client/game/profile/list
/// </summary>
/// <param name="sessionID">Session/Player id</param>
/// <param name="sessionId">Session/Player id</param>
/// <returns>Return a full profile, scav and pmc profiles + meta data</returns>
public virtual List<PmcData> GetCompleteProfile(string sessionID)
public virtual List<PmcData> GetCompleteProfile(string sessionId)
{
return _profileHelper.GetCompleteProfile(sessionID);
return _profileHelper.GetCompleteProfile(sessionId);
}
/// <summary>
/// Handle client/game/profile/create
/// </summary>
/// <param name="request">Create profile request</param>
/// <param name="sessionID">Player id</param>
/// <param name="sessionId">Player id</param>
/// <returns>Player id</returns>
public virtual string CreateProfile(ProfileCreateRequestData request, string sessionID)
public virtual string CreateProfile(ProfileCreateRequestData request, string sessionId)
{
return _createProfileService.CreateProfile(sessionID, request);
return _createProfileService.CreateProfile(sessionId, request);
}
/// <summary>
/// Generate a player scav object
/// PMC profile MUST exist first before player-scav can be generated
/// </summary>
/// <param name="sessionID">Player id</param>
/// <param name="sessionId">Player id</param>
/// <returns>PmcData</returns>
public virtual PmcData GeneratePlayerScav(string sessionID)
public virtual PmcData GeneratePlayerScav(string sessionId)
{
return _playerScavGenerator.Generate(sessionID);
return _playerScavGenerator.Generate(sessionId);
}
/// <summary>
/// Handle client/game/profile/nickname/validate
/// </summary>
/// <param name="request">Validate nickname request</param>
/// <param name="sessionID">Session/Player id</param>
/// <param name="sessionId">Session/Player id</param>
/// <returns></returns>
public virtual string ValidateNickname(ValidateNicknameRequestData request, string sessionID)
public virtual NicknameValidationResult ValidateNickname(ValidateNicknameRequestData request, string sessionId)
{
if (request.Nickname.Length < 3)
if (request.Nickname?.Length < 3)
{
return "tooshort";
return NicknameValidationResult.Short;
}
if (_profileHelper.IsNicknameTaken(request, sessionID))
if (_profileHelper.IsNicknameTaken(request, sessionId))
{
return "taken";
return NicknameValidationResult.Taken;
}
return "OK";
return NicknameValidationResult.Valid;
}
/// <summary>
@@ -159,21 +160,21 @@ public class ProfileController(
/// Client allows player to adjust their profile name
/// </summary>
/// <param name="request">Change nickname request</param>
/// <param name="sessionID">Player id</param>
/// <param name="sessionId">Player id</param>
/// <returns></returns>
public virtual string ChangeNickname(ProfileChangeNicknameRequestData request, string sessionID)
public virtual NicknameValidationResult ChangeNickname(ProfileChangeNicknameRequestData request, string sessionId)
{
var output = ValidateNickname(
new ValidateNicknameRequestData
{
Nickname = request.Nickname
},
sessionID
sessionId
);
if (output == "OK")
if (output == NicknameValidationResult.Valid)
{
var pmcData = _profileHelper.GetPmcProfile(sessionID);
var pmcData = _profileHelper.GetPmcProfile(sessionId);
pmcData.Info.Nickname = request.Nickname;
pmcData.Info.LowerNickname = request.Nickname.ToLower();