Skip to content

Commit 27f2bde

Browse files
committed
Show callback URL if it’s set
1 parent 676f676 commit 27f2bde

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

apps/webapp/app/components/runs/v3/WaitpointDetails.tsx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ import { v3WaitpointTokenPath, v3WaitpointTokensPath } from "~/utils/pathBuilder
1111
import { PacketDisplay } from "./PacketDisplay";
1212
import { WaitpointStatusCombo } from "./WaitpointStatus";
1313
import { RunTag } from "./RunTag";
14+
import { CopyableText } from "~/components/primitives/CopyableText";
15+
import { ClipboardField } from "~/components/primitives/ClipboardField";
1416

1517
export function WaitpointDetailTable({
1618
waitpoint,
@@ -50,6 +52,14 @@ export function WaitpointDetailTable({
5052
)}
5153
</Property.Value>
5254
</Property.Item>
55+
{waitpoint.callbackUrl && (
56+
<Property.Item>
57+
<Property.Label>Callback URL</Property.Label>
58+
<Property.Value className="my-1">
59+
<ClipboardField value={waitpoint.callbackUrl} variant={"secondary/small"} />
60+
</Property.Value>
61+
</Property.Item>
62+
)}
5363
<Property.Item>
5464
<Property.Label>Idempotency key</Property.Label>
5565
<Property.Value>

apps/webapp/app/presenters/v3/WaitpointPresenter.server.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ import { logger } from "~/services/logger.server";
33
import { BasePresenter } from "./basePresenter.server";
44
import { type RunListItem, RunListPresenter } from "./RunListPresenter.server";
55
import { waitpointStatusToApiStatus } from "./WaitpointListPresenter.server";
6+
import { WaitpointId } from "@trigger.dev/core/v3/isomorphic";
7+
import { env } from "~/env.server";
68

79
export type WaitpointDetail = NonNullable<Awaited<ReturnType<WaitpointPresenter["call"]>>>;
810

@@ -35,6 +37,7 @@ export class WaitpointPresenter extends BasePresenter {
3537
completedAfter: true,
3638
completedAt: true,
3739
createdAt: true,
40+
resolver: true,
3841
connectedRuns: {
3942
select: {
4043
friendlyId: true,
@@ -83,6 +86,11 @@ export class WaitpointPresenter extends BasePresenter {
8386
return {
8487
id: waitpoint.friendlyId,
8588
type: waitpoint.type,
89+
resolver: waitpoint.resolver,
90+
callbackUrl:
91+
waitpoint.resolver === "HTTP_CALLBACK"
92+
? generateWaitpointCallbackUrl(waitpoint.friendlyId)
93+
: undefined,
8694
status: waitpointStatusToApiStatus(waitpoint.status, waitpoint.outputIsError),
8795
idempotencyKey: waitpoint.idempotencyKey,
8896
userProvidedIdempotencyKey: waitpoint.userProvidedIdempotencyKey,
@@ -100,3 +108,9 @@ export class WaitpointPresenter extends BasePresenter {
100108
};
101109
}
102110
}
111+
112+
export function generateWaitpointCallbackUrl(waitpointId: string) {
113+
return `${
114+
env.API_ORIGIN ?? env.APP_ORIGIN
115+
}/api/v1/waitpoints/http-callback/${WaitpointId.toFriendlyId(waitpointId)}/callback`;
116+
}

0 commit comments

Comments
 (0)