Skip to content

Commit 4b24a47

Browse files
committed
Add URL to the token return types
1 parent 2710501 commit 4b24a47

File tree

6 files changed

+19
-17
lines changed

6 files changed

+19
-17
lines changed

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

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,14 @@ export function WaitpointDetailTable({
5151
)}
5252
</Property.Value>
5353
</Property.Item>
54-
<Property.Item>
55-
<Property.Label>Callback URL</Property.Label>
56-
<Property.Value className="my-1">
57-
<ClipboardField value={waitpoint.callbackUrl} variant={"secondary/small"} />
58-
</Property.Value>
59-
</Property.Item>
54+
{waitpoint.type === "MANUAL" && (
55+
<Property.Item>
56+
<Property.Label>Callback URL</Property.Label>
57+
<Property.Value className="my-1">
58+
<ClipboardField value={waitpoint.url} variant={"secondary/small"} />
59+
</Property.Value>
60+
</Property.Item>
61+
)}
6062
<Property.Item>
6163
<Property.Label>Idempotency key</Property.Label>
6264
<Property.Value>

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import { logger, type RuntimeEnvironmentType } from "@trigger.dev/core/v3";
22
import { type RunEngineVersion } from "@trigger.dev/database";
33
import { ServiceValidationError } from "~/v3/services/baseService.server";
44
import { BasePresenter } from "./basePresenter.server";
5-
import { WaitpointPresenter } from "./WaitpointPresenter.server";
65
import { waitpointStatusToApiStatus } from "./WaitpointListPresenter.server";
6+
import { generateHttpCallbackUrl } from "~/services/httpCallback.server";
77

88
export class ApiWaitpointPresenter extends BasePresenter {
99
public async call(
@@ -14,6 +14,7 @@ export class ApiWaitpointPresenter extends BasePresenter {
1414
id: string;
1515
engine: RunEngineVersion;
1616
};
17+
apiKey: string;
1718
},
1819
waitpointId: string
1920
) {
@@ -24,6 +25,7 @@ export class ApiWaitpointPresenter extends BasePresenter {
2425
environmentId: environment.id,
2526
},
2627
select: {
28+
id: true,
2729
friendlyId: true,
2830
type: true,
2931
status: true,
@@ -62,6 +64,7 @@ export class ApiWaitpointPresenter extends BasePresenter {
6264
return {
6365
id: waitpoint.friendlyId,
6466
type: waitpoint.type,
67+
url: generateHttpCallbackUrl(waitpoint.id, environment.apiKey),
6568
status: waitpointStatusToApiStatus(waitpoint.status, waitpoint.outputIsError),
6669
idempotencyKey: waitpoint.idempotencyKey,
6770
userProvidedIdempotencyKey: waitpoint.userProvidedIdempotencyKey,

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ export type WaitpointListOptions = {
4343
type Result =
4444
| {
4545
success: true;
46-
tokens: (WaitpointTokenItem & { callbackUrl: string })[];
46+
tokens: WaitpointTokenItem[];
4747
pagination: {
4848
next: string | undefined;
4949
previous: string | undefined;
@@ -266,7 +266,7 @@ export class WaitpointListPresenter extends BasePresenter {
266266
success: true,
267267
tokens: tokensToReturn.map((token) => ({
268268
id: token.friendlyId,
269-
callbackUrl: generateHttpCallbackUrl(token.id, environment.apiKey),
269+
url: generateHttpCallbackUrl(token.id, environment.apiKey),
270270
status: waitpointStatusToApiStatus(token.status, token.outputIsError),
271271
completedAt: token.completedAt ?? undefined,
272272
timeoutAt: token.completedAfter ?? undefined,

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

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
import { isWaitpointOutputTimeout, prettyPrintPacket } from "@trigger.dev/core/v3";
2+
import { generateHttpCallbackUrl } from "~/services/httpCallback.server";
23
import { logger } from "~/services/logger.server";
34
import { BasePresenter } from "./basePresenter.server";
45
import { type RunListItem, RunListPresenter } from "./RunListPresenter.server";
56
import { waitpointStatusToApiStatus } from "./WaitpointListPresenter.server";
6-
import { WaitpointId } from "@trigger.dev/core/v3/isomorphic";
7-
import { env } from "~/env.server";
8-
import { generateHttpCallbackUrl } from "~/services/httpCallback.server";
97

108
export type WaitpointDetail = NonNullable<Awaited<ReturnType<WaitpointPresenter["call"]>>>;
119

@@ -92,7 +90,7 @@ export class WaitpointPresenter extends BasePresenter {
9290
return {
9391
id: waitpoint.friendlyId,
9492
type: waitpoint.type,
95-
callbackUrl: generateHttpCallbackUrl(waitpoint.id, waitpoint.environment.apiKey),
93+
url: generateHttpCallbackUrl(waitpoint.id, waitpoint.environment.apiKey),
9694
status: waitpointStatusToApiStatus(waitpoint.status, waitpoint.outputIsError),
9795
idempotencyKey: waitpoint.idempotencyKey,
9896
userProvidedIdempotencyKey: waitpoint.userProvidedIdempotencyKey,

apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.waitpoints.tokens/route.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -181,10 +181,7 @@ export default function Page() {
181181
<CopyableText value={token.id} className="font-mono" />
182182
</TableCell>
183183
<TableCell to={path}>
184-
<ClipboardField
185-
value={token.callbackUrl}
186-
variant={"secondary/small"}
187-
/>
184+
<ClipboardField value={token.url} variant={"secondary/small"} />
188185
</TableCell>
189186
<TableCell to={path}>
190187
<WaitpointStatusCombo status={token.status} className="text-xs" />

packages/core/src/v3/schemas/api.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -971,6 +971,8 @@ export type WaitpointTokenStatus = z.infer<typeof WaitpointTokenStatus>;
971971

972972
export const WaitpointTokenItem = z.object({
973973
id: z.string(),
974+
/** If you make a POST request to this URL, it will complete the waitpoint. */
975+
url: z.string(),
974976
status: WaitpointTokenStatus,
975977
completedAt: z.coerce.date().optional(),
976978
completedAfter: z.coerce.date().optional(),

0 commit comments

Comments
 (0)