feat(database): look up players' creations and where they are

IUgcLookup: search ugc and ugc_modular_build by id, creator, property, model
name or LOT, and find where a creation is placed or mailed. The SQL is shared
by MySQL and SQLite (UgcLookupSql.h).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Aaron Kimbrell
2026-09-27 10:23:35 -05:00
parent 006f91104d
commit dbce5f1240
10 changed files with 342 additions and 1 deletions

View File

@@ -220,6 +220,12 @@ public:
std::vector<TrafficMinute> GetTrafficMinutes(int64_t from, int64_t to, int64_t bucketSeconds) override;
uint32_t PruneTrafficMinutes(int64_t beforeTime) override;
// IUgcLookup
std::vector<UgcEntry> SearchUgc(const UgcSearch& search, const uint32_t limit) override;
std::vector<UgcEntry> GetUgcEntries(const std::vector<LWOOBJID>& ids) override;
std::vector<UgcPlacement> GetUgcPlacements(const std::vector<LWOOBJID>& ugcIds) override;
std::vector<UgcMail> GetUgcMail(const std::vector<LWOOBJID>& subkeys, const LOT modelItemLot) override;
// IApiKeys
uint64_t InsertApiKey(const ApiKey& key) override;
std::optional<ApiKey> GetApiKey(uint64_t id) override;