public async Task <IEnumerable <Instance> > Get() { using (DuplicatiContext db = new DuplicatiContext()) { return(await db.Instances.OrderBy(i => i.Name).ToListAsync()); } }
public BackupReport GetBackup(int id, int backupId) { using (DuplicatiContext db = new DuplicatiContext()) { return(db.BackupReports.FirstOrDefault(b => b.Id == backupId)); } }
/// <summary> /// Success: /// message=Duplicati%20Backup%20report%20for%20test%0D%0A%0D%0ADeletedFiles%3A%200%0D%0ADeletedFolders%3A%200%0D%0AModifiedFiles%3A%200%0D%0AExaminedFiles%3A%206%0D%0AOpenedFiles%3A%200%0D%0AAddedFiles%3A%200%0D%0ASizeOfModifiedFiles%3A%200%0D%0ASizeOfAddedFiles%3A%200%0D%0ASizeOfExaminedFiles%3A%2013919%0D%0ASizeOfOpenedFiles%3A%200%0D%0ANotProcessedFiles%3A%200%0D%0AAddedFolders%3A%200%0D%0ATooLargeFiles%3A%200%0D%0AFilesWithError%3A%200%0D%0AModifiedFolders%3A%200%0D%0AModifiedSymlinks%3A%200%0D%0AAddedSymlinks%3A%200%0D%0ADeletedSymlinks%3A%200%0D%0APartialBackup%3A%20False%0D%0ADryrun%3A%20False%0D%0AMainOperation%3A%20Backup%0D%0AParsedResult%3A%20Success%0D%0AVerboseOutput%3A%20False%0D%0AVerboseErrors%3A%20False%0D%0AEndTime%3A%201%2F8%2F2018%2010%3A09%3A16%20PM%0D%0ABeginTime%3A%201%2F8%2F2018%2010%3A09%3A16%20PM%0D%0ADuration%3A%2000%3A00%3A00.2339903%0D%0AMessages%3A%20%5B%0D%0A%20%20%20%20No%20remote%20filesets%20were%20deleted%2C%0D%0A%20%20%20%20removing%20file%20listed%20as%20Temporary%3A%20duplicati-b01323d5f20f448ef98247929ca38a32f.dblock.zip.aes%2C%0D%0A%20%20%20%20removing%20file%20listed%20as%20Temporary%3A%20duplicati-if782675db40345d4a4da546c19c08ddd.dindex.zip.aes%0D%0A%5D%0D%0AWarnings%3A%20%5B%5D%0D%0AErrors%3A%20%5B%5D /// /// Error: /// message=Duplicati%20Backup%20report%20for%20test%0D%0A%0D%0AFailed%3A%20The%20AWS%20Access%20Key%20Id%20you%20provided%20does%20not%20exist%20in%20our%20records.%0D%0ADetails%3A%20Amazon.S3.AmazonS3Exception%3A%20The%20AWS%20Access%20Key%20Id%20you%20provided%20does%20not%20exist%20in%20our%20records.%20---%3E%20Amazon.Runtime.Internal.HttpErrorResponseException%3A%20The%20remote%20server%20returned%20an%20error%3A%20%28403%29%20Forbidden.%20---%3E%20System.Net.WebException%3A%20The%20remote%20server%20returned%20an%20error%3A%20%28403%29%20Forbidden.%0D%0A%20%20%20at%20System.Net.HttpWebRequest.GetResponse%28%29%0D%0A%20%20%20at%20Amazon.Runtime.Internal.HttpRequest.GetResponse%28%29%0D%0A%20%20%20---%20End%20of%20inner%20exception%20stack%20trace%20---%0D%0A%20%20%20at%20Amazon.Runtime.Internal.HttpRequest.GetResponse%28%29%0D%0A%20%20%20at%20Amazon.Runtime.Internal.HttpHandler%601.InvokeSync%28IExecutionContext%20executionContext%29%0D%0A%20%20%20at%20Amazon.Runtime.Internal.RedirectHandler.InvokeSync%28IExecutionContext%20executionContext%29%0D%0A%20%20%20at%20Amazon.Runtime.Internal.Unmarshaller.InvokeSync%28IExecutionContext%20executionContext%29%0D%0A%20%20%20at%20Amazon.S3.Internal.AmazonS3ResponseHandler.InvokeSync%28IExecutionContext%20executionContext%29%0D%0A%20%20%20at%20Amazon.Runtime.Internal.ErrorHandler.InvokeSync%28IExecutionContext%20executionContext%29%0D%0A%20%20%20---%20End%20of%20inner%20exception%20stack%20trace%20---%0D%0A%20%20%20at%20Duplicati.Library.Main.BackendManager.List%28%29%0D%0A%20%20%20at%20Duplicati.Library.Main.Operation.FilelistProcessor.RemoteListAnalysis%28BackendManager%20backend%2C%20Options%20options%2C%20LocalDatabase%20database%2C%20IBackendWriter%20log%2C%20String%20protectedfile%29%0D%0A%20%20%20at%20Duplicati.Library.Main.Operation.FilelistProcessor.VerifyRemoteList%28BackendManager%20backend%2C%20Options%20options%2C%20LocalDatabase%20database%2C%20IBackendWriter%20log%2C%20String%20protectedfile%29%0D%0A%20%20%20at%20Duplicati.Library.Main.Operation.BackupHandler.PreBackupVerify%28BackendManager%20backend%2C%20String%20protectedfile%29%0D%0A%20%20%20at%20Duplicati.Library.Main.Operation.BackupHandler.Run%28String%5B%5D%20sources%2C%20IFilter%20filter%29%0D%0A%20%20%20at%20Duplicati.Library.Main.Controller.%3C%3Ec__DisplayClass16_0.%3CBackup%3Eb__0%28BackupResults%20result%29%0D%0A%20%20%20at%20Duplicati.Library.Main.Controller.RunAction%5BT%5D%28T%20result%2C%20String%5B%5D%26%20paths%2C%20IFilter%26%20filter%2C%20Action%601%20method%29%0D%0A /// </summary> /// <returns></returns> public async Task Post(int id, [FromBody] DuplicatiReportRequest message) { BackupReport report = null; try { //save to disk using (DuplicatiContext db = new DuplicatiContext()) { var instance = db.Instances.FirstOrDefault(c => c.Id == id); report = ParseDuplicatiReportMessage(message.Message, instance); report.InstanceId = id; db.BackupReports.Add(report); await db.SaveChangesAsync(); } } catch (Exception ex) { if (report == null) { report = new BackupReport(); } File.WriteAllText(HttpContext.Current.Server.MapPath("/app_data/report_errors.txt"), JsonConvert.SerializeObject(ex) + JsonConvert.SerializeObject(report)); throw ex; } }
public async Task Post(Instance instance) { using (DuplicatiContext db = new DuplicatiContext()) { db.Instances.Add(instance); await db.SaveChangesAsync(); } }
public IEnumerable <Backup> Latest() { using (DuplicatiContext db = new DuplicatiContext()) { return(db.Instances .OrderBy(i => i.Name) .ToList() .Select(GetLastestBackupInfo) .ToList() .OrderByDescending(b => b.ShouldBeFlagged)); } }
public async Task Delete(int id) { using (DuplicatiContext db = new DuplicatiContext()) { var instance = db.Instances.FirstOrDefault(i => i.Id == id); var reports = instance.BackupReports.ToList(); foreach (var report in reports) { db.BackupReports.Remove(report); } db.Instances.Remove(instance); await db.SaveChangesAsync(); } }
public BackupDetailed Get(int id) { using (DuplicatiContext db = new DuplicatiContext()) { var instance = db.Instances.First(i => i.Id == id); var backup = new BackupDetailed { InstanceId = instance.Id, InstanceName = instance.Name, Url = instance.Url, PreviousReports = instance.BackupReports.OrderByDescending(b => b.Id).Take(30).ToList(), }; backup.LatestReport = backup.PreviousReports.FirstOrDefault(); return(backup); } }