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/v0-to-v1.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/v0-to-v1.ts')
| -rw-r--r-- | apps/web/src/services/storage/migrations/v0-to-v1.ts | 38 |
1 files changed, 8 insertions, 30 deletions
diff --git a/apps/web/src/services/storage/migrations/v0-to-v1.ts b/apps/web/src/services/storage/migrations/v0-to-v1.ts index e183ddf2..a2225c76 100644 --- a/apps/web/src/services/storage/migrations/v0-to-v1.ts +++ b/apps/web/src/services/storage/migrations/v0-to-v1.ts @@ -4,41 +4,19 @@ * Sets currentSceneId to the new scene's id */ -import { IndexedDBAdapter } from "@/services/storage/indexeddb-adapter"; import { StorageMigration } from "./base"; -import { getProjectId, transformProjectV0ToV1 } from "./transformers/v0-to-v1"; +import type { ProjectRecord } from "./transformers/types"; +import { transformProjectV0ToV1 } from "./transformers/v0-to-v1"; export class V0toV1Migration extends StorageMigration { from = 0; to = 1; - async run(): Promise<void> { - const projectsAdapter = new IndexedDBAdapter<unknown>( - "video-editor-projects", - "projects", - 1, - ); - const projects = await projectsAdapter.getAll(); - - for (const project of projects) { - if (typeof project !== "object" || project === null) { - continue; - } - - const result = transformProjectV0ToV1({ - project: project as Record<string, unknown>, - }); - - if (result.skipped) { - continue; - } - - const projectId = getProjectId({ project: result.project }); - if (!projectId) { - continue; - } - - await projectsAdapter.set(projectId, result.project); - } + async transform(project: ProjectRecord): Promise<{ + project: ProjectRecord; + skipped: boolean; + reason?: string; + }> { + return transformProjectV0ToV1({ project }); } } |
