Refactor URL coverage documentation and update StoreService for color variants

- Updated `url-coverage.md` to clarify the behavior of the `api/rooms/v2/myRecent` endpoint.
- Enhanced `StoreService.cs` to include new properties for color variants: `combination_id` and `descriptor`.
- Modified logic in `StoreService` to validate color variants based on the new descriptor instead of swatch GUID.
- Updated database bootstrap scripts to create new tables for `RoomConsumables` and `RoomConsumableOwnership`, including necessary indexes.
- Revised README to reflect changes in debugging options and the introduction of `DorkNet.DebugMod`.
- Updated documentation on request expectations to clarify server-side behavior for room visibility.
- Enhanced installation script to provide clearer instructions for enabling the debug console.
- Added a new document detailing the process for dumping avatar items and color variants from the Rec Room client.
This commit is contained in:
Alexa
2026-07-07 14:28:40 +03:00
parent 9a1af3a99d
commit fc60c9bf40
15 changed files with 24325 additions and 9233 deletions
+17
View File
@@ -83,6 +83,8 @@ public class DorkNetDbContext(DbContextOptions<DorkNetDbContext> options) : DbCo
public DbSet<RoomCurrencyBalanceEntity> RoomCurrencyBalances => Set<RoomCurrencyBalanceEntity>();
public DbSet<RoomCurrencyPurchaseOfferEntity> RoomCurrencyPurchaseOffers => Set<RoomCurrencyPurchaseOfferEntity>();
public DbSet<UgcPurchasableEntity> UgcPurchasables => Set<UgcPurchasableEntity>();
public DbSet<RoomConsumableEntity> RoomConsumables => Set<RoomConsumableEntity>();
public DbSet<RoomConsumableOwnershipEntity> RoomConsumableOwnership => Set<RoomConsumableOwnershipEntity>();
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
@@ -747,5 +749,20 @@ public class DorkNetDbContext(DbContextOptions<DorkNetDbContext> options) : DbCo
e.HasIndex(p => p.RoomId);
e.HasIndex(p => p.CreatorPlayerId);
});
modelBuilder.Entity<RoomConsumableEntity>(e =>
{
e.HasKey(c => c.Id);
e.HasIndex(c => c.PublicId).IsUnique();
e.HasIndex(c => c.RoomId);
e.HasIndex(c => c.CreatorPlayerId);
});
modelBuilder.Entity<RoomConsumableOwnershipEntity>(e =>
{
e.HasKey(o => o.Id);
e.HasIndex(o => new { o.PlayerId, o.RoomConsumableId }).IsUnique();
e.HasIndex(o => o.RoomConsumableId);
});
}
}