namespace QRBee.Api.Services.Database { /// /// Database interface /// public interface IStorage { /// /// Insert userInfo into database /// /// Information to be inserted Task PutUserInfo(UserInfo info); /// /// Retrieve user information from database /// /// Identifier by which user information will be retrieved /// User information Task GetUserInfo(string email); /// /// Update user record /// /// New user record /// Task UpdateUser(UserInfo info); /// /// Insert transactionInfo into database /// /// Information to be inserted Task PutTransactionInfo(TransactionInfo info); /// /// Try to find if the Transaction already exists in the database /// /// parameter by which to find TransactionInfo /// null if transaction doesn't exist or TransactionInfo Task TryGetTransactionInfoByTransactionId(string id); /// /// Retrieve transaction information from database /// /// Identifier by which transaction information will be retrieved /// Transaction information Task GetTransactionInfoByTransactionId(string id); Task> GetTransactionsByStatus(TransactionInfo.TransactionStatus status); /// /// Update transaction after execution /// /// Transaction to be updated Task UpdateTransaction(TransactionInfo info); /// /// Inserts CertificateInfo into database /// /// Information to be inserted /// Task InsertCertificate(CertificateInfo info); /// /// Retrieve certificate information from database /// /// Identifier by which certificate information will be retrieved /// Certificate information Task GetCertificateInfoByCertificateId(string id); /// /// Retrieve certificate information from database /// /// Identifier by which certificate information will be retrieved /// Certificate information Task GetCertificateInfoByUserId(string clientId); } }