import { ServerResponse } from "@/lib/actions";
import { mkdir, writeFile } from "fs/promises";

export default async function writeFiles(
  files: File[],
  path: string,
  projectDir: string,
) {
  try {
    if (path) {
      await mkdir(`${projectDir}/${path}`, { recursive: true });
    }

    for (const file of files) {
      const fileDir = `${projectDir}/${path}/${file.name}`;

      await writeFile(fileDir, Buffer.from(await file.arrayBuffer()));
    }

    return ServerResponse({ operation: true, message: "Files written" });
  } catch (error) {
    return ServerResponse({
      operation: true,
      message: "Error writing files",
      data: error,
    });
  }
}
