patbef-ServiceOutside/ServiceShared/Models/Database/Results.cs

124 lines
3.4 KiB
C#
Raw Normal View History

2024-01-29 16:27:34 +01:00
using static ServiceShared.Models.Database.Device;
namespace ServiceShared.Models.Database
{
public class Results
{
/// <summary>
/// Statuses of Results
/// </summary>
public enum ResultsStatus { NONE, CREATED, REJECTED, NOT_FOUND, COMPLETED }
/// <summary>
/// SHA512 - Hash of Plz Geburtsdatum Sampleid
/// </summary>
public string PGS { get; set; }
/// <summary>
/// AES Encrypted Hash of Plz Geburtsdatum Sampleid, that can decrypted by service inside
/// </summary>
public string PGS_HASH { get; set; }
/// <summary>
/// Unique id of mobile device
/// </summary>
public string UDID { get; set; }
/// <summary>
/// DeviceToken for notification service
/// </summary>
public string DeviceToken { get; set; }
/// <summary>
/// Type of mobile device
/// </summary>
public DeviceTypes DeviceType { get; set; }
/// <summary>
/// Public Key of mobile client
/// </summary>
public string ClientPublicKey { get; set; }
/// <summary>
/// Public key of server side, that was used in the encryption.
/// That is necessary to generate a shared derive key on the client side
/// </summary>
public string ServerPublicKey { get; set; }
/// <summary>
/// Flag for push available
/// </summary>
public bool Available { get; set; }
/// <summary>
/// Timestamp for available
/// </summary>
public DateTime? AvailableTS { get; set; }
/// <summary>
/// Flag for picked up (if mobile app has already picked up the results)
/// </summary>
public bool PickedUp { get; set; }
/// <summary>
/// Timestamp for picked up
/// </summary>
public DateTime? PickedUpTS { get; set; }
/// <summary>
/// SHA512 Checksum of file content(base64)
/// </summary>
public string FileChecksum { get; set; }
/// <summary>
/// Client verification hash
/// </summary>
public string VerificationHash { get; set; }
/// <summary>
/// Client PIN to reset password on the same device
/// </summary>
public string PIN { get; set; }
/// <summary>
/// Flag for push notification
/// </summary>
public bool Notified { get; set; }
/// <summary>
/// Timestamp for notified
/// </summary>
public DateTime? NotifiedTS { get; set; }
/// <summary>
/// Results status
/// </summary>
public ResultsStatus Status { get; set; }
/// <summary>
/// Timestamp for modification
/// </summary>
public DateTime? Modified { get; set; }
/// <summary>
/// Created date of results object(this)
/// </summary>
public DateTime Created { get; set; }
/// <summary>
/// Count of not found status
/// </summary>
public int NotFoundCounter { get; set; }
/// <summary>
/// Last not found timestamp
/// </summary>
public DateTime? NotFoundTS { get; set; }
/// <summary>
/// Count of notifications
/// </summary>
public int NotificationCounter { get; set; }
}
}