summaryrefslogtreecommitdiff
path: root/apps/web/src/services/storage/migrations/transformers/v0-to-v1.ts
diff options
context:
space:
mode:
authorMaze Winther <mazewinther@gmail.com>2026-02-03 14:00:04 +0100
committerMaze Winther <mazewinther@gmail.com>2026-02-03 14:00:04 +0100
commit7366cb27e98d9e0b15e0176ac7ca32816c460284 (patch)
tree07635628d37c06489519f7daf336c7f3f4fd3a2a /apps/web/src/services/storage/migrations/transformers/v0-to-v1.ts
parent34daad9df7ed6dac4fbeba8619ca1958bb2dac86 (diff)
downloadopencut-7366cb27e98d9e0b15e0176ac7ca32816c460284.tar.gz
fix v1 to v2 migration
Diffstat (limited to 'apps/web/src/services/storage/migrations/transformers/v0-to-v1.ts')
-rw-r--r--apps/web/src/services/storage/migrations/transformers/v0-to-v1.ts35
1 files changed, 17 insertions, 18 deletions
diff --git a/apps/web/src/services/storage/migrations/transformers/v0-to-v1.ts b/apps/web/src/services/storage/migrations/transformers/v0-to-v1.ts
index d2259b64..a2350acb 100644
--- a/apps/web/src/services/storage/migrations/transformers/v0-to-v1.ts
+++ b/apps/web/src/services/storage/migrations/transformers/v0-to-v1.ts
@@ -1,6 +1,5 @@
-import { buildDefaultScene } from "@/lib/scenes";
+import { generateUUID } from "@/utils/id";
import type { SerializedScene } from "@/services/storage/types";
-import type { TScene } from "@/types/timeline";
import type { MigrationResult, ProjectRecord } from "./types";
export interface TransformV0ToV1Options {
@@ -21,12 +20,24 @@ export function transformProjectV0ToV1({
return { project, skipped: true, reason: "already has scenes" };
}
- const mainScene = buildDefaultScene({ isMain: true, name: "Main scene" });
- const serializedScene = serializeScene({ scene: mainScene });
+ const sceneId = generateUUID();
+ const sceneCreatedAt = now.toISOString();
+ const sceneUpdatedAt = now.toISOString();
+
+ const mainScene: SerializedScene = {
+ id: sceneId,
+ name: "Main scene",
+ isMain: true,
+ tracks: [],
+ bookmarks: [],
+ createdAt: sceneCreatedAt,
+ updatedAt: sceneUpdatedAt,
+ };
+
const updatedProject: ProjectRecord = {
...project,
- scenes: [serializedScene],
- currentSceneId: mainScene.id,
+ scenes: [mainScene],
+ currentSceneId: sceneId,
version: 1,
};
@@ -66,18 +77,6 @@ export function getProjectId({
return null;
}
-function serializeScene({ scene }: { scene: TScene }): SerializedScene {
- return {
- id: scene.id,
- name: scene.name,
- isMain: scene.isMain,
- tracks: scene.tracks,
- bookmarks: scene.bookmarks,
- createdAt: scene.createdAt.toISOString(),
- updatedAt: scene.updatedAt.toISOString(),
- };
-}
-
function isRecord(value: unknown): value is ProjectRecord {
return typeof value === "object" && value !== null;
}