import { Request, Response } from "express";
import { sendSuccess } from "../../common/utils/api-response";
import * as service from "./task-document.service";

export async function uploadDocuments(req: Request, res: Response) {
  const files = (req.files as Express.Multer.File[]) ?? [];
  const result = await service.uploadDocuments(req.user!.id, req.params.taskId, files);
  sendSuccess(res, result, 201);
}

export async function getDocuments(req: Request, res: Response) {
  const result = await service.getDocuments(req.user!.id, req.params.taskId);
  sendSuccess(res, result);
}

export async function deleteDocument(req: Request, res: Response) {
  const result = await service.deleteDocument(req.user!.id, req.params.taskId, req.params.documentId);
  sendSuccess(res, result);
}

// ── ADMIN ──
export async function adminUploadDocuments(req: Request, res: Response) {
  const files = (req.files as Express.Multer.File[]) ?? [];
  const result = await service.adminUploadDocuments(req.user!.id, req.params.taskId, files);
  sendSuccess(res, result, 201);
}

export async function adminDeleteDocument(req: Request, res: Response) {
  const result = await service.adminDeleteDocument(req.user!.id, req.params.taskId, req.params.documentId);
  sendSuccess(res, result);
}