feat(api): accept member for latch autoproxy

This commit is contained in:
alyssa 2025-01-02 06:02:57 +00:00
parent c998a66a46
commit 8f664dc54d

View file

@ -74,27 +74,22 @@ public class AutoproxyControllerV2: PKControllerBase
patch.Errors.Add(new("autoproxy_member", "Member not found.")); patch.Errors.Add(new("autoproxy_member", "Member not found."));
} }
if (newAutoproxyMode.Value == AutoproxyMode.Member) // only allow setting member for latch (or member)
{ if ((int)newAutoproxyMode.Value < 3)
if (!updateMember)
{
patch.Errors.Add(new("autoproxy_member", "An autoproxy member must be supplied for autoproxy mode 'member'"));
}
patch.AutoproxyMode = newAutoproxyMode;
patch.AutoproxyMember = newAutoproxyMember;
}
else
{ {
if (updateMember) if (updateMember)
{ {
patch.Errors.Add(new("autoproxy_member", "Cannot update autoproxy member if autoproxy mode is not set to 'member'")); patch.Errors.Add(new("autoproxy_member", "Cannot update autoproxy member if autoproxy is disabled or set to 'front' mode"));
} }
patch.AutoproxyMode = newAutoproxyMode;
patch.AutoproxyMember = null; patch.AutoproxyMember = null;
} }
if (newAutoproxyMode.Value == AutoproxyMode.Member && newAutoproxyMember.Value == null)
{
patch.Errors.Add(new("autoproxy_member", "An autoproxy member must be supplied for autoproxy mode 'member'"));
}
if (patch.Errors.Count > 0) if (patch.Errors.Count > 0)
throw new ModelParseError(patch.Errors); throw new ModelParseError(patch.Errors);