This commit is contained in:
2018-08-28 23:25:50 +00:00
parent 78ce79fc5c
commit 6374b386d6
11 changed files with 70 additions and 65 deletions

View File

@@ -20,6 +20,7 @@ CODING WORK
Overall plan for now: anything standing in the way of making the initial client shell UI needs to be done first, everything else can wait
- Audit log
- Add back to objects that it was commented out on with selective save or no save
- Make sure trial generated data generates log events so that we can properly test with huge dataset
- Test with huge dataset
- Remove CREATED from all objects now that event log tracks it

View File

@@ -239,8 +239,8 @@ namespace AyaNova.Api.Controllers
});
//Log
//EventLogProcessor.AddEntry(new Event(UserId, attachToObject.ObjectId, attachToObject.ObjectType, AyaEvent.AttachmentCreate, v.DisplayFileName), ct);
EventLogProcessor.AddEntry(new Event(UserId, attachToObject.ObjectId, attachToObject.ObjectType, AyaEvent.AttachmentCreate, v.DisplayFileName), ct);
ct.SaveChanges();
}
}
}
@@ -306,8 +306,8 @@ namespace AyaNova.Api.Controllers
FileUtil.deleteFileAttachment(dbObj, ct);
//Log
//EventLogProcessor.AddEntry(new Event(UserId, dbObj.AttachToObjectId, dbObj.AttachToObjectType, AyaEvent.AttachmentDelete, dbObj.DisplayFileName), ct);
EventLogProcessor.AddEntry(new Event(UserId, dbObj.AttachToObjectId, dbObj.AttachToObjectType, AyaEvent.AttachmentDelete, dbObj.DisplayFileName), ct);
ct.SaveChanges();
return NoContent();
}
@@ -385,8 +385,8 @@ namespace AyaNova.Api.Controllers
}
//Log
//EventLogProcessor.AddEntry(new Event(UserId, dbObj.AttachToObjectId, dbObj.AttachToObjectType, AyaEvent.AttachmentDownload, dbObj.DisplayFileName), ct);
EventLogProcessor.AddEntry(new Event(UserId, dbObj.AttachToObjectId, dbObj.AttachToObjectType, AyaEvent.AttachmentDownload, dbObj.DisplayFileName), ct);
ct.SaveChanges();
return PhysicalFile(filePath, mimetype, dbObj.DisplayFileName);
}

View File

@@ -127,7 +127,8 @@ namespace AyaNova.Api.Controllers
}
var ret = AyaNova.Core.License.LicenseInfoAsJson;
//Log
//EventLogProcessor.AddEntry(new Event(UserIdFromContext.Id(HttpContext.Items), 0, AyaType.License, AyaEvent.LicenseFetch), ct);
EventLogProcessor.AddEntry(new Event(UserIdFromContext.Id(HttpContext.Items), 0, AyaType.License, AyaEvent.LicenseFetch), ct);
ct.SaveChanges();
return Ok(new ApiOkResponse(ret));
}
@@ -179,7 +180,8 @@ namespace AyaNova.Api.Controllers
var ret = Core.License.RequestTrial(requestData.EmailAddress, requestData.RegisteredTo, log);
//Log
//EventLogProcessor.AddEntry(new Event(UserIdFromContext.Id(HttpContext.Items), 0, AyaType.License, AyaEvent.LicenseTrialRequest), ct);
EventLogProcessor.AddEntry(new Event(UserIdFromContext.Id(HttpContext.Items), 0, AyaType.License, AyaEvent.LicenseTrialRequest), ct);
ct.SaveChanges();
return Ok(new ApiOkResponse(ret));
}

View File

@@ -159,11 +159,12 @@ namespace AyaNova.Api.Controllers
}
else
{
//save and success return
//save to get Id
await ct.SaveChangesAsync();
//Log
//EventLogProcessor.AddEntry(new Event(biz.userId, o.Id, AyaType.Locale, AyaEvent.Created), ct);
EventLogProcessor.AddEntry(new Event(biz.userId, o.Id, AyaType.Locale, AyaEvent.Created), ct);
await ct.SaveChangesAsync();
return CreatedAtAction("GetLocale", new { id = o.Id }, new ApiCreatedResponse(o));
}
@@ -221,6 +222,9 @@ namespace AyaNova.Api.Controllers
return BadRequest(new ApiErrorResponse(biz.Errors));
}
//Log
EventLogProcessor.AddEntry(new Event(biz.userId, oDbParent.Id, AyaType.Locale, AyaEvent.Modified), ct);
try
{
await ct.SaveChangesAsync();
@@ -240,8 +244,6 @@ namespace AyaNova.Api.Controllers
}
}
//Log
//EventLogProcessor.AddEntry(new Event(biz.userId, oDbParent.Id, AyaType.Locale, AyaEvent.Modified), ct);
return Ok(new ApiOkResponse(new { ConcurrencyToken = oFromDb.ConcurrencyToken }));
}
@@ -290,6 +292,9 @@ namespace AyaNova.Api.Controllers
return BadRequest(new ApiErrorResponse(biz.Errors));
}
//Log
EventLogProcessor.AddEntry(new Event(biz.userId, oFromDb.Id, AyaType.Locale, AyaEvent.Modified), ct);
try
{
await ct.SaveChangesAsync();
@@ -309,9 +314,6 @@ namespace AyaNova.Api.Controllers
}
}
//Log
//EventLogProcessor.AddEntry(new Event(biz.userId, oFromDb.Id, AyaType.Locale, AyaEvent.Modified), ct);
return Ok(new ApiOkResponse(new { ConcurrencyToken = oFromDb.ConcurrencyToken }));
}
@@ -360,13 +362,14 @@ namespace AyaNova.Api.Controllers
{
return BadRequest(new ApiErrorResponse(biz.Errors));
}
//Log
EventLogProcessor.DeleteObject(biz.userId, AyaType.Locale, dbObj.Id, dbObj.Name, ct);
await ct.SaveChangesAsync();
//Delete children / attached objects
// biz.DeleteChildren(dbObj);
//Log
EventLogProcessor.DeleteObject(biz.userId, AyaType.Locale, dbObj.Id, dbObj.Name, ct);
return NoContent();
}

View File

@@ -68,7 +68,8 @@ namespace AyaNova.Api.Controllers
string sResult = await GetTheMetrics("plain");
//Log
//EventLogProcessor.AddEntry(new Event(UserIdFromContext.Id(HttpContext.Items), 0, AyaType.Metrics, AyaEvent.Retrieved), ct);
EventLogProcessor.AddEntry(new Event(UserIdFromContext.Id(HttpContext.Items), 0, AyaType.Metrics, AyaEvent.Retrieved), ct);
await ct.SaveChangesAsync();
return Content(sResult);
}
@@ -98,8 +99,9 @@ namespace AyaNova.Api.Controllers
string sResult = await GetTheMetrics("json");
JObject json = JObject.Parse(sResult);
//Log
//EventLogProcessor.AddEntry(new Event(UserIdFromContext.Id(HttpContext.Items), 0, AyaType.Metrics, AyaEvent.Retrieved), ct);
//Log
EventLogProcessor.AddEntry(new Event(UserIdFromContext.Id(HttpContext.Items), 0, AyaType.Metrics, AyaEvent.Retrieved), ct);
await ct.SaveChangesAsync();
return Ok(new ApiOkResponse(json));
}

View File

@@ -95,7 +95,8 @@ namespace AyaNova.Api.Controllers
serverState.SetState(desiredState, state.Reason);
//Log
//EventLogProcessor.AddEntry(new Event(UserIdFromContext.Id(HttpContext.Items), 0, AyaType.ServerState, AyaEvent.ServerStateChange, $"{state.ServerState}-{state.Reason}"), ct);
EventLogProcessor.AddEntry(new Event(UserIdFromContext.Id(HttpContext.Items), 0, AyaType.ServerState, AyaEvent.ServerStateChange, $"{state.ServerState}-{state.Reason}"), ct);
ct.SaveChanges();
return NoContent();
}

View File

@@ -166,11 +166,12 @@ namespace AyaNova.Api.Controllers
}
else
{
//save and success return
//save and get ID for log then success return
await ct.SaveChangesAsync();
//Log
//EventLogProcessor.AddEntry(new Event(biz.userId, o.Id, AyaType.Tag, AyaEvent.Created), ct);
EventLogProcessor.AddEntry(new Event(biz.userId, o.Id, AyaType.Tag, AyaEvent.Created), ct);
await ct.SaveChangesAsync();
return CreatedAtAction("GetTag", new { id = o.Id }, new ApiCreatedResponse(o));
}
@@ -221,6 +222,9 @@ namespace AyaNova.Api.Controllers
return BadRequest(new ApiErrorResponse(biz.Errors));
}
//Log
EventLogProcessor.AddEntry(new Event(biz.userId, oFromDb.Id, AyaType.Tag, AyaEvent.Modified), ct);
try
{
await ct.SaveChangesAsync();
@@ -240,8 +244,6 @@ namespace AyaNova.Api.Controllers
}
}
//Log
//EventLogProcessor.AddEntry(new Event(biz.userId, oFromDb.Id, AyaType.Tag, AyaEvent.Modified), ct);
return Ok(new ApiOkResponse(new { ConcurrencyToken = oFromDb.ConcurrencyToken }));
}
@@ -292,6 +294,9 @@ namespace AyaNova.Api.Controllers
return BadRequest(new ApiErrorResponse(biz.Errors));
}
//Log
EventLogProcessor.AddEntry(new Event(biz.userId, oFromDb.Id, AyaType.Tag, AyaEvent.Modified), ct);
try
{
await ct.SaveChangesAsync();
@@ -308,9 +313,6 @@ namespace AyaNova.Api.Controllers
}
}
//Log
//EventLogProcessor.AddEntry(new Event(biz.userId, oFromDb.Id, AyaType.Tag, AyaEvent.Modified), ct);
return Ok(new ApiOkResponse(new { ConcurrencyToken = oFromDb.ConcurrencyToken }));
}
@@ -354,11 +356,11 @@ namespace AyaNova.Api.Controllers
{
return BadRequest(new ApiErrorResponse(biz.Errors));
}
await ct.SaveChangesAsync();
//Log
EventLogProcessor.DeleteObject(biz.userId, AyaType.Tag, dbObj.Id, dbObj.Name, ct);
await ct.SaveChangesAsync();
return NoContent();
}

View File

@@ -92,12 +92,14 @@ namespace AyaNova.Api.Controllers
OpsJob j = new OpsJob();
j.Name = $"Seed test data (size={size})";
j.JobType = JobType.SeedTestData;
j.Exclusive=true;//don't run other jobs, this will erase the db
j.Exclusive = true;//don't run other jobs, this will erase the db
j.JobInfo = o.ToString();
JobsBiz.AddJob(j, ct);
//Log
//EventLogProcessor.AddEntry(new Event(UserIdFromContext.Id(HttpContext.Items), 0, AyaType.TrialSeeder, AyaEvent.Created,size), ct);
//Log
EventLogProcessor.AddEntry(new Event(UserIdFromContext.Id(HttpContext.Items), 0, AyaType.TrialSeeder, AyaEvent.Created, size), ct);
ct.SaveChanges();
return Accepted(new { JobId = j.GId });//202 accepted

View File

@@ -86,8 +86,8 @@ namespace AyaNova.Api.Controllers
}
//Log
EventLogProcessor.AddEntryAndSave(new Event(biz.userId, o.Id, AyaType.Widget, AyaEvent.Retrieved), ct);
EventLogProcessor.AddEntry(new Event(biz.userId, o.Id, AyaType.Widget, AyaEvent.Retrieved), ct);
ct.SaveChanges();
return Ok(new ApiOkResponse(o));
}
@@ -217,7 +217,7 @@ namespace AyaNova.Api.Controllers
try
{
//Log
EventLogProcessor.AddEntryNoSave(new Event(biz.userId, o.Id, AyaType.Widget, AyaEvent.Modified), ct);
EventLogProcessor.AddEntry(new Event(biz.userId, o.Id, AyaType.Widget, AyaEvent.Modified), ct);
await ct.SaveChangesAsync();
}
catch (DbUpdateConcurrencyException)
@@ -293,7 +293,7 @@ namespace AyaNova.Api.Controllers
try
{
//Log
EventLogProcessor.AddEntryNoSave(new Event(biz.userId, o.Id, AyaType.Widget, AyaEvent.Modified), ct);
EventLogProcessor.AddEntry(new Event(biz.userId, o.Id, AyaType.Widget, AyaEvent.Modified), ct);
await ct.SaveChangesAsync();
}
catch (DbUpdateConcurrencyException)
@@ -355,13 +355,15 @@ namespace AyaNova.Api.Controllers
}
else
{
//Log
EventLogProcessor.AddEntryNoSave(new Event(biz.userId, o.Id, AyaType.Widget, AyaEvent.Created), ct);
//save and success return
//save to get Id
await ct.SaveChangesAsync();
//Log now that we have the Id
EventLogProcessor.AddEntry(new Event(biz.userId, o.Id, AyaType.Widget, AyaEvent.Created), ct);
await ct.SaveChangesAsync();
//return success and link
return CreatedAtAction("GetWidget", new { id = o.Id }, new ApiCreatedResponse(o));
}
}
@@ -409,13 +411,15 @@ namespace AyaNova.Api.Controllers
{
return BadRequest(new ApiErrorResponse(biz.Errors));
}
//Log
EventLogProcessor.DeleteObject(biz.userId, AyaType.Widget, dbObj.Id, dbObj.Name, ct);
await ct.SaveChangesAsync();
//Delete children / attached objects
biz.DeleteChildren(dbObj);
//Log
EventLogProcessor.DeleteObject(biz.userId, AyaType.Widget, dbObj.Id, dbObj.Name, ct);
return NoContent();
}

View File

@@ -22,22 +22,11 @@ namespace AyaNova.Biz
/// <param name="newEvent"></param>
/// <param name="ct"></param>
/// <returns></returns>
internal static void AddEntryNoSave(Event newEvent, AyContext ct)
internal static void AddEntry(Event newEvent, AyContext ct)
{
ct.Event.Add(newEvent);
}
/// <summary>
/// Add and SAVE entry to the log
/// </summary>
/// <param name="newEvent"></param>
/// <param name="ct"></param>
/// <returns></returns>
internal static void AddEntryAndSave(Event newEvent, AyContext ct)
{
ct.Event.Add(newEvent);
ct.SaveChanges();
}
/// <summary>
@@ -53,7 +42,6 @@ namespace AyaNova.Biz
{
ct.Database.ExecuteSqlCommand($"delete from aevent where aytype = {ayType} and ayid={ayId}");
ct.Event.Add(new Event(userId, ayId, ayType, AyaEvent.Deleted, textra));
ct.SaveChanges();
}
/// <summary>

View File

@@ -291,7 +291,7 @@ namespace AyaNova.Util
//Now we have all the id's can actually add them to the context
foreach (long l in WidgetsAdded)
{
EventLogProcessor.AddEntryNoSave(new Event(1, l, AyaType.Widget, AyaEvent.Created), ct);
EventLogProcessor.AddEntry(new Event(1, l, AyaType.Widget, AyaEvent.Created), ct);
}
//Now save the Event Log entries