예제 #1
0
        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))));
        }
예제 #2
0
        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))));
        }