// src/routes/api/video-lists/+server.ts
import { json, error } from '@sveltejs/kit';
import pool from '$lib/server/database';

export const GET: import('./$types').RequestHandler = async () => {
	console.log('[API] video-lists: 목록 조회 요청 수신');
	const client = await pool.connect();

	try {
		// ⭐ [수정] SELECT 구문에 "WorkerID"를 추가합니다.
		const allVideosRes = await client.query(
			'SELECT "Index", "LocationFile", "MovieType", "original_path", "WorkerID" FROM public."TumerMovie" ORDER BY "Index" DESC'
		);
		const allVideos = allVideosRes.rows;

		// [수정] 올바른 MovieType 값으로 데이터를 정확히 분류합니다.
		const originals = allVideos.filter((v) => v.MovieType === 2); // 원본은 MovieType 2
		const crops = allVideos.filter((v) => v.MovieType === 1); // Crop은 MovieType 1
		const segments = allVideos.filter((v) => v.MovieType === 0); // 구간은 MovieType 0

		console.log(
			`[API] video-lists: 원본 ${originals.length}개, Crop ${crops.length}개, 구간 ${segments.length}개 조회 완료.`
		);

		return json({
			originals,
			crops,
			segments // 이제 'segments' 배열의 객체에 "WorkerID"가 포함됩니다.
		});
	} catch (err: any) {
		console.error('[API] video-lists: DB 조회 중 오류 발생:', err);
		throw error(500, '데이터베이스에서 동영상 목록을 가져오는 데 실패했습니다.');
	} finally {
		client.release();
	}
};