124 lines
3.4 KiB
C#
124 lines
3.4 KiB
C#
|
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; }
|
|||
|
}
|
|||
|
}
|