22 lines
613 B
TypeScript
22 lines
613 B
TypeScript
import 'server-only';
|
|
|
|
import { createVideo } from '@/entities/video/model/video';
|
|
import type { VideoDraft } from '@/entities/video/model/types';
|
|
import { readPrimitiveDb, writePrimitiveDb } from '@/shared/db/primitiveJsonDb';
|
|
|
|
export async function listVideos() {
|
|
const db = await readPrimitiveDb();
|
|
return [...db.videos].sort((left, right) => right.createdAt.localeCompare(left.createdAt));
|
|
}
|
|
|
|
export async function addVideo(draft: VideoDraft) {
|
|
const video = createVideo(draft);
|
|
|
|
await writePrimitiveDb((current) => ({
|
|
...current,
|
|
videos: [video, ...current.videos],
|
|
}));
|
|
|
|
return video;
|
|
}
|