Skip to content

Commit d8359d5

Browse files
committed
fix: wip
1 parent 74135c7 commit d8359d5

File tree

2 files changed

+81
-11
lines changed

2 files changed

+81
-11
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
import { ApiProperty } from '@nestjs/swagger';
2+
import { WorkflowResponseDto } from '../../workflows-v2/dtos/workflow-response.dto';
3+
4+
enum WebhookEventEnum {
5+
WORKFLOW_CREATED = 'workflow.created',
6+
WORKFLOW_UPDATED = 'workflow.updated',
7+
WORKFLOW_DELETED = 'workflow.deleted',
8+
}
9+
10+
enum WebhookObjectTypeEnum {
11+
WORKFLOW = 'workflow',
12+
}
13+
14+
export class WrapperDto<T> {
15+
@ApiProperty({
16+
description: 'The type of the webhook',
17+
enum: WebhookEventEnum,
18+
})
19+
type: WebhookEventEnum;
20+
21+
@ApiProperty({
22+
description: 'The payload of the webhook',
23+
type: 'object',
24+
})
25+
data: T;
26+
27+
@ApiProperty({
28+
description: 'The timestamp of the webhook',
29+
type: 'string',
30+
})
31+
timestamp: string;
32+
33+
@ApiProperty({
34+
description: 'The environment connected to the webhook',
35+
type: 'string',
36+
})
37+
environmentId: string;
38+
39+
@ApiProperty({
40+
description: 'The object of the webhook',
41+
enum: WebhookObjectTypeEnum,
42+
})
43+
object: WebhookObjectTypeEnum;
44+
}
45+
46+
export class WorkflowUpdatedWebhookDto extends WrapperDto<WorkflowResponseDto> {
47+
type: WebhookEventEnum.WORKFLOW_UPDATED;
48+
object: WebhookObjectTypeEnum.WORKFLOW;
49+
}
50+
51+
export class WorkflowCreatedWebhookDto extends WrapperDto<WorkflowResponseDto> {
52+
type: WebhookEventEnum.WORKFLOW_CREATED;
53+
object: WebhookObjectTypeEnum.WORKFLOW;
54+
}
55+
56+
export class WorkflowDeletedWebhookDto extends WrapperDto<WorkflowResponseDto> {
57+
type: WebhookEventEnum.WORKFLOW_DELETED;
58+
object: WebhookObjectTypeEnum.WORKFLOW;
59+
}

apps/dashboard/src/pages/webhooks-page.tsx

+22-11
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,11 @@ export function WebhooksPage() {
8181
return (
8282
<DashboardLayout headerStartItems={<h1 className="text-foreground-950">Webhooks</h1>}>
8383
<SvixProvider token={portalToken} appId={appId}>
84-
<Tabs defaultValue="endpoints">
84+
<div className="h-full w-full overflow-auto">
85+
<AppPortal url={buildPortalUrl(portalUrl, '/endpoints')} fullSize />
86+
</div>
87+
88+
{/* <Tabs defaultValue="endpoints">
8589
<div className="border-neutral-alpha-200 flex items-center justify-between border-b">
8690
<TabsList variant="regular" className="border-b-0 border-t-2 border-transparent p-0 !px-2">
8791
<TabsTrigger value="endpoints" variant="regular">
@@ -97,21 +101,28 @@ export function WebhooksPage() {
97101
Activity
98102
</TabsTrigger>
99103
</TabsList>
100-
{/* Add action buttons here if needed later */}
101104
</div>
102-
<TabsContent value="endpoints" variant="regular" className="!mt-0 p-2.5">
103-
<AppPortal url={buildPortalUrl(portalUrl, '/endpoints')} style={{ backgroundColor: 'red' }} fullSize />
105+
<TabsContent value="endpoints" variant="regular" className="!mt-0 overflow-hidden p-2.5">
106+
<div className="mt-[-61px]">
107+
<AppPortal url={buildPortalUrl(portalUrl, '/endpoints')} fullSize />
108+
</div>
104109
</TabsContent>
105-
<TabsContent value="event-catalog" variant="regular" className="!mt-0 p-2.5">
106-
<AppPortal url={buildPortalUrl(portalUrl, '/event-types')} fullSize />
110+
<TabsContent value="event-catalog" variant="regular" className="!mt-0 overflow-hidden p-2.5">
111+
<div className="mt-[-61px]">
112+
<AppPortal url={buildPortalUrl(portalUrl, '/event-types')} fullSize />
113+
</div>
107114
</TabsContent>
108-
<TabsContent value="logs" variant="regular" className="!mt-0 p-2.5">
109-
<AppPortal url={buildPortalUrl(portalUrl, '/messages')} fullSize />
115+
<TabsContent value="logs" variant="regular" className="!mt-0 overflow-hidden p-2.5">
116+
<div className="mt-[-61px]">
117+
<AppPortal url={buildPortalUrl(portalUrl, '/messages')} fullSize />
118+
</div>
110119
</TabsContent>
111-
<TabsContent value="activity" variant="regular" className="!mt-0 p-2.5">
112-
<AppPortal url={buildPortalUrl(portalUrl, '/activity')} fullSize />
120+
<TabsContent value="activity" variant="regular" className="!mt-0 overflow-hidden p-2.5">
121+
<div className="mt-[-61px]">
122+
<AppPortal url={buildPortalUrl(portalUrl, '/activity')} fullSize />
123+
</div>
113124
</TabsContent>
114-
</Tabs>
125+
</Tabs> */}
115126
</SvixProvider>
116127
</DashboardLayout>
117128
);

0 commit comments

Comments
 (0)