diff options
| author | Maze Winther <mazewinther@gmail.com> | 2026-02-05 12:53:56 +0100 |
|---|---|---|
| committer | Maze Winther <mazewinther@gmail.com> | 2026-02-05 12:53:56 +0100 |
| commit | 2257ca2e6f9f8834880ea9bab4355c168ee6c33b (patch) | |
| tree | f2ead774beda94d95fb771bc3eb16972fb08468a /apps/web/src/services/storage/migrations/transformers/v2-to-v3.ts | |
| parent | 490fc170c0705703728a889cbc35a04ca41ae7eb (diff) | |
| download | opencut-2257ca2e6f9f8834880ea9bab4355c168ee6c33b.tar.gz | |
make storage versioning per-project + few other refactors
Diffstat (limited to 'apps/web/src/services/storage/migrations/transformers/v2-to-v3.ts')
| -rw-r--r-- | apps/web/src/services/storage/migrations/transformers/v2-to-v3.ts | 28 |
1 files changed, 2 insertions, 26 deletions
diff --git a/apps/web/src/services/storage/migrations/transformers/v2-to-v3.ts b/apps/web/src/services/storage/migrations/transformers/v2-to-v3.ts index 33656109..094b8bd8 100644 --- a/apps/web/src/services/storage/migrations/transformers/v2-to-v3.ts +++ b/apps/web/src/services/storage/migrations/transformers/v2-to-v3.ts @@ -1,6 +1,7 @@ import { getProjectDurationFromScenes } from "@/lib/scenes"; import type { TScene } from "@/types/timeline"; import type { MigrationResult, ProjectRecord } from "./types"; +import { getProjectId, isRecord } from "./utils"; export function transformProjectV2ToV3({ project, @@ -33,28 +34,7 @@ export function transformProjectV2ToV3({ return { project: migratedProject, skipped: false }; } -export function getProjectId({ - project, -}: { - project: ProjectRecord; -}): string | null { - const idValue = project.id; - if (typeof idValue === "string" && idValue.length > 0) { - return idValue; - } - - const metadataValue = project.metadata; - if (!isRecord(metadataValue)) { - return null; - } - - const metadataId = metadataValue.id; - if (typeof metadataId === "string" && metadataId.length > 0) { - return metadataId; - } - - return null; -} +export { getProjectId } from "./utils"; function getScenes({ project }: { project: ProjectRecord }): TScene[] { const scenesValue = project.scenes; @@ -75,7 +55,3 @@ function isV3Project({ project }: { project: ProjectRecord }): boolean { isRecord(project.metadata) && typeof project.metadata.duration === "number" ); } - -function isRecord(value: unknown): value is ProjectRecord { - return typeof value === "object" && value !== null; -} |
