2
0
mirror of https://github.com/9ParsonsB/Pulsar.git synced 2025-04-12 06:54:43 -04:00

Journals Now processed in own thread

Some invalid journal data is now handled
Journals now use polymorphic deserialization
Added Event names to all journal events
Remove unused controllers
This commit is contained in:
Ben Parsons 2024-05-24 17:57:10 +10:00
parent ae848e036d
commit efd0b3e0c0
297 changed files with 827 additions and 209 deletions

View File

@ -9,6 +9,7 @@ namespace Observatory.Framework.Files;
/// </summary> /// </summary>
public class BackpackFile : JournalBase public class BackpackFile : JournalBase
{ {
public override string Event => "Backpack";
/// <summary> /// <summary>
/// List of all items carried. /// List of all items carried.
/// </summary> /// </summary>

View File

@ -9,6 +9,7 @@ namespace Observatory.Framework.Files;
/// </summary> /// </summary>
public class CargoFile : JournalBase public class CargoFile : JournalBase
{ {
public override string Event => "Cargo";
/// <summary> /// <summary>
/// Type of vehicle currently being reported. "Ship" or "SRV". /// Type of vehicle currently being reported. "Ship" or "SRV".
/// </summary> /// </summary>

View File

@ -9,6 +9,7 @@ namespace Observatory.Framework.Files;
/// </summary> /// </summary>
public class FCMaterialsFile : JournalBase public class FCMaterialsFile : JournalBase
{ {
public override string Event => "FCMaterials";
/// <summary> /// <summary>
/// List of items in stock and in demand from the carrier bartender. /// List of items in stock and in demand from the carrier bartender.
/// </summary> /// </summary>

View File

@ -5,6 +5,7 @@ namespace Observatory.Framework.Files.Journal.Combat;
public class Bounty : JournalBase public class Bounty : JournalBase
{ {
public override string Event => "Bounty";
public ImmutableList<Rewards> Rewards { get; init; } public ImmutableList<Rewards> Rewards { get; init; }
public string PilotName { get; set; } public string PilotName { get; set; }
public string PilotName_Localised { get; set; } public string PilotName_Localised { get; set; }

View File

@ -1,7 +1,8 @@
namespace Observatory.Framework.Files.Journal.Combat; namespace Observatory.Framework.Files.Journal.Combat;
public class CapShipBound : JournalBase public class CapShipBond : JournalBase
{ {
public override string Event => "CapShipBond";
public long Reward { get; init; } public long Reward { get; init; }
public string AwardingFaction { get; init; } public string AwardingFaction { get; init; }
public string VictimFaction { get; init; } public string VictimFaction { get; init; }

View File

@ -5,6 +5,7 @@ namespace Observatory.Framework.Files.Journal.Combat;
public class Died : JournalBase public class Died : JournalBase
{ {
public override string Event => "Died";
public string KillerName { get; init; } public string KillerName { get; init; }
public string KillerName_Localised { get; init; } public string KillerName_Localised { get; init; }
public string KillerShip { get; init; } public string KillerShip { get; init; }

View File

@ -2,6 +2,7 @@
public class EscapeInterdiction : JournalBase public class EscapeInterdiction : JournalBase
{ {
public override string Event => "EscapeInterdiction";
public string Interdictor { get; init; } public string Interdictor { get; init; }
public bool IsPlayer { get; init; } public bool IsPlayer { get; init; }
public bool IsThargoid { get; init; } public bool IsThargoid { get; init; }

View File

@ -2,6 +2,7 @@
public class FactionKillBond : JournalBase public class FactionKillBond : JournalBase
{ {
public override string Event => "FactionKillBond";
public long Reward { get; init; } public long Reward { get; init; }
public string AwardingFaction { get; init; } public string AwardingFaction { get; init; }
public string AwardingFaction_Localised { get; init; } public string AwardingFaction_Localised { get; init; }

View File

@ -2,5 +2,6 @@
public class FighterDestroyed : JournalBase public class FighterDestroyed : JournalBase
{ {
public override string Event => "FighterDestroyed";
public ulong ID { get; init; } public ulong ID { get; init; }
} }

View File

@ -1,4 +1,6 @@
namespace Observatory.Framework.Files.Journal.Combat; namespace Observatory.Framework.Files.Journal.Combat;
public class HeatDamage : JournalBase public class HeatDamage : JournalBase
{ } {
public override string Event => "HeatDamage";
}

View File

@ -2,4 +2,5 @@
public class HeatWarning : JournalBase public class HeatWarning : JournalBase
{ {
public override string Event => "HeatWarning";
} }

View File

@ -2,6 +2,7 @@
public class HullDamage : JournalBase public class HullDamage : JournalBase
{ {
public override string Event => "HullDamage";
public float Health { get; init; } public float Health { get; init; }
public bool PlayerPilot { get; init; } public bool PlayerPilot { get; init; }
public bool Fighter { get; init; } public bool Fighter { get; init; }

View File

@ -2,6 +2,7 @@
public class Interdicted : JournalBase public class Interdicted : JournalBase
{ {
public override string Event => "Interdicted";
public bool Submitted { get; init; } public bool Submitted { get; init; }
public string Interdictor { get; init; } public string Interdictor { get; init; }
public string Interdictor_Localised { get; init; } public string Interdictor_Localised { get; init; }

View File

@ -2,6 +2,7 @@
public class Interdiction : JournalBase public class Interdiction : JournalBase
{ {
public override string Event => "Interdiction";
public bool Success { get; init; } public bool Success { get; init; }
public string Interdictor { get; init; } public string Interdictor { get; init; }
public bool IsPlayer { get; init; } public bool IsPlayer { get; init; }

View File

@ -2,6 +2,7 @@
public class PVPKill : JournalBase public class PVPKill : JournalBase
{ {
public override string Event => "PVPKill";
public string Victim { get; init; } public string Victim { get; init; }
public int CombatRank { get; init; } public int CombatRank { get; init; }
} }

View File

@ -2,6 +2,7 @@
public class SRVDestroyed : JournalBase public class SRVDestroyed : JournalBase
{ {
public override string Event => "SRVDestroyed";
public string SRVType { get; init; } public string SRVType { get; init; }
public string SRVType_Localised { get; init; } public string SRVType_Localised { get; init; }
} }

View File

@ -2,5 +2,6 @@
public class ShieldState : JournalBase public class ShieldState : JournalBase
{ {
public override string Event => "ShieldState";
public bool ShieldsUp { get; init; } public bool ShieldsUp { get; init; }
} }

View File

@ -2,6 +2,7 @@
public class ShipTargeted : JournalBase public class ShipTargeted : JournalBase
{ {
public override string Event => "ShipTargeted";
public bool TargetLocked { get; init; } public bool TargetLocked { get; init; }
public string Ship { get; init; } public string Ship { get; init; }
public string Ship_Localised { get; init; } public string Ship_Localised { get; init; }

View File

@ -2,5 +2,6 @@
public class UnderAttack : JournalBase public class UnderAttack : JournalBase
{ {
public override string Event => "UnderAttack";
public string Target { get; init; } public string Target { get; init; }
} }

View File

@ -5,6 +5,7 @@
/// </summary> /// </summary>
public class BuyExplorationData : JournalBase public class BuyExplorationData : JournalBase
{ {
public override string Event => "BuyExplorationData";
/// <summary> /// <summary>
/// Name of the system for which data was purchased. /// Name of the system for which data was purchased.
/// </summary> /// </summary>

View File

@ -7,6 +7,7 @@ namespace Observatory.Framework.Files.Journal.Exploration;
/// </summary> /// </summary>
public class CodexEntry : JournalBase public class CodexEntry : JournalBase
{ {
public override string Event => "CodexEntry";
/// <summary> /// <summary>
/// Unique ID of the entry. /// Unique ID of the entry.
/// </summary> /// </summary>

View File

@ -5,6 +5,7 @@
/// </summary> /// </summary>
public class DiscoveryScan : JournalBase public class DiscoveryScan : JournalBase
{ {
public override string Event => "DiscoveryScan";
/// <summary> /// <summary>
/// Unique ID of system. /// Unique ID of system.
/// </summary> /// </summary>

View File

@ -5,6 +5,8 @@
/// </summary> /// </summary>
public class FSSAllBodiesFound : JournalBase public class FSSAllBodiesFound : JournalBase
{ {
public override string Event => "FSSAllBodiesFound";
/// <summary> /// <summary>
/// Name of the system. /// Name of the system.
/// </summary> /// </summary>

View File

@ -5,4 +5,5 @@
/// </summary> /// </summary>
public class FSSBodySignals : SAASignalsFound public class FSSBodySignals : SAASignalsFound
{ {
public override string Event => "FSSBodySignals";
} }

View File

@ -5,6 +5,7 @@
/// </summary> /// </summary>
public class FSSDiscoveryScan : JournalBase public class FSSDiscoveryScan : JournalBase
{ {
public override string Event => "FSSDiscoveryScan";
/// <summary> /// <summary>
/// Name of the current system. /// Name of the current system.
/// </summary> /// </summary>

View File

@ -5,6 +5,7 @@
/// </summary> /// </summary>
public class FSSSignalDiscovered : JournalBase public class FSSSignalDiscovered : JournalBase
{ {
public override string Event => "FSSSignalDiscovered";
/// <summary> /// <summary>
/// Name of the signal type. /// Name of the signal type.
/// </summary> /// </summary>

View File

@ -5,6 +5,7 @@
/// </summary> /// </summary>
public class MaterialCollected : JournalBase public class MaterialCollected : JournalBase
{ {
public override string Event => "MaterialCollected";
/// <summary> /// <summary>
/// Category to which the material belongs. /// Category to which the material belongs.
/// </summary> /// </summary>

View File

@ -5,4 +5,5 @@
/// </summary> /// </summary>
public class MaterialDiscarded : MaterialCollected public class MaterialDiscarded : MaterialCollected
{ {
public override string Event => "MaterialDiscarded";
} }

View File

@ -5,6 +5,7 @@
/// </summary> /// </summary>
public class MaterialDiscovered : JournalBase public class MaterialDiscovered : JournalBase
{ {
public override string Event => "MaterialDiscovered";
/// <summary> /// <summary>
/// Category of the material. /// Category of the material.
/// </summary> /// </summary>

View File

@ -8,6 +8,7 @@ namespace Observatory.Framework.Files.Journal.Exploration;
/// </summary> /// </summary>
public class MultiSellExplorationData : JournalBase public class MultiSellExplorationData : JournalBase
{ {
public override string Event => "MultiSellExplorationData";
/// <summary> /// <summary>
/// List of all sold first discoveries. /// List of all sold first discoveries.
/// </summary> /// </summary>

View File

@ -5,6 +5,7 @@
/// </summary> /// </summary>
public class NavBeaconScan : JournalBase public class NavBeaconScan : JournalBase
{ {
public override string Event => "NavBeaconScan";
/// <summary> /// <summary>
/// Number of bodies in system. /// Number of bodies in system.
/// </summary> /// </summary>

View File

@ -7,6 +7,7 @@ namespace Observatory.Framework.Files.Journal.Exploration;
/// </summary> /// </summary>
public class SAAScanComplete : JournalBase public class SAAScanComplete : JournalBase
{ {
public override string Event => "SAAScanComplete";
/// <summary> /// <summary>
/// Unique ID of current system. /// Unique ID of current system.
/// </summary> /// </summary>

View File

@ -8,6 +8,7 @@ namespace Observatory.Framework.Files.Journal.Exploration;
/// </summary> /// </summary>
public class SAASignalsFound : JournalBase public class SAASignalsFound : JournalBase
{ {
public override string Event => "SAASignalsFound";
/// <summary> /// <summary>
/// Unique ID of current system. /// Unique ID of current system.
/// </summary> /// </summary>

View File

@ -10,6 +10,7 @@ namespace Observatory.Framework.Files.Journal.Exploration;
/// </summary> /// </summary>
public class Scan : ScanBaryCentre public class Scan : ScanBaryCentre
{ {
public override string Event => "Scan";
/// <summary> /// <summary>
/// Type of scan which generated the event. Possible options include "Detailed", "AutoScan", and "NavBeaconDetail" (non-exhaustive). /// Type of scan which generated the event. Possible options include "Detailed", "AutoScan", and "NavBeaconDetail" (non-exhaustive).
/// </summary> /// </summary>
@ -119,6 +120,7 @@ public class Scan : ScanBaryCentre
/// <summary> /// <summary>
/// Rotation period of body in seconds. /// Rotation period of body in seconds.
/// </summary> /// </summary>
[JsonConverter(typeof(JournalInvalidFloatConverter))]
public float RotationPeriod { get; init; } public float RotationPeriod { get; init; }
/// <summary> /// <summary>
/// Axial tilt of body in radians. /// Axial tilt of body in radians.

View File

@ -5,6 +5,7 @@
/// </summary> /// </summary>
public class ScanBaryCentre : JournalBase public class ScanBaryCentre : JournalBase
{ {
public override string Event => "ScanBaryCentre";
/// <summary> /// <summary>
/// Name of star system containing scanned body. /// Name of star system containing scanned body.
/// </summary> /// </summary>

View File

@ -5,6 +5,7 @@
/// </summary> /// </summary>
public class Screenshot : JournalBase public class Screenshot : JournalBase
{ {
public override string Event => "Screenshot";
/// <summary> /// <summary>
/// <para>Filename of the screenshot taken in the form of "\\ED Pictures\\filename"</para> /// <para>Filename of the screenshot taken in the form of "\\ED Pictures\\filename"</para>
/// <para>"\\ED Pictures\\" corresponds to "%userprofile%\Pictures\Frontier Developments\Elite Dangerous\"</para> /// <para>"\\ED Pictures\\" corresponds to "%userprofile%\Pictures\Frontier Developments\Elite Dangerous\"</para>

View File

@ -7,6 +7,7 @@ namespace Observatory.Framework.Files.Journal.Exploration;
/// </summary> /// </summary>
public class SellExplorationData : JournalBase public class SellExplorationData : JournalBase
{ {
public override string Event => "SellExplorationData";
/// <summary> /// <summary>
/// List of systems for which data was sold. /// List of systems for which data was sold.
/// </summary> /// </summary>

View File

@ -2,6 +2,7 @@
public class CarrierBankTransfer : JournalBase public class CarrierBankTransfer : JournalBase
{ {
public override string Event => "CarrierBankTransfer";
public ulong CarrierID { get; init; } public ulong CarrierID { get; init; }
public long Deposit { get; init; } public long Deposit { get; init; }
public long Withdraw { get; init; } public long Withdraw { get; init; }

View File

@ -2,6 +2,7 @@
public class CarrierBuy : JournalBase public class CarrierBuy : JournalBase
{ {
public override string Event => "CarrierBuy";
public long BoughtAtMarket { get; init; } public long BoughtAtMarket { get; init; }
public ulong SystemAddress { get; init; } public ulong SystemAddress { get; init; }
public ulong CarrierID { get; init; } public ulong CarrierID { get; init; }

View File

@ -2,5 +2,6 @@
public class CarrierCancelDecommission : JournalBase public class CarrierCancelDecommission : JournalBase
{ {
public override string Event => "CarrierCancelDecommission";
public ulong CarrierID { get; init; } public ulong CarrierID { get; init; }
} }

View File

@ -5,6 +5,7 @@ namespace Observatory.Framework.Files.Journal.FleetCarrier;
public class CarrierCrewServices : JournalBase public class CarrierCrewServices : JournalBase
{ {
public override string Event => "CarrierCrewServices";
public ulong CarrierID { get; init; } public ulong CarrierID { get; init; }
public string CrewRole { get; init; } public string CrewRole { get; init; }
public string CrewName { get; init; } public string CrewName { get; init; }

View File

@ -2,8 +2,9 @@
public class CarrierDecommission : JournalBase public class CarrierDecommission : JournalBase
{ {
public override string Event => "CarrierDecommission";
public ulong CarrierID { get; init; } public ulong CarrierID { get; init; }
public long ScrapRefund { get; init; } public long ScrapRefund { get; init; }
public long ScrapTime { get; init; } public long ScrapTime { get; init; }
public DateTime ScrapTimeUTC => DateTimeOffset.FromUnixTimeSeconds(ScrapTime).UtcDateTime; public DateTimeOffset ScrapTimeUTC => DateTimeOffset.FromUnixTimeSeconds(ScrapTime);
} }

View File

@ -2,6 +2,7 @@
public class CarrierDepositFuel : JournalBase public class CarrierDepositFuel : JournalBase
{ {
public override string Event => "CarrierDepositFuel";
public ulong CarrierID { get; init; } public ulong CarrierID { get; init; }
public int Amount { get; init; } public int Amount { get; init; }
public int Total { get; init; } public int Total { get; init; }

View File

@ -5,6 +5,7 @@ namespace Observatory.Framework.Files.Journal.FleetCarrier;
public class CarrierDockingPermission : JournalBase public class CarrierDockingPermission : JournalBase
{ {
public override string Event => "CarrierDockingPermission";
public ulong CarrierID { get; init; } public ulong CarrierID { get; init; }
[JsonConverter(typeof(JsonStringEnumConverter))] [JsonConverter(typeof(JsonStringEnumConverter))]
public CarrierDockingAccess DockingAccess { get; init; } public CarrierDockingAccess DockingAccess { get; init; }

View File

@ -2,6 +2,7 @@
public class CarrierFinance : JournalBase public class CarrierFinance : JournalBase
{ {
public override string Event => "CarrierFinance";
public ulong CarrierID { get; init; } public ulong CarrierID { get; init; }
public int TaxRate { get; init; } public int TaxRate { get; init; }
public long CarrierBalance { get; init; } public long CarrierBalance { get; init; }

View File

@ -8,6 +8,7 @@ namespace Observatory.Framework.Files.Journal.FleetCarrier;
public class CarrierJump : FSDJump public class CarrierJump : FSDJump
{ {
public override string Event => "CarrierJump";
public bool Docked { get; init; } public bool Docked { get; init; }
public bool OnFoot { get; init; } public bool OnFoot { get; init; }
/// <summary> /// <summary>

View File

@ -2,5 +2,6 @@
public class CarrierJumpCancelled : JournalBase public class CarrierJumpCancelled : JournalBase
{ {
public override string Event => "CarrierJumpCancelled";
public ulong CarrierID { get; init; } public ulong CarrierID { get; init; }
} }

View File

@ -2,6 +2,7 @@
public class CarrierJumpRequest : JournalBase public class CarrierJumpRequest : JournalBase
{ {
public override string Event => "CarrierJumpRequest";
public string Body { get; init; } public string Body { get; init; }
public int BodyID { get; init; } public int BodyID { get; init; }
public ulong SystemAddress { get; init; } public ulong SystemAddress { get; init; }

View File

@ -2,4 +2,5 @@
public class CarrierModulePack : CarrierShipPack public class CarrierModulePack : CarrierShipPack
{ {
public override string Event => "CarrierModulePack";
} }

View File

@ -5,6 +5,7 @@ namespace Observatory.Framework.Files.Journal.FleetCarrier;
public class CarrierShipPack : JournalBase public class CarrierShipPack : JournalBase
{ {
public override string Event => "CarrierShipPack";
public ulong CarrierID { get; init; } public ulong CarrierID { get; init; }
[JsonConverter(typeof(JsonStringEnumConverter))] [JsonConverter(typeof(JsonStringEnumConverter))]
public CarrierOperation Operation { get; init; } public CarrierOperation Operation { get; init; }

View File

@ -6,6 +6,7 @@ namespace Observatory.Framework.Files.Journal.FleetCarrier;
public class CarrierStats : JournalBase public class CarrierStats : JournalBase
{ {
public override string Event => "CarrierStats";
public ulong CarrierID { get; init; } public ulong CarrierID { get; init; }
public string Callsign { get; init; } public string Callsign { get; init; }
public string Name { get; init; } public string Name { get; init; }

View File

@ -2,6 +2,7 @@
public class CarrierTradeOrder : JournalBase public class CarrierTradeOrder : JournalBase
{ {
public override string Event => "CarrierTradeOrder";
public ulong CarrierID { get; init; } public ulong CarrierID { get; init; }
public bool BlackMarket { get; init; } public bool BlackMarket { get; init; }
public string Commodity { get; init; } public string Commodity { get; init; }

View File

@ -2,8 +2,9 @@
namespace Observatory.Framework.Files.Journal.FleetCarrier; namespace Observatory.Framework.Files.Journal.FleetCarrier;
public class FCMaterlas : FSDJump public class FCMaterials : FSDJump
{ {
public override string Event => "FCMaterials";
public ulong MarketID { get; init; } public ulong MarketID { get; init; }
public string CarrierName { get; init; } public string CarrierName { get; init; }
public ulong CarrierID { get; init; } public ulong CarrierID { get; init; }

View File

@ -1,6 +0,0 @@
namespace Observatory.Framework.Files.Journal;
public class InvalidJson : JournalBase
{
public string OriginalEvent { get; init; }
}

View File

@ -1,4 +1,8 @@
namespace Observatory.Framework.Files.Journal; using System.ComponentModel.DataAnnotations.Schema;
using System.Runtime.Serialization;
using DateTimeOffset = System.DateTimeOffset;
namespace Observatory.Framework.Files.Journal;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
using Combat; using Combat;
@ -15,7 +19,7 @@ using Travel;
[JsonPolymorphic(TypeDiscriminatorPropertyName = "event", UnknownDerivedTypeHandling = JsonUnknownDerivedTypeHandling.FailSerialization)] [JsonPolymorphic(TypeDiscriminatorPropertyName = "event", UnknownDerivedTypeHandling = JsonUnknownDerivedTypeHandling.FailSerialization)]
[JsonDerivedType(typeof(Bounty), "Bounty")] [JsonDerivedType(typeof(Bounty), "Bounty")]
[JsonDerivedType(typeof(CapShipBound), "CapShipBound")] [JsonDerivedType(typeof(CapShipBond), "CapShipBound")]
[JsonDerivedType(typeof(Died), "Died")] [JsonDerivedType(typeof(Died), "Died")]
[JsonDerivedType(typeof(EscapeInterdiction), "EscapeInterdiction")] [JsonDerivedType(typeof(EscapeInterdiction), "EscapeInterdiction")]
[JsonDerivedType(typeof(FactionKillBond), "FactionKillBond")] [JsonDerivedType(typeof(FactionKillBond), "FactionKillBond")]
@ -63,8 +67,7 @@ using Travel;
[JsonDerivedType(typeof(CarrierShipPack), "CarrierShipPack")] [JsonDerivedType(typeof(CarrierShipPack), "CarrierShipPack")]
[JsonDerivedType(typeof(CarrierStats), "CarrierStats")] [JsonDerivedType(typeof(CarrierStats), "CarrierStats")]
[JsonDerivedType(typeof(CarrierTradeOrder), "CarrierTradeOrder")] [JsonDerivedType(typeof(CarrierTradeOrder), "CarrierTradeOrder")]
[JsonDerivedType(typeof(FCMaterlas), "FCMaterlas")] [JsonDerivedType(typeof(FleetCarrier.FCMaterials), "FCMaterlas")]
[JsonDerivedType(typeof(InvalidJson), "InvalidJson")]
[JsonDerivedType(typeof(BackpackChange), "BackpackChange")] [JsonDerivedType(typeof(BackpackChange), "BackpackChange")]
[JsonDerivedType(typeof(BackpackMaterials), "Backpack")] [JsonDerivedType(typeof(BackpackMaterials), "Backpack")]
[JsonDerivedType(typeof(BookDropship), "BookDropship")] [JsonDerivedType(typeof(BookDropship), "BookDropship")]
@ -81,7 +84,7 @@ using Travel;
[JsonDerivedType(typeof(DropItems), "DropItems")] [JsonDerivedType(typeof(DropItems), "DropItems")]
[JsonDerivedType(typeof(DropShipDeploy), "DropShipDeploy")] [JsonDerivedType(typeof(DropShipDeploy), "DropShipDeploy")]
[JsonDerivedType(typeof(Embark), "Embark")] [JsonDerivedType(typeof(Embark), "Embark")]
[JsonDerivedType(typeof(FCMaterials), "FCMaterials")] [JsonDerivedType(typeof(Odyssey.FCMaterials), "FCMaterials")]
[JsonDerivedType(typeof(LoadoutEquipModule), "LoadoutEquipModule")] [JsonDerivedType(typeof(LoadoutEquipModule), "LoadoutEquipModule")]
[JsonDerivedType(typeof(LoadoutRemoveModule), "LoadoutRemoveModule")] [JsonDerivedType(typeof(LoadoutRemoveModule), "LoadoutRemoveModule")]
[JsonDerivedType(typeof(RenameSuitLoadout), "RenameSuitLoadout")] [JsonDerivedType(typeof(RenameSuitLoadout), "RenameSuitLoadout")]
@ -273,8 +276,16 @@ public abstract class JournalBase
{ {
[JsonPropertyName("timestamp")] [JsonPropertyName("timestamp")]
public DateTimeOffset Timestamp { get; init; } public DateTimeOffset Timestamp { get; init; }
/// <summary>
/// As this is used for the JsonPolymorphic attribute, this will not be deserilized.
/// </summary>
[JsonPropertyName("event")]
public abstract string Event { get; }
[JsonExtensionData] [JsonExtensionData]
[IgnoreDataMember]
[NotMapped]
public Dictionary<string, object> AdditionalProperties { get; init; } public Dictionary<string, object> AdditionalProperties { get; init; }
} }

View File

@ -2,5 +2,5 @@
public class BackPack : JournalBase public class BackPack : JournalBase
{ {
public override string Event => "BackPack";
} }

View File

@ -5,6 +5,7 @@ namespace Observatory.Framework.Files.Journal.Odyssey;
public class BackpackChange : JournalBase public class BackpackChange : JournalBase
{ {
public override string Event => "BackpackChange";
public ImmutableList<BackpackItemChange> Added { get; init; } public ImmutableList<BackpackItemChange> Added { get; init; }
public ImmutableList<BackpackItemChange> Removed { get; init; } public ImmutableList<BackpackItemChange> Removed { get; init; }
} }

View File

@ -5,6 +5,7 @@ namespace Observatory.Framework.Files.Journal.Odyssey;
public class BackpackMaterials : JournalBase public class BackpackMaterials : JournalBase
{ {
public override string Event => "BackpackMaterials";
public ImmutableList<BackpackItem> Items { get; init; } public ImmutableList<BackpackItem> Items { get; init; }
public ImmutableList<BackpackItem> Components { get; init; } public ImmutableList<BackpackItem> Components { get; init; }
public ImmutableList<BackpackItem> Consumables { get; init; } public ImmutableList<BackpackItem> Consumables { get; init; }

View File

@ -2,4 +2,5 @@
public class BookDropship : BookTaxi public class BookDropship : BookTaxi
{ {
public override string Event => "BookDropship";
} }

View File

@ -2,6 +2,7 @@
public class BookTaxi : JournalBase public class BookTaxi : JournalBase
{ {
public override string Event => "BookTaxi";
public int Cost { get; init; } public int Cost { get; init; }
public string DestinationSystem { get; init; } public string DestinationSystem { get; init; }
public string DestinationLocation { get; init; } public string DestinationLocation { get; init; }

View File

@ -6,6 +6,7 @@ namespace Observatory.Framework.Files.Journal.Odyssey;
public class BuyMicroResources : JournalBase public class BuyMicroResources : JournalBase
{ {
public override string Event => "BuyMicroResources";
public string Name { get; init; } public string Name { get; init; }
public string Name_Localised { get; init; } public string Name_Localised { get; init; }
[JsonConverter(typeof(JsonStringEnumConverter))] [JsonConverter(typeof(JsonStringEnumConverter))]

View File

@ -2,6 +2,7 @@
public class BuySuit : JournalBase public class BuySuit : JournalBase
{ {
public override string Event => "BuySuit";
public string Name { get; init; } public string Name { get; init; }
public string Name_Localised { get; init; } public string Name_Localised { get; init; }
public int Price { get; init; } public int Price { get; init; }

View File

@ -2,6 +2,7 @@
public class BuyWeapon : JournalBase public class BuyWeapon : JournalBase
{ {
public override string Event => "BuyWeapon";
public string Name { get; init; } public string Name { get; init; }
public string Name_Localised { get; init; } public string Name_Localised { get; init; }
public int Price { get; init; } public int Price { get; init; }

View File

@ -2,4 +2,5 @@
public class CancelDropship : CancelTaxi public class CancelDropship : CancelTaxi
{ {
public override string Event => "CancelDropship";
} }

View File

@ -2,5 +2,6 @@
public class CancelTaxi : JournalBase public class CancelTaxi : JournalBase
{ {
public override string Event => "CancelTaxi";
public int Refund { get; init; } public int Refund { get; init; }
} }

View File

@ -2,6 +2,7 @@
public class CollectItems : JournalBase public class CollectItems : JournalBase
{ {
public override string Event => "CollectItems";
public string Name { get; init; } public string Name { get; init; }
public string Name_Localised { get; init; } public string Name_Localised { get; init; }
public string Type { get; init; } public string Type { get; init; }

View File

@ -5,6 +5,7 @@ namespace Observatory.Framework.Files.Journal.Odyssey;
public class CreateSuitLoadout : DeleteSuitLoadout public class CreateSuitLoadout : DeleteSuitLoadout
{ {
public override string Event => "CreateSuitLoadout";
public ImmutableList<SuitModule> Modules { get; init; } public ImmutableList<SuitModule> Modules { get; init; }
public ImmutableList<string> SuitMods { get; init; } public ImmutableList<string> SuitMods { get; init; }
} }

View File

@ -2,6 +2,7 @@
public class DeleteSuitLoadout : JournalBase public class DeleteSuitLoadout : JournalBase
{ {
public override string Event => "DeleteSuitLoadout";
public ulong SuitID { get; init; } public ulong SuitID { get; init; }
public string SuitName { get; init; } public string SuitName { get; init; }
public string SuitName_Localised { get; init; } public string SuitName_Localised { get; init; }

View File

@ -2,6 +2,7 @@
public class Disembark : JournalBase public class Disembark : JournalBase
{ {
public override string Event => "Disembark";
public bool SRV { get; init; } public bool SRV { get; init; }
public bool Taxi { get; init; } public bool Taxi { get; init; }
public bool Multicrew { get; init; } public bool Multicrew { get; init; }

View File

@ -2,4 +2,5 @@
public class DropItems : CollectItems public class DropItems : CollectItems
{ {
public override string Event => "DropItems";
} }

View File

@ -2,6 +2,7 @@
public class DropShipDeploy : JournalBase public class DropShipDeploy : JournalBase
{ {
public override string Event => "DropShipDeploy";
public string StarSystem { get; init; } public string StarSystem { get; init; }
public ulong SystemAddress { get; init; } public ulong SystemAddress { get; init; }
public string Body { get; init; } public string Body { get; init; }

View File

@ -2,4 +2,5 @@
public class Embark : Disembark public class Embark : Disembark
{ {
public override string Event => "Embark";
} }

View File

@ -2,6 +2,7 @@
public class FCMaterials : JournalBase public class FCMaterials : JournalBase
{ {
public override string Event => "FCMaterials";
public ulong MarketID { get; init; } public ulong MarketID { get; init; }
public string CarrierName { get; init; } public string CarrierName { get; init; }
public string CarrierID { get; init; } public string CarrierID { get; init; }

View File

@ -2,6 +2,7 @@
public class LoadoutEquipModule : JournalBase public class LoadoutEquipModule : JournalBase
{ {
public override string Event => "LoadoutEquipModule";
public ulong SuitID { get; init; } public ulong SuitID { get; init; }
public string SuitName { get; init; } public string SuitName { get; init; }
public string SuitName_Localised { get; init; } public string SuitName_Localised { get; init; }

View File

@ -2,4 +2,5 @@
public class LoadoutRemoveModule : LoadoutEquipModule public class LoadoutRemoveModule : LoadoutEquipModule
{ {
public override string Event => "LoadoutRemoveModule";
} }

View File

@ -2,6 +2,7 @@
public class RenameSuitLoadout : JournalBase public class RenameSuitLoadout : JournalBase
{ {
public override string Event => "RenameSuitLoadout";
public ulong SuitID { get; init; } public ulong SuitID { get; init; }
public string SuitName { get; init; } public string SuitName { get; init; }
public ulong LoadoutID { get; init; } public ulong LoadoutID { get; init; }

View File

@ -5,6 +5,7 @@ namespace Observatory.Framework.Files.Journal.Odyssey;
public class ScanOrganic : JournalBase public class ScanOrganic : JournalBase
{ {
public override string Event => "ScanOrganic";
[JsonConverter(typeof(JsonStringEnumConverter))] [JsonConverter(typeof(JsonStringEnumConverter))]
public ScanOrganicType ScanType { get; init; } public ScanOrganicType ScanType { get; init; }
public string Genus { get; init; } public string Genus { get; init; }

View File

@ -5,6 +5,7 @@ namespace Observatory.Framework.Files.Journal.Odyssey;
public class SellMicroResources : JournalBase public class SellMicroResources : JournalBase
{ {
public override string Event => "SellMicroResources";
public ImmutableList<MicroResource> MicroResources { get; init; } public ImmutableList<MicroResource> MicroResources { get; init; }
public int Price { get; init; } public int Price { get; init; }
public ulong MarketID { get; init; } public ulong MarketID { get; init; }

View File

@ -5,6 +5,7 @@ namespace Observatory.Framework.Files.Journal.Odyssey;
public class SellOrganicData : JournalBase public class SellOrganicData : JournalBase
{ {
public override string Event => "SellOrganicData";
public ulong MarketID { get; init; } public ulong MarketID { get; init; }
public ImmutableList<BioData> BioData { get; init; } public ImmutableList<BioData> BioData { get; init; }
} }

View File

@ -1,4 +1,6 @@
namespace Observatory.Framework.Files.Journal.Odyssey; namespace Observatory.Framework.Files.Journal.Odyssey;
public class SellSuit : BuySuit public class SellSuit : BuySuit
{ } {
public override string Event => "SellSuit";
}

View File

@ -2,4 +2,5 @@
public class SellWeapon : BuyWeapon public class SellWeapon : BuyWeapon
{ {
public override string Event => "SellWeapon";
} }

View File

@ -5,6 +5,7 @@ namespace Observatory.Framework.Files.Journal.Odyssey;
public class ShipLockerMaterials : JournalBase public class ShipLockerMaterials : JournalBase
{ {
public override string Event => "ShipLockerMaterials";
public ImmutableList<BackpackItem> Items { get; init; } public ImmutableList<BackpackItem> Items { get; init; }
public ImmutableList<BackpackItem> Components { get; init; } public ImmutableList<BackpackItem> Components { get; init; }
public ImmutableList<BackpackItem> Consumables { get; init; } public ImmutableList<BackpackItem> Consumables { get; init; }

View File

@ -1,4 +1,6 @@
namespace Observatory.Framework.Files.Journal.Odyssey; namespace Observatory.Framework.Files.Journal.Odyssey;
public class SuitLoadout : CreateSuitLoadout public class SuitLoadout : CreateSuitLoadout
{ } {
public override string Event => "SuitLoadout";
}

View File

@ -2,4 +2,5 @@
public class SwitchSuitLoadout : CreateSuitLoadout public class SwitchSuitLoadout : CreateSuitLoadout
{ {
public override string Event => "SwitchSuitLoadout";
} }

View File

@ -6,6 +6,7 @@ namespace Observatory.Framework.Files.Journal.Odyssey;
public class TradeMicroResources : JournalBase public class TradeMicroResources : JournalBase
{ {
public override string Event => "TradeMicroResources";
public ImmutableList<MicroResource> Offered { get; init; } public ImmutableList<MicroResource> Offered { get; init; }
public string Received { get; init; } public string Received { get; init; }
[JsonConverter(typeof(JsonStringEnumConverter))] [JsonConverter(typeof(JsonStringEnumConverter))]

View File

@ -5,5 +5,6 @@ namespace Observatory.Framework.Files.Journal.Odyssey;
public class TransferMicroResources : JournalBase public class TransferMicroResources : JournalBase
{ {
public override string Event => "TransferMicroResources";
public ImmutableList<MicroTransfer> Transfers { get; init; } public ImmutableList<MicroTransfer> Transfers { get; init; }
} }

View File

@ -4,6 +4,7 @@ namespace Observatory.Framework.Files.Journal.Odyssey;
public class UpgradeSuit : JournalBase public class UpgradeSuit : JournalBase
{ {
public override string Event => "UpgradeSuit";
public string Name { get; init; } public string Name { get; init; }
public string Name_Localised { get; init; } public string Name_Localised { get; init; }
public ulong SuitID { get; init; } public ulong SuitID { get; init; }

View File

@ -2,6 +2,7 @@
public class UpgradeWeapon : JournalBase public class UpgradeWeapon : JournalBase
{ {
public override string Event => "UpgradeWeapon";
public string Name { get; init; } public string Name { get; init; }
public string Name_Localised { get; init; } public string Name_Localised { get; init; }
public ulong SuitModuleID { get; init; } public ulong SuitModuleID { get; init; }

View File

@ -2,6 +2,7 @@
public class UseConsumable : JournalBase public class UseConsumable : JournalBase
{ {
public override string Event => "UseConsumable";
public string Name { get; init; } public string Name { get; init; }
public string Name_Localised { get; init; } public string Name_Localised { get; init; }
public string Type { get; init; } public string Type { get; init; }

View File

@ -2,6 +2,7 @@
public class AfmuRepairs : JournalBase public class AfmuRepairs : JournalBase
{ {
public override string Event => "AfmuRepairs";
public string Module { get; init; } public string Module { get; init; }
public string Module_Localised { get; init; } public string Module_Localised { get; init; }
public bool FullyRepaired { get; init; } public bool FullyRepaired { get; init; }

View File

@ -7,6 +7,7 @@ namespace Observatory.Framework.Files.Journal.Other;
public class ApproachSettlement : JournalBase public class ApproachSettlement : JournalBase
{ {
public override string Event => "ApproachSettlement";
public ulong SystemAddress { get; init; } public ulong SystemAddress { get; init; }
public string Name { get; init; } public string Name { get; init; }
public string Name_Localised { get; init; } public string Name_Localised { get; init; }

View File

@ -5,5 +5,6 @@ namespace Observatory.Framework.Files.Journal.Other;
public class CargoTransfer : JournalBase public class CargoTransfer : JournalBase
{ {
public override string Event => "CargoTransfer";
public ImmutableList<CargoTransferDetail> Transfers { get; init; } public ImmutableList<CargoTransferDetail> Transfers { get; init; }
} }

View File

@ -2,6 +2,7 @@
public class ChangeCrewRole : JournalBase public class ChangeCrewRole : JournalBase
{ {
public override string Event => "ChangeCrewRole";
public string Role { get; init; } public string Role { get; init; }
public bool Telepresence { get; init; } public bool Telepresence { get; init; }
} }

View File

@ -2,4 +2,5 @@
public class CockpitBreached : JournalBase public class CockpitBreached : JournalBase
{ {
public override string Event => "CockpitBreached";
} }

View File

@ -5,6 +5,7 @@ namespace Observatory.Framework.Files.Journal.Other;
public class CommitCrime : JournalBase public class CommitCrime : JournalBase
{ {
public override string Event => "CommitCrime";
[JsonConverter(typeof(JsonStringEnumConverter))] [JsonConverter(typeof(JsonStringEnumConverter))]
public CrimeType CrimeType { get; init; } public CrimeType CrimeType { get; init; }
public string Faction { get; init; } public string Faction { get; init; }

View File

@ -2,5 +2,6 @@
public class Continued : JournalBase public class Continued : JournalBase
{ {
public override string Event => "Continued";
public int Part { get; init; } public int Part { get; init; }
} }

View File

@ -2,5 +2,6 @@
public class CrewLaunchFighter : CrewMemberJoins public class CrewLaunchFighter : CrewMemberJoins
{ {
public override string Event => "CrewLaunchFighter";
public ulong ID { get; init; } public ulong ID { get; init; }
} }

View File

@ -2,6 +2,7 @@
public class CrewMemberJoins : JournalBase public class CrewMemberJoins : JournalBase
{ {
public override string Event => "CrewMemberJoins";
public string Crew { get; init; } public string Crew { get; init; }
public bool Telepresence { get; init; } public bool Telepresence { get; init; }
} }

View File

@ -1,4 +1,6 @@
namespace Observatory.Framework.Files.Journal.Other; namespace Observatory.Framework.Files.Journal.Other;
public class CrewMemberQuits : CrewMemberJoins public class CrewMemberQuits : CrewMemberJoins
{ } {
public override string Event => "CrewMemberQuits";
}

View File

@ -2,5 +2,6 @@
public class CrewMemberRoleChange : CrewMemberJoins public class CrewMemberRoleChange : CrewMemberJoins
{ {
public override string Event => "CrewMemberRoleChange";
public string Role { get; init; } public string Role { get; init; }
} }

Some files were not shown because too many files have changed in this diff Show More