Simplify product

This commit is contained in:
2025-05-31 18:24:02 +03:00
parent 2dac6c5bd8
commit 0cd5c6cb69
6 changed files with 2 additions and 74 deletions

View File

@@ -1,55 +0,0 @@
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 currentActivity = await strava!<any>(`/activities/${activityId}`);
const [, ...previousActivities] = await strava!<any[]>(`/activities`);
const [aiError, stravaRequestBody] = await createActivityContent({
currentActivity,
previousActivities,
user: 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);
});

1
server/auth.d.ts vendored
View File

@@ -16,7 +16,6 @@ declare module "#auth-utils" {
sex: string;
weight: number;
avatar: string;
premium: boolean;
};
}

View File

@@ -6,7 +6,6 @@ import {
numeric,
timestamp,
jsonb,
boolean,
} from "drizzle-orm/pg-core";
export const users = pgTable("users", {
@@ -16,9 +15,6 @@ export const users = pgTable("users", {
city: text("city"),
country: text("country"),
sex: text("sex"),
premium: boolean("premium")
.notNull()
.$defaultFn(() => false),
weight: numeric("weight", {
mode: "number",
}),

View File

@@ -32,7 +32,6 @@ export default defineOAuthStravaEventHandler({
sex: auth.user.sex,
weight: auth.user.weight,
avatar: auth.user.profile,
premium: false,
};
const db = useDrizzle();
@@ -42,7 +41,7 @@ export default defineOAuthStravaEventHandler({
.values(userPayload)
.onConflictDoUpdate({
target: tables.users.id,
set: omit(userPayload, ["id", "premium"]),
set: omit(userPayload, ["id"]),
})
.returning();
@@ -78,7 +77,7 @@ export default defineOAuthStravaEventHandler({
.onConflictDoNothing();
await setUserSession(event, {
user: { ...userPayload, premium: user.premium },
user: userPayload,
});
sendRedirect(event, "/");