summaryrefslogtreecommitdiff
path: root/apps/web/src/services/storage/migrations/transformers/v23-to-v24.ts
diff options
context:
space:
mode:
Diffstat (limited to 'apps/web/src/services/storage/migrations/transformers/v23-to-v24.ts')
-rw-r--r--apps/web/src/services/storage/migrations/transformers/v23-to-v24.ts17
1 files changed, 13 insertions, 4 deletions
diff --git a/apps/web/src/services/storage/migrations/transformers/v23-to-v24.ts b/apps/web/src/services/storage/migrations/transformers/v23-to-v24.ts
index 710d4dc1..736ca8dd 100644
--- a/apps/web/src/services/storage/migrations/transformers/v23-to-v24.ts
+++ b/apps/web/src/services/storage/migrations/transformers/v23-to-v24.ts
@@ -51,9 +51,7 @@ function migrateScene({ scene }: { scene: unknown }): unknown {
}
const mainTrack = findMainTrack({ tracks: scene.tracks });
- if (!mainTrack) {
- return scene;
- }
+ const finalMainTrack = mainTrack ?? buildEmptyMainTrack();
return {
...scene,
@@ -65,7 +63,7 @@ function migrateScene({ scene }: { scene: unknown }): unknown {
(track): track is ProjectRecord =>
isRecord(track) && track.type !== "audio",
),
- main: migrateTrack({ track: mainTrack }),
+ main: migrateTrack({ track: finalMainTrack }),
audio: scene.tracks
.map((track) => migrateTrack({ track }))
.filter(
@@ -76,6 +74,17 @@ function migrateScene({ scene }: { scene: unknown }): unknown {
};
}
+function buildEmptyMainTrack(): ProjectRecord {
+ return {
+ id: crypto.randomUUID(),
+ name: "Main",
+ type: "video",
+ elements: [],
+ muted: false,
+ hidden: false,
+ };
+}
+
function findMainTrack({
tracks,
}: {