mirror of
https://github.com/YuzuZensai/Pien-Studio.git
synced 2026-09-02 14:18:35 +00:00
34 lines
946 B
TypeScript
34 lines
946 B
TypeScript
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,
|
|
};
|