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;
}
}