fix: missing systemRef in patch /system, crash when system not found
This commit is contained in:
parent
ab5484892f
commit
a0d2773ef4
@ -81,6 +81,7 @@ public class SwitchControllerV2: PKControllerBase
|
|||||||
public async Task<IActionResult> SwitchCreate(string systemRef, [FromBody] PostSwitchParams data)
|
public async Task<IActionResult> SwitchCreate(string systemRef, [FromBody] PostSwitchParams data)
|
||||||
{
|
{
|
||||||
var system = await ResolveSystem(systemRef);
|
var system = await ResolveSystem(systemRef);
|
||||||
|
if (system == null) throw Errors.SystemNotFound;
|
||||||
if (ContextFor(system) != LookupContext.ByOwner)
|
if (ContextFor(system) != LookupContext.ByOwner)
|
||||||
throw Errors.GenericMissingPermissions;
|
throw Errors.GenericMissingPermissions;
|
||||||
|
|
||||||
@ -163,6 +164,7 @@ public class SwitchControllerV2: PKControllerBase
|
|||||||
// for now, don't need to make a PatchObject for this, since it's only one param
|
// for now, don't need to make a PatchObject for this, since it's only one param
|
||||||
|
|
||||||
var system = await ResolveSystem(systemRef);
|
var system = await ResolveSystem(systemRef);
|
||||||
|
if (system == null) throw Errors.SystemNotFound;
|
||||||
if (ContextFor(system) != LookupContext.ByOwner)
|
if (ContextFor(system) != LookupContext.ByOwner)
|
||||||
throw Errors.GenericMissingPermissions;
|
throw Errors.GenericMissingPermissions;
|
||||||
|
|
||||||
@ -197,6 +199,7 @@ public class SwitchControllerV2: PKControllerBase
|
|||||||
public async Task<IActionResult> SwitchMemberPatch(string systemRef, string switchRef, [FromBody] JArray data)
|
public async Task<IActionResult> SwitchMemberPatch(string systemRef, string switchRef, [FromBody] JArray data)
|
||||||
{
|
{
|
||||||
var system = await ResolveSystem(systemRef);
|
var system = await ResolveSystem(systemRef);
|
||||||
|
if (system == null) throw Errors.SystemNotFound;
|
||||||
if (ContextFor(system) != LookupContext.ByOwner)
|
if (ContextFor(system) != LookupContext.ByOwner)
|
||||||
throw Errors.GenericMissingPermissions;
|
throw Errors.GenericMissingPermissions;
|
||||||
|
|
||||||
@ -244,6 +247,7 @@ public class SwitchControllerV2: PKControllerBase
|
|||||||
public async Task<IActionResult> SwitchDelete(string systemRef, string switchRef)
|
public async Task<IActionResult> SwitchDelete(string systemRef, string switchRef)
|
||||||
{
|
{
|
||||||
var system = await ResolveSystem(systemRef);
|
var system = await ResolveSystem(systemRef);
|
||||||
|
if (system == null) throw Errors.SystemNotFound;
|
||||||
if (ContextFor(system) != LookupContext.ByOwner)
|
if (ContextFor(system) != LookupContext.ByOwner)
|
||||||
throw Errors.GenericMissingPermissions;
|
throw Errors.GenericMissingPermissions;
|
||||||
|
|
||||||
|
@ -21,10 +21,13 @@ public class SystemControllerV2: PKControllerBase
|
|||||||
return Ok(system.ToJson(ContextFor(system), APIVersion.V2));
|
return Ok(system.ToJson(ContextFor(system), APIVersion.V2));
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPatch("@me")]
|
[HttpPatch("{systemRef}")]
|
||||||
public async Task<IActionResult> DoSystemPatch([FromBody] JObject data)
|
public async Task<IActionResult> DoSystemPatch(string systemRef, [FromBody] JObject data)
|
||||||
{
|
{
|
||||||
var system = await ResolveSystem("@me");
|
var system = await ResolveSystem(systemRef);
|
||||||
|
if (system == null) throw Errors.SystemNotFound;
|
||||||
|
if (ContextFor(system) != LookupContext.ByOwner)
|
||||||
|
throw Errors.GenericMissingPermissions;
|
||||||
var patch = SystemPatch.FromJSON(data, APIVersion.V2);
|
var patch = SystemPatch.FromJSON(data, APIVersion.V2);
|
||||||
|
|
||||||
patch.AssertIsValid();
|
patch.AssertIsValid();
|
||||||
@ -39,6 +42,7 @@ public class SystemControllerV2: PKControllerBase
|
|||||||
public async Task<IActionResult> GetSystemSettings(string systemRef)
|
public async Task<IActionResult> GetSystemSettings(string systemRef)
|
||||||
{
|
{
|
||||||
var system = await ResolveSystem(systemRef);
|
var system = await ResolveSystem(systemRef);
|
||||||
|
if (system == null) throw Errors.SystemNotFound;
|
||||||
if (ContextFor(system) != LookupContext.ByOwner)
|
if (ContextFor(system) != LookupContext.ByOwner)
|
||||||
throw Errors.GenericMissingPermissions;
|
throw Errors.GenericMissingPermissions;
|
||||||
|
|
||||||
@ -50,6 +54,7 @@ public class SystemControllerV2: PKControllerBase
|
|||||||
public async Task<IActionResult> DoSystemSettingsPatch(string systemRef, [FromBody] JObject data)
|
public async Task<IActionResult> DoSystemSettingsPatch(string systemRef, [FromBody] JObject data)
|
||||||
{
|
{
|
||||||
var system = await ResolveSystem(systemRef);
|
var system = await ResolveSystem(systemRef);
|
||||||
|
if (system == null) throw Errors.SystemNotFound;
|
||||||
if (ContextFor(system) != LookupContext.ByOwner)
|
if (ContextFor(system) != LookupContext.ByOwner)
|
||||||
throw Errors.GenericMissingPermissions;
|
throw Errors.GenericMissingPermissions;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user