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