public async Task <ActionResult <JObject> > EditSystem([FromBody] JObject changes) { await using var conn = await _db.Obtain(); var system = await _repo.GetSystem(conn, User.CurrentSystem()); SystemPatch patch; try { patch = JsonModelExt.ToSystemPatch(changes); patch.CheckIsValid(); } catch (JsonModelParseError e) { return(BadRequest(e.Message)); } catch (InvalidPatchException e) { return(BadRequest($"Request field '{e.Message}' is invalid.")); } system = await _repo.UpdateSystem(conn, system !.Id, patch); return(Ok(system.ToJson(User.ContextFor(system)))); }
public async Task <ActionResult <JObject> > EditSystem([FromBody] JObject changes) { var system = await _db.Execute(c => c.QuerySystem(User.CurrentSystem())); SystemPatch patch; try { patch = JsonModelExt.ToSystemPatch(changes); } catch (JsonModelParseError e) { return(BadRequest(e.Message)); } await _db.Execute(conn => conn.UpdateSystem(system.Id, patch)); return(Ok(system.ToJson(User.ContextFor(system)))); }