import { getDictionary } from "@/dictionaries";
import { getLocale } from "@/lib/locales";
import { ConvertFormdataToJSON, ServerResponse } from "@/lib/actions";
import { scan_dir } from "@/services/util";
import { join } from "path";

export const fetchVersions = async (formData?: FormData) => {
  const dict = await getDictionary(getLocale());

  const { last = false } = ConvertFormdataToJSON(formData);

  const versions = await scan_dir(join("src", "versions"), {
    orderBy: { key: "name", mode: "desc" },
  });

  if (versions.length === 0) {
    return ServerResponse({
      operation: false,
      message: dict.alerts.fetch_versions.error,
    });
  }

  return ServerResponse({
    operation: true,
    message: dict.alerts.fetch_versions.success,
    data: last ? versions[0] : versions,
  });
};
