refactor: remove triggered_by field from webhook triggers and use automatic sync

- Remove triggered_by field from WorkflowWebhookTrigger model
- Replace manual webhook creation/deletion APIs with automatic sync via WebhookService
- Keep only GET API for retrieving webhook information
- Use same webhook ID for both debug and production environments (differentiated by endpoint)
- Add sync_webhook_relationships to automatically manage webhook lifecycle
- Update tests to remove triggered_by references
- Clean up unused imports and fix type checking issues

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Yeuoly
2025-09-10 17:17:19 +08:00
parent 6566824807
commit b0f1e55a87
12 changed files with 202 additions and 126 deletions

View File

@ -385,7 +385,7 @@ class TestVisualToCron(unittest.TestCase):
visual_config = VisualConfig(on_minute=0)
result = ScheduleService.visual_to_cron("hourly", visual_config)
assert result == "0 * * * *"
# Maximum value
visual_config = VisualConfig(on_minute=59)
result = ScheduleService.visual_to_cron("hourly", visual_config)
@ -397,7 +397,7 @@ class TestVisualToCron(unittest.TestCase):
visual_config = VisualConfig(time="12:00 AM")
result = ScheduleService.visual_to_cron("daily", visual_config)
assert result == "0 0 * * *"
# Noon
visual_config = VisualConfig(time="12:00 PM")
result = ScheduleService.visual_to_cron("daily", visual_config)
@ -429,7 +429,7 @@ class TestVisualToCron(unittest.TestCase):
monthly_days=all_days,
)
result = ScheduleService.visual_to_cron("monthly", visual_config)
expected_days = ','.join([str(i) for i in range(1, 32)]) + ',L'
expected_days = ",".join([str(i) for i in range(1, 32)]) + ",L"
assert result == f"1 0 {expected_days} * *"
def test_visual_to_cron_monthly_no_days(self):