Skip to content

Commit 17dc63e

Browse files
author
secus
committed
Update deployment events and webhook support.- Refactor webhook event handling to include scaling, start, stop.- Add support for scaled, start failed, and stop failed events
1 parent 4b84ae3 commit 17dc63e

16 files changed

Lines changed: 721 additions & 268 deletions

.sqlx/query-3502b7cabac60c2ea61a3711f1c338339c00618bed9e984248f86cd22644a2ed.json renamed to .sqlx/query-3984b7ad9086f0a2c197ffcb9bebaaa9b173b1d79686df22b11a59882753b186.json

Lines changed: 2 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.sqlx/query-3b4271cb4ae120eb8ffbdc1146ceb3a5212e7a7893f7394fc24b3b4052d82426.json

Lines changed: 0 additions & 41 deletions
This file was deleted.

.sqlx/query-6498676b2a50fd55ff699dcded4c7b551e2d601eb1d99da4ad0a14fb8fa0e188.json

Lines changed: 0 additions & 16 deletions
This file was deleted.

.sqlx/query-7f4c8eac5661403cd50781fcf994a86928bbff0f879fa67d4f097ada95e0488d.json

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.sqlx/query-03a5a5802e51c36a16ca9bd7a87f8a28bc0c7615cb537231059018ee61bc298e.json renamed to .sqlx/query-aa373dd91f3436b167a44c4e5cd47648634532582f2c2084d52e42925128b531.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.sqlx/query-baf2e9ba29ddba5d24827efbeacdaaf44a176487cd4ee6cd084b03a8005b4ffa.json

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.sqlx/query-c7fb0022cb8510299939f563b58774879acb4a744567ec840b76e84941277999.json

Lines changed: 22 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.sqlx/query-fce71b9417a4b55e2300fbe6f47db55d9d32db25df83457d6e8aa60743d4042a.json

Lines changed: 23 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apps/container-engine-frontend/src/pages/WebhooksPage.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ const WEBHOOK_EVENTS = [
2626
{ value: 'deployment_completed', label: 'Deployment Completed', description: 'When a deployment finishes successfully' },
2727
{ value: 'deployment_failed', label: 'Deployment Failed', description: 'When a deployment fails' },
2828
{ value: 'deployment_deleted', label: 'Deployment Deleted', description: 'When a deployment is deleted' },
29+
{ value: 'deployment_scaling', label: 'Deployment Scaling', description: 'When a deployment is being scaled' },
30+
{ value: 'deployment_scaled', label: 'Deployment Scaled', description: 'When a deployment scaling is completed' },
31+
{ value: 'deployment_start_failed', label: 'Deployment Start Failed', description: 'When starting a deployment fails' },
32+
{ value: 'deployment_stop_failed', label: 'Deployment Stop Failed', description: 'When stopping a deployment fails' },
33+
{ value: 'deployment_stopped', label: 'Deployment Stopped', description: 'When a deployment is stopped' },
2934
{ value: 'all', label: 'All Events', description: 'Subscribe to all webhook events' },
3035
];
3136

apps/container-engine-frontend/src/services/webhookService.ts

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,24 @@ export interface WebhookListResponse {
3131
total: number;
3232
}
3333

34+
// Helper function to transform string events to enum format expected by backend
35+
const transformEventsForBackend = (events: string[]): string[] => {
36+
const eventMap: Record<string, string> = {
37+
'deployment_started': 'DeploymentStarted',
38+
'deployment_completed': 'DeploymentCompleted',
39+
'deployment_failed': 'DeploymentFailed',
40+
'deployment_deleted': 'DeploymentDeleted',
41+
'deployment_scaling': 'DeploymentScaling',
42+
'deployment_scaled': 'DeploymentScaled',
43+
'deployment_start_failed': 'DeploymentStartFailed',
44+
'deployment_stop_failed': 'DeploymentStopFailed',
45+
'deployment_stopped': 'DeploymentStopped',
46+
'all': 'All',
47+
};
48+
49+
return events.map(event => eventMap[event] || event);
50+
};
51+
3452
class WebhookService {
3553
async listWebhooks() {
3654
const res = await api.get<WebhookListResponse>('/v1/webhooks');
@@ -43,12 +61,20 @@ class WebhookService {
4361
}
4462

4563
async createWebhook(webhook: CreateWebhookRequest) {
46-
const res = await api.post('/v1/webhooks', webhook);
64+
const payload = {
65+
...webhook,
66+
events: transformEventsForBackend(webhook.events),
67+
};
68+
const res = await api.post('/v1/webhooks', payload);
4769
return res.data;
4870
}
4971

5072
async updateWebhook(id: string, webhook: UpdateWebhookRequest) {
51-
const res = await api.put(`/v1/webhooks/${id}`, webhook);
73+
const payload = {
74+
...webhook,
75+
events: webhook.events ? transformEventsForBackend(webhook.events) : undefined,
76+
};
77+
const res = await api.put(`/v1/webhooks/${id}`, payload);
5278
return res.data;
5379
}
5480

0 commit comments

Comments
 (0)