aboutsummaryrefslogtreecommitdiff
path: root/plugins/VNLib.Plugins.Essentials.Accounts.AppData/src/Model
diff options
context:
space:
mode:
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.cs12
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; }
+ }
}