Add rewrite

This commit is contained in:
2025-05-22 13:48:15 +03:00
parent 71d360ea1f
commit 16a4ea0949
19 changed files with 746 additions and 61 deletions

View File

@@ -0,0 +1,53 @@
export default defineEventHandler(async (event) => {
const session = await requireUserSession(event);
const db = useDrizzle();
const query = getQuery(event);
const user = await db.query.users.findFirst({
where: (f, o) => o.eq(f.id, session.user.id),
with: {
preferences: true,
},
});
if (!user?.premium) {
throw createError({
statusCode: 400,
message: "Premium membership required.",
});
}
const activityId = (query.activity as string).replace(
/https:\/\/(www\.)?strava\.com\/activities\//,
"",
);
const strava = await useStrava(session.user.id);
const activity = await strava!<any>(`/activities/${activityId}`);
const [aiError, stravaRequestBody] = await createActivityContent(
activity,
user!,
);
if (aiError) {
throw createError({
statusCode: 500,
message: `OPENAI API: ${aiError.message}`,
});
}
await strava!(`activities/${activityId}`, {
method: "PUT",
body: stravaRequestBody,
}).catch((error) => {
throw createError({
statusCode: 500,
message: `Strava API: ${error.message}`,
});
});
sendNoContent(event);
});