import api from '../config/api';
import { JobMedia } from '../types';

export function getMediaUrl(fileUrl: string): string {
  if (!fileUrl) return '';
  if (fileUrl.startsWith('http://') || fileUrl.startsWith('https://')) return fileUrl;
  const baseUrl = (api.defaults.baseURL || '').replace(/\/api\/?$/, '');
  return `${baseUrl}${fileUrl}`;
}

export const mediaService = {
  async list(jobId: number): Promise<JobMedia[]> {
    const response = await api.get(`/media/job/${jobId}`);
    return response.data.data || response.data.media || response.data || [];
  },

  async upload(
    jobId: number,
    formData: FormData
  ): Promise<JobMedia> {
    const response = await api.post(`/media/job/${jobId}`, formData, {
      headers: { 'Content-Type': 'multipart/form-data' },
    });
    return response.data;
  },
};
