diff --git a/SVSim.Database/Services/IViewerEntitlements.cs b/SVSim.Database/Services/IViewerEntitlements.cs index fd5d23d..7b277f9 100644 --- a/SVSim.Database/Services/IViewerEntitlements.cs +++ b/SVSim.Database/Services/IViewerEntitlements.cs @@ -40,15 +40,3 @@ public interface IViewerEntitlements Task EffectiveCosmeticsAsync(Viewer viewer, CancellationToken ct = default); } -/// -/// Cosmetic projection bundle for /load/index. The four id-lists are "what the viewer owns" -/// (all of them in freeplay). Leader skins are always the full catalog with a per-skin owned flag; -/// is every skin id in freeplay. -/// -public sealed record EffectiveCosmetics( - IReadOnlyList SleeveIds, - IReadOnlyList EmblemIds, - IReadOnlyList DegreeIds, - IReadOnlyList MyPageBackgroundIds, - IReadOnlyList AllLeaderSkins, - IReadOnlySet OwnedLeaderSkinIds); diff --git a/SVSim.Database/Services/Inventory/InventoryGrantTypes.cs b/SVSim.Database/Services/Inventory/InventoryGrantTypes.cs new file mode 100644 index 0000000..fd0d3b0 --- /dev/null +++ b/SVSim.Database/Services/Inventory/InventoryGrantTypes.cs @@ -0,0 +1,27 @@ +using SVSim.Database.Enums; +using SVSim.Database.Models; + +namespace SVSim.Database.Services; + +/// +/// Wire-shape entry returned by and +/// collected in / +/// . Field names match the +/// reward_list entries used by /pack/open, /basic_puzzle/finish, and +/// /story/*/finish. reward_num is a POST-STATE TOTAL for currencies and a count for +/// collection grants — see . +/// +public sealed record GrantedReward(int RewardType, long RewardId, int RewardNum); + +/// +/// Cosmetic projection bundle for /load/index. The four id-lists are "what the viewer owns" +/// (all of them in freeplay). Leader skins are always the full catalog with a per-skin owned flag; +/// is every skin id in freeplay. +/// +public sealed record EffectiveCosmetics( + IReadOnlyList SleeveIds, + IReadOnlyList EmblemIds, + IReadOnlyList DegreeIds, + IReadOnlyList MyPageBackgroundIds, + IReadOnlyList AllLeaderSkins, + IReadOnlySet OwnedLeaderSkinIds); diff --git a/SVSim.Database/Services/RewardGrantService.cs b/SVSim.Database/Services/RewardGrantService.cs index 4d4c6d5..95da3d2 100644 --- a/SVSim.Database/Services/RewardGrantService.cs +++ b/SVSim.Database/Services/RewardGrantService.cs @@ -5,14 +5,6 @@ using SVSim.Database.Models; namespace SVSim.Database.Services; -/// -/// Wire-shape entry returned by . Field names match -/// the reward_list entries used by /pack/open, /basic_puzzle/finish, and -/// /story/*/finish. reward_num is a POST-STATE TOTAL for currencies and a count for -/// collection grants — see . -/// -public sealed record GrantedReward(int RewardType, long RewardId, int RewardNum); - /// /// Single canonical grant primitive for every the server hands to a /// viewer. Switch on the type, mutate the appropriate viewer collection /