diff --git a/apps/api/src/database/migrations/2026-09-19.ts b/apps/api/src/database/migrations/2026-09-19.ts index e9d3f93..369fba5 100644 --- a/apps/api/src/database/migrations/2026-09-19.ts +++ b/apps/api/src/database/migrations/2026-09-19.ts @@ -10,12 +10,12 @@ export async function up(db: Kysely): Promise { .addColumn("status", "text", (cb) => cb.notNull().defaultTo("request")) // request | in_review | action_requested | completed .addColumn("completed_at", "timestamptz") .addColumn("completed_by", "uuid") - .addColumn("url_back_squat", "text") - .addColumn("url_deadlift", "text") - .addColumn("url_bench_press", "text") - .addColumn("url_run", "text") - .addColumn("url_broad_jump", "text") - .addColumn("url_cone_drill", "text") + .addColumn("media_key_back_squat", "text") + .addColumn("media_key_deadlift", "text") + .addColumn("media_key_bench_press", "text") + .addColumn("media_key_run", "text") + .addColumn("media_key_broad_jump", "text") + .addColumn("media_key_cone_drill", "text") .addColumn("verf_back_squat", "boolean") .addColumn("verf_deadlift", "boolean") .addColumn("verf_bench_press", "boolean") diff --git a/apps/api/src/services/verifications.ts b/apps/api/src/services/verifications.ts index a85206b..c2cbb50 100644 --- a/apps/api/src/services/verifications.ts +++ b/apps/api/src/services/verifications.ts @@ -25,23 +25,23 @@ export class VerificationsService { .values({ assessment_id: assessmentId, status: "request" satisfies VerificationStatus, - url_back_squat: activityVideoUrls[Activity.BackSquat] ?? null, - url_deadlift: activityVideoUrls[Activity.Deadlift] ?? null, - url_bench_press: activityVideoUrls[Activity.BenchPress] ?? null, - url_broad_jump: activityVideoUrls[Activity.BroadJump] ?? null, - url_run: activityVideoUrls[Activity.Run] ?? null, - url_cone_drill: activityVideoUrls[Activity.ConeDrill] ?? null, + media_key_back_squat: activityVideoUrls[Activity.BackSquat] ?? null, + media_key_deadlift: activityVideoUrls[Activity.Deadlift] ?? null, + media_key_bench_press: activityVideoUrls[Activity.BenchPress] ?? null, + media_key_broad_jump: activityVideoUrls[Activity.BroadJump] ?? null, + media_key_run: activityVideoUrls[Activity.Run] ?? null, + media_key_cone_drill: activityVideoUrls[Activity.ConeDrill] ?? null, }) .onConflict((oc) => oc .column("assessment_id") .doUpdateSet((eb) => ({ status: "request" satisfies VerificationStatus, - url_back_squat: eb.ref("excluded.url_back_squat"), - url_deadlift: eb.ref("excluded.url_deadlift"), - url_bench_press: eb.ref("excluded.url_bench_press"), - url_broad_jump: eb.ref("excluded.url_broad_jump"), - url_run: eb.ref("excluded.url_run"), - url_cone_drill: eb.ref("excluded.url_cone_drill"), + media_key_back_squat: eb.ref("excluded.media_key_back_squat"), + media_key_deadlift: eb.ref("excluded.media_key_deadlift"), + media_key_bench_press: eb.ref("excluded.media_key_bench_press"), + media_key_broad_jump: eb.ref("excluded.media_key_broad_jump"), + media_key_run: eb.ref("excluded.media_key_run"), + media_key_cone_drill: eb.ref("excluded.media_key_cone_drill"), // Re-requesting means new videos are under review, so the // previous cycle's per-activity judgments and completion // info no longer apply. @@ -72,12 +72,12 @@ export class VerificationsService { "verifications.completed_at", "verifications.completed_by", "verifications.reviewer_notes", - "verifications.url_back_squat", - "verifications.url_deadlift", - "verifications.url_bench_press", - "verifications.url_broad_jump", - "verifications.url_run", - "verifications.url_cone_drill", + "verifications.media_key_back_squat", + "verifications.media_key_deadlift", + "verifications.media_key_bench_press", + "verifications.media_key_broad_jump", + "verifications.media_key_run", + "verifications.media_key_cone_drill", "verifications.verf_back_squat", "verifications.verf_deadlift", "verifications.verf_bench_press", diff --git a/apps/portal/src/routes/(app)/verification/requests/+page.svelte b/apps/portal/src/routes/(app)/verification/requests/+page.svelte index 2820972..ada5776 100644 --- a/apps/portal/src/routes/(app)/verification/requests/+page.svelte +++ b/apps/portal/src/routes/(app)/verification/requests/+page.svelte @@ -17,17 +17,17 @@ completed: "badge-success", }; - const URL_COLUMN = { - [Activity.BackSquat]: "url_back_squat", - [Activity.Deadlift]: "url_deadlift", - [Activity.BenchPress]: "url_bench_press", - [Activity.Run]: "url_run", - [Activity.BroadJump]: "url_broad_jump", - [Activity.ConeDrill]: "url_cone_drill", + const MEDIA_KEY_COLUMN = { + [Activity.BackSquat]: "media_key_back_squat", + [Activity.Deadlift]: "media_key_deadlift", + [Activity.BenchPress]: "media_key_bench_press", + [Activity.Run]: "media_key_run", + [Activity.BroadJump]: "media_key_broad_jump", + [Activity.ConeDrill]: "media_key_cone_drill", } as const satisfies Record; function videoCount(row: VerificationRow): number { - return Object.values(Activity).filter((a) => row[URL_COLUMN[a]]).length; + return Object.values(Activity).filter((a) => row[MEDIA_KEY_COLUMN[a]]).length; } function formatDate(value: string | Date | null): string { diff --git a/apps/portal/src/routes/(app)/verification/requests/[id]/+page.svelte b/apps/portal/src/routes/(app)/verification/requests/[id]/+page.svelte index 9225572..1f48f07 100644 --- a/apps/portal/src/routes/(app)/verification/requests/[id]/+page.svelte +++ b/apps/portal/src/routes/(app)/verification/requests/[id]/+page.svelte @@ -25,13 +25,13 @@ completed: "badge-success", }; - const URL_COLUMN = { - [Activity.BackSquat]: "url_back_squat", - [Activity.Deadlift]: "url_deadlift", - [Activity.BenchPress]: "url_bench_press", - [Activity.Run]: "url_run", - [Activity.BroadJump]: "url_broad_jump", - [Activity.ConeDrill]: "url_cone_drill", + const MEDIA_KEY_COLUMN = { + [Activity.BackSquat]: "media_key_back_squat", + [Activity.Deadlift]: "media_key_deadlift", + [Activity.BenchPress]: "media_key_bench_press", + [Activity.Run]: "media_key_run", + [Activity.BroadJump]: "media_key_broad_jump", + [Activity.ConeDrill]: "media_key_cone_drill", } as const satisfies Record; const VERF_COLUMN = { @@ -270,8 +270,8 @@ - {#if v[URL_COLUMN[activity]]} - {@const videoUrl = v[URL_COLUMN[activity]]} + {#if v[MEDIA_KEY_COLUMN[activity]]} + {@const videoUrl = v[MEDIA_KEY_COLUMN[activity]]}