Sources, assets with keyset search, analyses, segments, uploads, collections with re-clustering, people with consent and complete biometric removal, marks, brand kits, projects with versioned plans, renders with atomic claims, publications, metrics and the funnel. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0138YqDj3ttfayRwuMKKrqVj
33 lines
1.2 KiB
TypeScript
33 lines
1.2 KiB
TypeScript
import type { PrismaClient } from "./client.js";
|
|
import { createMediaCollectionRepos } from "./media-collections.js";
|
|
import { createMediaLibraryRepos } from "./media-library.js";
|
|
import { createMediaPeopleRepos } from "./media-people.js";
|
|
import { createMediaProjectRepos } from "./media-projects.js";
|
|
import { createMediaPublishingRepos } from "./media-publishing.js";
|
|
import { createMediaUploadRepos } from "./media-uploads.js";
|
|
|
|
export * from "./media-collections.js";
|
|
export * from "./media-library.js";
|
|
export * from "./media-people.js";
|
|
export * from "./media-projects.js";
|
|
export * from "./media-publishing.js";
|
|
export * from "./media-shared.js";
|
|
export * from "./media-uploads.js";
|
|
|
|
/*
|
|
* Media Studio persistence. Every function takes the space explicitly and never reads
|
|
* or writes another space's rows; a foreign or missing id is an IsolationError.
|
|
*/
|
|
export function createMediaRepos(prisma: PrismaClient) {
|
|
return {
|
|
...createMediaLibraryRepos(prisma),
|
|
...createMediaUploadRepos(prisma),
|
|
...createMediaCollectionRepos(prisma),
|
|
...createMediaPeopleRepos(prisma),
|
|
...createMediaProjectRepos(prisma),
|
|
...createMediaPublishingRepos(prisma),
|
|
};
|
|
}
|
|
|
|
export type MediaRepos = ReturnType<typeof createMediaRepos>;
|