This commit is contained in:
CWX
2025-01-28 19:44:11 +00:00
@@ -1,29 +1,52 @@
namespace Core.Services.Cache;
using Core.Models.Utils;
using Core.Utils;
using SptCommon.Annotations;
public class ModHashCacheService
namespace Core.Services.Cache;
[Injectable]
public class ModHashCacheService(
ISptLogger<ModHashCacheService> _logger,
JsonUtil _jsonUtil,
HashUtil _hashUtil,
FileUtil _fileUtil
)
{
public string GetStoredValue(string key)
protected readonly Dictionary<string, string> _modHashes = new();
protected readonly string _modCachePath = "./user/cache/modCache.json";
public string? GetStoredValue(string key)
{
throw new NotImplementedException();
_modHashes.TryGetValue(key, out var value);
return value;
}
public void StoreValue(string key, string value)
{
throw new NotImplementedException();
_modHashes.TryAdd(key, value);
_fileUtil.WriteFile(_modCachePath, _jsonUtil.Serialize(_modHashes));
_logger.Debug($"Mod {key} hash stored in: {_modCachePath}");
}
public bool MatchWithStoredHash(string modName, string hash)
{
throw new NotImplementedException();
return GetStoredValue(modName) == hash;
}
public bool CalculateAndCompareHash(string modName, string modContent)
{
throw new NotImplementedException();
var generatedHash = _hashUtil.GenerateSha1ForData(modContent);
return MatchWithStoredHash(modName, generatedHash);
}
public void CalculateAndStoreHash(string modName, string modContent)
{
throw new NotImplementedException();
var generatedHash = _hashUtil.GenerateSha1ForData(modContent);
StoreValue(modName, generatedHash);
}
}