Skip to content

Commit 4d2a13e

Browse files
authored
oops (#7)
2 parents d252a73 + 931475f commit 4d2a13e

File tree

4 files changed

+20
-5
lines changed

4 files changed

+20
-5
lines changed

app/lib/env.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ export const env = createEnv({
2222
UPLOADTHING_TOKEN: z.string(),
2323
UPLOADTHING_APP_ID: z.string(),
2424
POLAR_ACCESS_TOKEN: z.string(),
25+
POLAR_WEBHOOK_SECRET: z.string(),
2526
},
2627
clientPrefix: "VITE_",
2728
client: {},

app/routes/api/wh/polar.ts

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,30 @@ import {
77
import { getHeaders } from "@tanstack/start/server";
88
import { tasks } from "@trigger.dev/sdk/v3";
99
import type { handlePolarEventTask } from "@/trigger/handle-polar-event";
10+
import { env } from "@/lib/env";
1011

1112
export const APIRoute = createAPIFileRoute("/api/wh/polar")({
12-
POST: async ({ request, params }) => {
13+
POST: async ({ request }) => {
1314
try {
1415
const event = validateEvent(
1516
await request.json(),
1617
getHeaders() as Record<string, string>,
17-
process.env.POLAR_WEBHOOK_SECRET ?? ""
18+
env.POLAR_WEBHOOK_SECRET
1819
);
1920

2021
if (
2122
event.type === "subscription.active" ||
2223
event.type === "subscription.revoked"
2324
) {
24-
await tasks.trigger<typeof handlePolarEventTask>("handle-polar-event", {
25-
event,
26-
});
25+
await tasks.trigger<typeof handlePolarEventTask>(
26+
"handle-polar-event",
27+
{
28+
event,
29+
},
30+
{
31+
tags: [`user_${event.data.customer.metadata.userId}`],
32+
}
33+
);
2734
}
2835

2936
return json({ message: "Webhook received" });

app/trigger/handle-polar-event.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ export const handlePolarEventTask = schemaTask({
2424
.unknown()
2525
.transform((val) => val as ReturnType<typeof validateEvent>),
2626
}),
27+
machine: {
28+
preset: "micro",
29+
},
2730
run: async ({ event }) => {
2831
const clerk = clerkClient({});
2932

app/trigger/video-processing.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,8 @@ export const videoProcessingTask = schemaTask({
234234
Bucket: env.THUMBS_BUCKET_NAME,
235235
Key: `${videoData.id}-large.webp`,
236236
Body: buffer,
237+
CacheControl: "public, max-age=31536000",
238+
ContentType: "image/webp",
237239
},
238240
abortController,
239241
}).done()
@@ -262,6 +264,8 @@ export const videoProcessingTask = schemaTask({
262264
Bucket: env.THUMBS_BUCKET_NAME,
263265
Key: `${videoData.id}-small.webp`,
264266
Body: buffer,
267+
CacheControl: "public, max-age=31536000",
268+
ContentType: "image/webp",
265269
},
266270
abortController,
267271
}).done()

0 commit comments

Comments
 (0)