From 5ea5c99d2c78514b3f3481c3171c109e827577c6 Mon Sep 17 00:00:00 2001 From: Luke Parker <10430890+Hona@users.noreply.github.com> Date: Mon, 4 Jan 2021 23:00:26 +1000 Subject: [PATCH] Convert AuthenticateUserTicket to strong typing (#111) --- src/Steam.Models/SteamUserAuth/SteamAuthError.cs | 8 ++++++++ .../SteamUserAuth/SteamAuthResponseParams.cs | 11 +++++++++++ .../SteamUserAuth/SteamUserAuthResponse.cs | 9 +++++++++ .../SteamUserAuth/SteamUserAuthResponseModel.cs | 7 +++++++ src/SteamWebAPI2/Interfaces/ISteamUserAuth.cs | 3 ++- src/SteamWebAPI2/Interfaces/SteamUserAuth.cs | 5 +++-- 6 files changed, 40 insertions(+), 3 deletions(-) create mode 100644 src/Steam.Models/SteamUserAuth/SteamAuthError.cs create mode 100644 src/Steam.Models/SteamUserAuth/SteamAuthResponseParams.cs create mode 100644 src/Steam.Models/SteamUserAuth/SteamUserAuthResponse.cs create mode 100644 src/Steam.Models/SteamUserAuth/SteamUserAuthResponseModel.cs diff --git a/src/Steam.Models/SteamUserAuth/SteamAuthError.cs b/src/Steam.Models/SteamUserAuth/SteamAuthError.cs new file mode 100644 index 0000000..0d0b21c --- /dev/null +++ b/src/Steam.Models/SteamUserAuth/SteamAuthError.cs @@ -0,0 +1,8 @@ +namespace Steam.Models.SteamUserAuth +{ + public class SteamAuthError + { + public string ErrorCode { get; set; } + public string ErrorDesc { get; set; } + } +} \ No newline at end of file diff --git a/src/Steam.Models/SteamUserAuth/SteamAuthResponseParams.cs b/src/Steam.Models/SteamUserAuth/SteamAuthResponseParams.cs new file mode 100644 index 0000000..c0069be --- /dev/null +++ b/src/Steam.Models/SteamUserAuth/SteamAuthResponseParams.cs @@ -0,0 +1,11 @@ +namespace Steam.Models.SteamUserAuth +{ + public class SteamAuthResponseParams + { + public string Result { get; set; } + public string SteamId { get; set; } + public string OwnerSteamId { get; set; } + public bool VacBanned { get; set; } + public bool PublisherBanned { get; set; } + } +} \ No newline at end of file diff --git a/src/Steam.Models/SteamUserAuth/SteamUserAuthResponse.cs b/src/Steam.Models/SteamUserAuth/SteamUserAuthResponse.cs new file mode 100644 index 0000000..7dc0f48 --- /dev/null +++ b/src/Steam.Models/SteamUserAuth/SteamUserAuthResponse.cs @@ -0,0 +1,9 @@ +namespace Steam.Models.SteamUserAuth +{ + public class SteamUserAuthResponse + { + public SteamAuthResponseParams Params { get; set; } + public SteamAuthError Error { get; set; } + public bool Success => Error == null && Params != null; + } +} \ No newline at end of file diff --git a/src/Steam.Models/SteamUserAuth/SteamUserAuthResponseModel.cs b/src/Steam.Models/SteamUserAuth/SteamUserAuthResponseModel.cs new file mode 100644 index 0000000..5b94b9a --- /dev/null +++ b/src/Steam.Models/SteamUserAuth/SteamUserAuthResponseModel.cs @@ -0,0 +1,7 @@ +namespace Steam.Models.SteamUserAuth +{ + public class SteamUserAuthResponseModel + { + public SteamUserAuthResponse Response { get; set; } + } +} \ No newline at end of file diff --git a/src/SteamWebAPI2/Interfaces/ISteamUserAuth.cs b/src/SteamWebAPI2/Interfaces/ISteamUserAuth.cs index afc7731..318e733 100644 --- a/src/SteamWebAPI2/Interfaces/ISteamUserAuth.cs +++ b/src/SteamWebAPI2/Interfaces/ISteamUserAuth.cs @@ -1,5 +1,6 @@ using SteamWebAPI2.Utilities; using System.Threading.Tasks; +using Steam.Models.SteamUserAuth; namespace SteamWebAPI2.Interfaces { @@ -11,6 +12,6 @@ public interface ISteamUserAuth /// App ID of the game to authenticate against /// Ticket from GetAuthSessionTicket /// Results of authentication request - Task> AuthenticateUserTicket(uint appId, string ticket); + Task> AuthenticateUserTicket(uint appId, string ticket); } } \ No newline at end of file diff --git a/src/SteamWebAPI2/Interfaces/SteamUserAuth.cs b/src/SteamWebAPI2/Interfaces/SteamUserAuth.cs index 6f143b2..24fc75f 100644 --- a/src/SteamWebAPI2/Interfaces/SteamUserAuth.cs +++ b/src/SteamWebAPI2/Interfaces/SteamUserAuth.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; using System.Threading.Tasks; +using Steam.Models.SteamUserAuth; namespace SteamWebAPI2.Interfaces { @@ -30,12 +31,12 @@ public SteamUserAuth(IMapper mapper, ISteamWebRequest steamWebRequest, ISteamWeb /// App ID of the game to authenticate against /// Ticket from GetAuthSessionTicket /// Results of authentication request - public async Task> AuthenticateUserTicket(uint appId, string ticket) + public async Task> AuthenticateUserTicket(uint appId, string ticket) { List parameters = new List(); parameters.AddIfHasValue(appId, "appid"); parameters.AddIfHasValue(ticket, "ticket"); - var playingSharedGameResult = await steamWebInterface.GetAsync("AuthenticateUserTicket", 1, parameters); + var playingSharedGameResult = await steamWebInterface.GetAsync("AuthenticateUserTicket", 1, parameters); return playingSharedGameResult; } }