Files
Nebula-Auth/NebulaAuth/Model/Entities/Mafile.cs
T
Давид Чернопятов ef8e12e20d 1.5.4 progress
- Mafile version was updated (3), new property SteamId added
- MafileSerializer was refactored to adjust compability and code readability.
- Serialization work moved from Storage to new class NebulaSerializer
2024-11-10 02:29:40 +02:00

59 lines
1.6 KiB
C#

using CommunityToolkit.Mvvm.ComponentModel;
using NebulaAuth.Model.MAAC;
using Newtonsoft.Json;
using SteamLib;
using SteamLib.Account;
namespace NebulaAuth.Model.Entities;
[INotifyPropertyChanged]
public partial class Mafile : MobileDataExtended
{
public MaProxy? Proxy { get; set; }
public string? Group { get; set; }
public string? Password { get; set; }
[JsonIgnore]
public PortableMaClient? LinkedClient
{
get => _linkedClient;
set => SetProperty(ref _linkedClient, value);
}
[JsonIgnore]
private PortableMaClient? _linkedClient;
public void SetSessionData(MobileSessionData? sessionData)
{
SessionData = sessionData;
OnPropertyChanged(nameof(SessionData));
}
public static Mafile FromMobileDataExtended(MobileDataExtended data)
{
return new Mafile
{
AccountName = data.AccountName,
DeviceId = data.DeviceId,
IdentitySecret = data.IdentitySecret,
RevocationCode = data.RevocationCode,
Secret1 = data.Secret1,
SerialNumber = data.SerialNumber,
SessionData = data.SessionData,
SharedSecret = data.SharedSecret,
ServerTime = data.ServerTime,
TokenGid = data.TokenGid,
Uri = data.Uri,
SteamId = data.SteamId
};
}
public static Mafile FromMobileDataExtended(MobileDataExtended data, MaProxy? proxy, string? group, string? password)
{
var result = FromMobileDataExtended(data);
result.Proxy = proxy;
result.Group = group;
result.Password = password;
return result;
}
}