This commit is contained in:
@@ -112,10 +112,13 @@ namespace AyaNova.Api.Controllers
|
|||||||
if (serverState.IsClosed)
|
if (serverState.IsClosed)
|
||||||
return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
|
return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
|
||||||
|
|
||||||
if (!Authorized.HasReadFullRole(HttpContext.Items, AyaType.ServerJob))
|
|
||||||
{
|
//## NOTE: deliberately do *not* check for authorization as this is called by any bulk operation users may submit via extensions
|
||||||
return StatusCode(403, new ApiNotAuthorizedResponse());
|
//and the user would need the exact Guid to view a job so not likely they will fish for it in a nefarious way
|
||||||
}
|
// if (!Authorized.HasReadFullRole(HttpContext.Items, AyaType.ServerJob))
|
||||||
|
// {
|
||||||
|
// return StatusCode(403, new ApiNotAuthorizedResponse());
|
||||||
|
// }
|
||||||
|
|
||||||
if (!ModelState.IsValid)
|
if (!ModelState.IsValid)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -372,6 +372,7 @@ namespace AyaNova.Biz
|
|||||||
await JobsBiz.LogJobAsync(job.GId, $"Bulk job {job.SubType} started...");
|
await JobsBiz.LogJobAsync(job.GId, $"Bulk job {job.SubType} started...");
|
||||||
List<long> idList = new List<long>();
|
List<long> idList = new List<long>();
|
||||||
long ProcessedObjectCount = 0;
|
long ProcessedObjectCount = 0;
|
||||||
|
long FailedObjectCount = 0;
|
||||||
JObject jobData = JObject.Parse(job.JobInfo);
|
JObject jobData = JObject.Parse(job.JobInfo);
|
||||||
if (jobData.ContainsKey("idList"))
|
if (jobData.ContainsKey("idList"))
|
||||||
idList = ((JArray)jobData["idList"]).ToObject<List<long>>();
|
idList = ((JArray)jobData["idList"]).ToObject<List<long>>();
|
||||||
@@ -402,6 +403,7 @@ namespace AyaNova.Biz
|
|||||||
if (!await DeleteAsync(id))
|
if (!await DeleteAsync(id))
|
||||||
{
|
{
|
||||||
await JobsBiz.LogJobAsync(job.GId, $"Error processing item {id}: {GetErrorsAsString()}");
|
await JobsBiz.LogJobAsync(job.GId, $"Error processing item {id}: {GetErrorsAsString()}");
|
||||||
|
FailedObjectCount++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -424,8 +426,9 @@ namespace AyaNova.Biz
|
|||||||
await JobsBiz.LogJobAsync(job.GId, ExceptionUtil.ExtractAllExceptionMessages(ex));
|
await JobsBiz.LogJobAsync(job.GId, ExceptionUtil.ExtractAllExceptionMessages(ex));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
await JobsBiz.LogJobAsync(job.GId, $"Bulk job {job.SubType} processed {ProcessedObjectCount} of {idList.Count}");
|
|
||||||
await JobsBiz.UpdateJobStatusAsync(job.GId, JobStatus.Completed);
|
await JobsBiz.LogJobAsync(job.GId, $"Bulk job {job.SubType} processed {ProcessedObjectCount} of {idList.Count} with {FailedObjectCount} failures");
|
||||||
|
await JobsBiz.UpdateJobStatusAsync(job.GId, FailedObjectCount == 0 ? JobStatus.Completed : JobStatus.Failed);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -72,11 +72,10 @@ namespace AyaNova.Biz
|
|||||||
|
|
||||||
foreach (OpsJobLog i in l)
|
foreach (OpsJobLog i in l)
|
||||||
{
|
{
|
||||||
|
|
||||||
JobOperationsLogInfoItem o = new JobOperationsLogInfoItem();
|
JobOperationsLogInfoItem o = new JobOperationsLogInfoItem();
|
||||||
|
|
||||||
o.Created = i.Created;
|
o.Created = i.Created;
|
||||||
o.StatusText = i.StatusText;
|
o.StatusText = i.StatusText;
|
||||||
|
o.JobId = jobId;
|
||||||
ret.Add(o);
|
ret.Add(o);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user