diff options
Diffstat (limited to 'plugins/VNLib.Plugins.Essentials.Accounts.AppData/src/Model')
-rw-r--r-- | plugins/VNLib.Plugins.Essentials.Accounts.AppData/src/Model/AppDataRequest.cs (renamed from plugins/VNLib.Plugins.Essentials.Accounts.AppData/src/Model/RecordDataCacheEntry.cs) | 19 | ||||
-rw-r--r-- | plugins/VNLib.Plugins.Essentials.Accounts.AppData/src/Model/UserRecordData.cs | 12 |
2 files changed, 21 insertions, 10 deletions
diff --git a/plugins/VNLib.Plugins.Essentials.Accounts.AppData/src/Model/RecordDataCacheEntry.cs b/plugins/VNLib.Plugins.Essentials.Accounts.AppData/src/Model/AppDataRequest.cs index 9c0767d..f61bdef 100644 --- a/plugins/VNLib.Plugins.Essentials.Accounts.AppData/src/Model/RecordDataCacheEntry.cs +++ b/plugins/VNLib.Plugins.Essentials.Accounts.AppData/src/Model/AppDataRequest.cs @@ -3,9 +3,9 @@ * * Library: VNLib * Package: VNLib.Plugins.Essentials.Accounts.AppData -* File: RecordDataCacheEntry.cs +* File: IAppDataStore.cs * -* RecordDataCacheEntry.cs is part of VNLib.Plugins.Essentials.Accounts.AppData which +* IAppDataStore.cs is part of VNLib.Plugins.Essentials.Accounts.AppData which * is part of the larger VNLib collection of libraries and utilities. * * VNLib.Plugins.Essentials.Accounts is free software: you can redistribute it and/or modify @@ -22,17 +22,18 @@ * along with this program. If not, see https://www.gnu.org/licenses/. */ -using MemoryPack; +using System; + +using VNLib.Plugins.Extensions.VNCache.DataModel; namespace VNLib.Plugins.Essentials.Accounts.AppData.Model { - [MemoryPackable] - internal partial class RecordDataCacheEntry + internal sealed record class AppDataRequest(string UserId, string RecordKey) : IEntityCacheKey { - public byte[] RecordData { get; set; } - - public ulong? Checksum { get; set; } + ///<inheritdoc/> + public string GetKey() => $"{UserId}:{RecordKey}"; - public long UnixTimestamp { get; set; } + ///<inheritdoc/> + public override int GetHashCode() => HashCode.Combine(UserId, RecordKey); } } diff --git a/plugins/VNLib.Plugins.Essentials.Accounts.AppData/src/Model/UserRecordData.cs b/plugins/VNLib.Plugins.Essentials.Accounts.AppData/src/Model/UserRecordData.cs index d3770c6..5ee5da3 100644 --- a/plugins/VNLib.Plugins.Essentials.Accounts.AppData/src/Model/UserRecordData.cs +++ b/plugins/VNLib.Plugins.Essentials.Accounts.AppData/src/Model/UserRecordData.cs @@ -22,7 +22,17 @@ * along with this program. If not, see https://www.gnu.org/licenses/. */ +using MemoryPack; + namespace VNLib.Plugins.Essentials.Accounts.AppData.Model { - internal record class UserRecordData(string UserId, byte[] Data, long LastModifed, ulong? Checksum); + [MemoryPackable] + internal sealed partial record class UserRecordData + { + public required byte[] Data { get; init; } + + public required ulong? Checksum { get; init; } + + internal long CacheTimestamp { get; set; } + } } |