mirror of
https://github.com/YuzuZensai/Pien-Studio.git
synced 2026-09-02 14:18:35 +00:00
♻️ refactor!: massive refactor
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
import type { Project } from "@pien-studio/types";
|
||||
import {
|
||||
cleanupOrphanAssets,
|
||||
deleteProject,
|
||||
duplicateProject,
|
||||
getProjectById,
|
||||
loadProjects,
|
||||
releaseProjectObjectUrls,
|
||||
upsertProject,
|
||||
} from "@pien-studio/storage";
|
||||
|
||||
export type ProjectRepository = {
|
||||
listProjects: () => Promise<Project[]>;
|
||||
getProject: (projectId: string) => Promise<Project | null>;
|
||||
upsertProject: (project: Project) => Promise<void>;
|
||||
deleteProject: (projectId: string) => Promise<void>;
|
||||
duplicateProject: (projectId: string) => Promise<Project | null>;
|
||||
cleanupAssets: () => Promise<number>;
|
||||
releaseObjectUrls: (
|
||||
project: Project,
|
||||
keepAssetIds?: Iterable<string>,
|
||||
) => void;
|
||||
};
|
||||
|
||||
export const localProjectRepository: ProjectRepository = {
|
||||
listProjects: loadProjects,
|
||||
getProject: getProjectById,
|
||||
upsertProject,
|
||||
deleteProject,
|
||||
duplicateProject,
|
||||
cleanupAssets: cleanupOrphanAssets,
|
||||
releaseObjectUrls: releaseProjectObjectUrls,
|
||||
};
|
||||
Reference in New Issue
Block a user