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; } } }