DATABASE SCHEMA: + GameAsset entity added to RR3DbContext - Asset identification (ID, type, filename) - EA CDN tracking (original URL, CDN path) - Local storage (path, size, SHA256) - Metadata (downloads, access count, timestamps) - Game-specific (carId, trackId, category) FEATURES: - Track all cached assets in database - Store EA CDN URLs while available - SHA256 integrity checking - Access statistics - Category organization - Version tracking PURPOSE: Foundation for full asset caching system. Next step: AssetsController with EA CDN proxying. STORAGE STRUCTURE: wwwroot/assets/ ├── cars/ ├── tracks/ ├── textures/ ├── audio/ ├── models/ └── misc/ PRESERVATION STRATEGY: Phase 1 (EA online): Proxy + cache assets Phase 2 (EA offline): Serve from cache Result: Complete game preservation! 🎮💾 Package added: Microsoft.Extensions.Http (for CDN proxying) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
10 lines
1.7 KiB
XML
10 lines
1.7 KiB
XML
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
|
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
|
<Import Project="$(NuGetPackageRoot)microsoft.extensions.apidescription.server\6.0.5\build\Microsoft.Extensions.ApiDescription.Server.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.apidescription.server\6.0.5\build\Microsoft.Extensions.ApiDescription.Server.targets')" />
|
|
<Import Project="$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net8.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net8.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
|
|
<Import Project="$(NuGetPackageRoot)microsoft.extensions.options\10.0.3\buildTransitive\net8.0\Microsoft.Extensions.Options.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.options\10.0.3\buildTransitive\net8.0\Microsoft.Extensions.Options.targets')" />
|
|
<Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.binder\10.0.3\buildTransitive\netstandard2.0\Microsoft.Extensions.Configuration.Binder.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.binder\10.0.3\buildTransitive\netstandard2.0\Microsoft.Extensions.Configuration.Binder.targets')" />
|
|
<Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\10.0.3\buildTransitive\net8.0\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\10.0.3\buildTransitive\net8.0\Microsoft.Extensions.Logging.Abstractions.targets')" />
|
|
</ImportGroup>
|
|
</Project> |