url_* -> media_key_* naming change
This commit is contained in:
@@ -10,12 +10,12 @@ export async function up(db: Kysely<any>): Promise<void> {
|
||||
.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")
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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<Activity, keyof VerificationRow>;
|
||||
|
||||
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 {
|
||||
|
||||
@@ -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<Activity, keyof VerificationDetail>;
|
||||
|
||||
const VERF_COLUMN = {
|
||||
@@ -270,8 +270,8 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{#if v[URL_COLUMN[activity]]}
|
||||
{@const videoUrl = v[URL_COLUMN[activity]]}
|
||||
{#if v[MEDIA_KEY_COLUMN[activity]]}
|
||||
{@const videoUrl = v[MEDIA_KEY_COLUMN[activity]]}
|
||||
<!-- svelte-ignore a11y_media_has_caption -->
|
||||
<video
|
||||
class="w-full max-h-[480px] rounded-lg bg-black"
|
||||
@@ -368,10 +368,10 @@
|
||||
)}
|
||||
</td>
|
||||
<td>
|
||||
{#if v[URL_COLUMN[activity]]}
|
||||
{#if v[MEDIA_KEY_COLUMN[activity]]}
|
||||
<a
|
||||
class="link link-primary"
|
||||
href={v[URL_COLUMN[activity]]}
|
||||
href={v[MEDIA_KEY_COLUMN[activity]]}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user