summaryrefslogtreecommitdiff
path: root/apps/web/src/services/storage/migrations/base.ts
diff options
context:
space:
mode:
authorMaze Winther <mazewinther@gmail.com>2026-04-22 02:41:18 +0200
committerMaze Winther <mazewinther@gmail.com>2026-04-22 02:41:18 +0200
commitf5f31b43df9ef46f1afdd63ba759b2f9bd80e7a3 (patch)
tree779132620064669a21c5fd9a787ba28187c0384e /apps/web/src/services/storage/migrations/base.ts
parenta709af0059dae4702b52197f34af85a817c59a6a (diff)
downloadopencut-f5f31b43df9ef46f1afdd63ba759b2f9bd80e7a3.tar.gz
refactor: migration run() and pure v1-to-v2 transform
Diffstat (limited to 'apps/web/src/services/storage/migrations/base.ts')
-rw-r--r--apps/web/src/services/storage/migrations/base.ts25
1 files changed, 16 insertions, 9 deletions
diff --git a/apps/web/src/services/storage/migrations/base.ts b/apps/web/src/services/storage/migrations/base.ts
index 13418f98..0130c95e 100644
--- a/apps/web/src/services/storage/migrations/base.ts
+++ b/apps/web/src/services/storage/migrations/base.ts
@@ -1,9 +1,16 @@
-import type { MigrationResult, ProjectRecord } from "./transformers/types";
-
-export abstract class StorageMigration {
- abstract from: number;
- abstract to: number;
- abstract transform(
- project: ProjectRecord,
- ): Promise<MigrationResult<ProjectRecord>>;
-}
+import type { MigrationResult, ProjectRecord } from "./transformers/types";
+
+export interface StorageMigrationRunArgs {
+ projectId: string;
+ project: ProjectRecord;
+}
+
+export abstract class StorageMigration {
+ abstract from: number;
+ abstract to: number;
+
+ abstract run({
+ projectId,
+ project,
+ }: StorageMigrationRunArgs): Promise<MigrationResult<ProjectRecord>>;
+}