using System.Text.Json.Serialization;
using Prospect.Server.Api.Models.Client.Data;
namespace Prospect.Server.Api.Models.Client;
public class FServerLoginResult
{
///
/// [optional] If LoginTitlePlayerAccountEntity flag is set on the login request the title_player_account will also be logged in and
/// returned.
///
[JsonPropertyName("EntityToken")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public FEntityTokenResponse EntityToken { get; set; }
///
/// [optional] Results for requested info.
///
[JsonPropertyName("InfoResultPayload")]
public FGetPlayerCombinedInfoResultPayload InfoResultPayload { get; set; }
///
/// [optional] The time of this user's previous login. If there was no previous login, then it's DateTime.MinValue
///
[JsonPropertyName("LastLoginTime")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public DateTime? LastLoginTime { get; set; }
///
/// True if the account was newly created on this login.
///
[JsonPropertyName("NewlyCreated")]
public bool NewlyCreated { get; set; }
///
/// [optional] Player's unique PlayFabId.
///
[JsonPropertyName("PlayFabId")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public string PlayFabId { get; set; }
///
/// [optional] Unique token authorizing the user and game at the server level, for the current session.
///
[JsonPropertyName("SessionTicket")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public string SessionTicket { get; set; }
///
/// [optional] Settings specific to this user.
///
[JsonPropertyName("SettingsForUser")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public FUserSettings SettingsForUser { get; set; }
///
/// [optional] The experimentation treatments for this user at the time of login.
///
[JsonPropertyName("TreatmentAssignment")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public FTreatmentAssignment TreatmentAssignment { get; set; }
}