{
"externalIds": {
"STEAM": "12335465",
"EPIC": "1322434455",
"PSN": "3244324334" // not sure about that
// etc...
}
}
Best,
Malte
That's a great suggestion! Having a dedicated field to store external IDs for games would be extremely helpful, especially for tasks like the one you're working on - matching games between databases using title information.
It sounds like you're working on improving game matching across databases (TheGamesDB and Steam) based on cleaned-up titles. Having an external ID field would indeed be helpful to streamline the process, making it easier to track and match games across different platforms by their unique identifiers rather than relying solely on the title, which can sometimes be inconsistent.
For those waiting for the feature - here is my "SteamAppService" Implementation so far - it works 80% of the time but with a failure in name matching
Its in c# tho.
//Gien that full alias name was used (title-<last releaseyear) it should find one
var res2 = await this._SteamAppsRepository.GetOneByCustomCriteriaAsync(x => x.AliasName == fullAlias);
if (res2 != null)
{
return res2;
}
// Given that alias was saved without release date or release date does not match we check if only one result returned by querying for StartsWith
var res = await this._SteamAppsRepository.GetManyByCustomCriteria(x => x.AliasName != null && x.AliasName.StartsWith(title2)).ToListAsync();
if (res.Count == 1)
{
// We only got one result so we asume this the correct one
return res.First();
}
// We got more than one or we got zero results. Safer to return null so we dont mess things up.
return null;