Profile stuff

This commit is contained in:
Cj
2025-01-07 06:44:41 -05:00
parent 7c415f088e
commit 4325d472dc
12 changed files with 293 additions and 0 deletions
@@ -0,0 +1,18 @@
using System.Text.Json.Serialization;
namespace Core.Models.Eft.Profile;
public class ConnectResponse
{
[JsonPropertyName("backendUrl")]
public string BackendUrl { get; set; }
[JsonPropertyName("name")]
public string Name { get; set; }
[JsonPropertyName("editions")]
public List<string> Editions { get; set; }
[JsonPropertyName("profileDescriptions")]
public Dictionary<string, string> ProfileDescriptions { get; set; }
}
@@ -0,0 +1,9 @@
using System.Text.Json.Serialization;
namespace Core.Models.Eft.Profile;
public class CreateProfileResponse
{
[JsonPropertyName("uid")]
public string UserId { get; set; }
}
@@ -0,0 +1,9 @@
using System.Text.Json.Serialization;
namespace Core.Models.Eft.Profile;
public class GetOtherProfileRequest
{
[JsonPropertyName("accountId")]
public string AccountId { get; set; }
}
@@ -0,0 +1,103 @@
using System.Text.Json.Serialization;
using Core.Models.Eft.Common.Tables;
namespace Core.Models.Eft.Profile;
public class GetOtherProfileResponse
{
[JsonPropertyName("id")]
public string Id { get; set; }
[JsonPropertyName("aid")]
public int Aid { get; set; }
[JsonPropertyName("info")]
public OtherProfileInfo Info { get; set; }
[JsonPropertyName("customization")]
public OtherProfileCustomization Customization { get; set; }
[JsonPropertyName("skills")]
public Skills Skills { get; set; }
[JsonPropertyName("equipment")]
public OtherProfileEquipment Equipment { get; set; }
[JsonPropertyName("achievements")]
public Dictionary<string, int> Achievements { get; set; }
[JsonPropertyName("favoriteItems")]
public List<Item> FavoriteItems { get; set; }
[JsonPropertyName("pmcStats")]
public OtherProfileStats PmcStats { get; set; }
[JsonPropertyName("scavStats")]
public OtherProfileStats ScavStats { get; set; }
}
public class OtherProfileInfo
{
[JsonPropertyName("nickname")]
public string Nickname { get; set; }
[JsonPropertyName("side")]
public string Side { get; set; }
[JsonPropertyName("experience")]
public int Experience { get; set; }
[JsonPropertyName("memberCategory")]
public int MemberCategory { get; set; }
[JsonPropertyName("bannedState")]
public bool BannedState { get; set; }
[JsonPropertyName("bannedUntil")]
public long BannedUntil { get; set; }
[JsonPropertyName("registrationDate")]
public long RegistrationDate { get; set; }
}
public class OtherProfileCustomization
{
[JsonPropertyName("head")]
public string Head { get; set; }
[JsonPropertyName("body")]
public string Body { get; set; }
[JsonPropertyName("feet")]
public string Feet { get; set; }
[JsonPropertyName("hands")]
public string Hands { get; set; }
[JsonPropertyName("dogtag")]
public string Dogtag { get; set; }
}
public class OtherProfileEquipment
{
[JsonPropertyName("Id")]
public string Id { get; set; }
[JsonPropertyName("Items")]
public List<Item> Items { get; set; }
}
public class OtherProfileStats
{
[JsonPropertyName("eft")]
public OtherProfileSubStats Eft { get; set; }
}
public class OtherProfileSubStats
{
[JsonPropertyName("totalInGameTime")]
public int TotalInGameTime { get; set; }
[JsonPropertyName("overAllCounters")]
public OverallCounters OverAllCounters { get; set; }
}
@@ -0,0 +1,15 @@
using System.Text.Json.Serialization;
namespace Core.Models.Eft.Profile;
public class GetProfileSettingsRequest
{
/// <summary>
/// Chosen value for profile.Info.SelectedMemberCategory
/// </summary>
[JsonPropertyName("memberCategory")]
public int MemberCategory { get; set; }
[JsonPropertyName("squadInviteRestriction")]
public bool SquadInviteRestriction { get; set; }
}
@@ -0,0 +1,51 @@
using System.Text.Json.Serialization;
namespace Core.Models.Eft.Profile;
public class GetProfileStatusResponseData
{
[JsonPropertyName("maxPveCountExceeded")]
public bool MaxPveCountExceeded { get; set; } = false;
[JsonPropertyName("profiles")]
public List<ProfileStatusData> Profiles { get; set; }
}
public class ProfileStatusData
{
[JsonPropertyName("profileid")]
public string ProfileId { get; set; }
[JsonPropertyName("profileToken")]
public string ProfileToken { get; set; }
[JsonPropertyName("status")]
public string Status { get; set; }
[JsonPropertyName("ip")]
public string Ip { get; set; }
[JsonPropertyName("port")]
public int Port { get; set; }
[JsonPropertyName("sid")]
public string Sid { get; set; }
[JsonPropertyName("version")]
public string? Version { get; set; }
[JsonPropertyName("location")]
public string? Location { get; set; }
[JsonPropertyName("raidMode")]
public string? RaidMode { get; set; }
[JsonPropertyName("mode")]
public string? Mode { get; set; }
[JsonPropertyName("shortId")]
public string? ShortId { get; set; }
[JsonPropertyName("additional_info")]
public List<object>? AdditionalInfo { get; set; } // TODO: Was `any` in the node server
}
@@ -0,0 +1,9 @@
using System.Text.Json.Serialization;
namespace Core.Models.Eft.Profile;
public class ProfileChangeNicknameRequestData
{
[JsonPropertyName("nickname")]
public string Nickname { get; set; }
}
@@ -0,0 +1,9 @@
using System.Text.Json.Serialization;
namespace Core.Models.Eft.Profile;
public class ProfileChangeVoiceRequestData
{
[JsonPropertyName("voice")]
public string Voice { get; set; }
}
@@ -0,0 +1,18 @@
using System.Text.Json.Serialization;
namespace Core.Models.Eft.Profile;
public class ProfileCreateRequestData
{
[JsonPropertyName("side")]
public string Side { get; set; }
[JsonPropertyName("nickname")]
public string Nickname { get; set; }
[JsonPropertyName("headId")]
public string HeadId { get; set; }
[JsonPropertyName("voiceId")]
public string VoiceId { get; set; }
}
@@ -0,0 +1,9 @@
using System.Text.Json.Serialization;
namespace Core.Models.Eft.Profile;
public class SearchFriendRequestData
{
[JsonPropertyName("nickname")]
public string Nickname { get; set; }
}
@@ -0,0 +1,34 @@
using System.Text.Json.Serialization;
namespace Core.Models.Eft.Profile;
public class SearchFriendResponse
{
[JsonPropertyName("_id")]
public string Id { get; set; }
[JsonPropertyName("aid")]
public int Aid { get; set; }
[JsonPropertyName("Info")]
public FriendInfo Info { get; set; }
}
// NOTE: Renamed from `Info` because of a name collision.
public class FriendInfo
{
[JsonPropertyName("Nickname")]
public string Nickname { get; set; }
[JsonPropertyName("Side")]
public string Side { get; set; }
[JsonPropertyName("Level")]
public int Level { get; set; }
[JsonPropertyName("MemberCategory")]
public int MemberCategory { get; set; }
[JsonPropertyName("SelectedMemberCategory")]
public int SelectedMemberCategory { get; set; }
}
@@ -0,0 +1,9 @@
using System.Text.Json.Serialization;
namespace Core.Models.Eft.Profile;
public class ValidateNicknameRequestData
{
[JsonPropertyName("nickname")]
public string Nickname { get; set; }
}