feat: add PATCH /tags/{id}/rules/{then_id} to activate/deactivate rules
- openapi.yaml: new PATCH endpoint with is_active body, returns TagRule
- backend/service: SetRuleActive calls repo.SetActive then returns updated rule
- backend/handler: PatchRule validates body and delegates to service
- backend/router: register PATCH /:tag_id/rules/:then_tag_id
- frontend: TagRuleEditor uses PATCH instead of delete+recreate
- mock: handle PATCH /tags/{id}/rules/{then_id}
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -62,13 +62,9 @@
|
||||
busy = true;
|
||||
error = '';
|
||||
const thenTagId = rule.then_tag_id!;
|
||||
const newActive = !rule.is_active;
|
||||
try {
|
||||
await api.delete(`/tags/${tagId}/rules/${thenTagId}`);
|
||||
const updated = await api.post<TagRule>(`/tags/${tagId}/rules`, {
|
||||
then_tag_id: thenTagId,
|
||||
is_active: newActive,
|
||||
apply_to_existing: false,
|
||||
const updated = await api.patch<TagRule>(`/tags/${tagId}/rules/${thenTagId}`, {
|
||||
is_active: !rule.is_active,
|
||||
});
|
||||
onRulesChange(rules.map((r) => r.then_tag_id === thenTagId ? updated : r));
|
||||
} catch (e) {
|
||||
|
||||
Reference in New Issue
Block a user