refactor: simplify export metadata construction

This commit is contained in:
Gary Sharp
2025-02-07 16:10:15 +11:00
parent 67f1c2a5d1
commit 2fce645066
30 changed files with 1432 additions and 1484 deletions
@@ -697,7 +697,7 @@ namespace Disco.Web.Areas.API.Controllers
Database.SaveChanges();
// Start Export
var exportContext = new DeviceExportContext(Model.Options);
var exportContext = new DeviceExport(Model.Options);
var taskContext = ExportTask.ScheduleNowCacheResult(exportContext, id => Url.Action(MVC.Device.Export(id, null, null)));
// Try waiting for completion
@@ -412,7 +412,7 @@ namespace Disco.Web.Areas.API.Controllers
throw new ArgumentNullException(nameof(Model));
// Start Export
var exportContext = new DeviceFlagExportContext(Model.Options);
var exportContext = new DeviceFlagExport(Model.Options);
var taskContext = ExportTask.ScheduleNowCacheResult(exportContext, id => Url.Action(MVC.Config.DeviceFlag.Export(id, null, null)));
// Try waiting for completion
@@ -2179,7 +2179,7 @@ namespace Disco.Web.Areas.API.Controllers
Database.SaveChanges();
// Start Export
var exportContext = new JobExportContext(model.Options);
var exportContext = new JobExport(model.Options);
var taskContext = ExportTask.ScheduleNowCacheResult(exportContext, id => Url.Action(MVC.Job.Export(id)));
// Try waiting for completion
@@ -52,7 +52,7 @@ namespace Disco.Web.Areas.API.Controllers
EventTypeIds = EventTypeIds,
Take = Take,
};
var exportContext = new LogExportContext(options);
var exportContext = new LogExport(options);
var export = exportContext.Export(Database, ScheduledTaskMockStatus.Create("Log Export"));
@@ -417,7 +417,7 @@ namespace Disco.Web.Areas.API.Controllers
throw new ArgumentNullException(nameof(Model));
// Start Export
var exportContext = new UserFlagExportContext(Model.Options);
var exportContext = new UserFlagExport(Model.Options);
var taskContext = ExportTask.ScheduleNowCacheResult(exportContext, id => Url.Action(MVC.Config.UserFlag.Export(id, null, null)));
// Try waiting for completion
@@ -191,5 +191,5 @@
<h4><i class="fa fa-lg fa-cog fa-spin" title="Please Wait"></i>Exporting device flags...</h4>
</div>
<div class="actionBar">
<a id="DeviceFlag_Export_Button" href="#" class="button">Export Device Flags</a>
<button type="button" id="DeviceFlag_Export_Button" class="button">Export Device Flags</button>
</div>
@@ -730,15 +730,15 @@ WriteLiteral("></i>Exporting device flags...</h4>\r\n</div>\r\n<div");
WriteLiteral(" class=\"actionBar\"");
WriteLiteral(">\r\n <a");
WriteLiteral(">\r\n <button");
WriteLiteral(" type=\"button\"");
WriteLiteral(" id=\"DeviceFlag_Export_Button\"");
WriteLiteral(" href=\"#\"");
WriteLiteral(" class=\"button\"");
WriteLiteral(">Export Device Flags</a>\r\n</div>\r\n");
WriteLiteral(">Export Device Flags</button>\r\n</div>\r\n");
}
}
@@ -191,5 +191,5 @@
<h4><i class="fa fa-lg fa-cog fa-spin" title="Please Wait"></i>Exporting user flags...</h4>
</div>
<div class="actionBar">
<a id="UserFlag_Export_Button" href="#" class="button">Export User Flags</a>
<button type="button" id="UserFlag_Export_Button" class="button">Export User Flags</button>
</div>
@@ -730,15 +730,15 @@ WriteLiteral("></i>Exporting user flags...</h4>\r\n</div>\r\n<div");
WriteLiteral(" class=\"actionBar\"");
WriteLiteral(">\r\n <a");
WriteLiteral(">\r\n <button");
WriteLiteral(" type=\"button\"");
WriteLiteral(" id=\"UserFlag_Export_Button\"");
WriteLiteral(" href=\"#\"");
WriteLiteral(" class=\"button\"");
WriteLiteral(">Export User Flags</a>\r\n</div>\r\n");
WriteLiteral(">Export User Flags</button>\r\n</div>\r\n");
}
}
+1 -1
View File
@@ -123,7 +123,7 @@ namespace Disco.Web.Controllers
DeviceProfiles = Database.DeviceProfiles.OrderBy(dp => dp.Name).Select(dp => new { Key = dp.Id, Value = dp.Name }).ToList().Select(i => new KeyValuePair<int, string>(i.Key, i.Value))
};
if (ExportTask.TryFromCache(exportId.Value, out var context))
if (ExportTask.TryFromCache(exportId, out var context))
{
m.ExportId = context.Id;
m.ExportResult = context.Result;