import { PoolConnection, ResultSetHeader } from "mysql2/promise";

type UpdateProjectProps = {
  name: number;
  state?: string | number;
  isRedirected?: string;
};
export async function updateProject(
  con: PoolConnection,
  { name, state, isRedirected }: UpdateProjectProps,
) {
  let column: string;
  let value: string | number;

  if (typeof state === "number") {
    column = "SSL_REDIRECT";
    value = state;
  }

  if (isRedirected) {
    column = "REDIRECTS_TO";
    value = isRedirected;
  }

  const [result] = await con.query<ResultSetHeader>(
    `UPDATE DOMAINS SET ${column} = ? WHERE NAME = ?`,
    [value, name],
  );

  return {
    operation: result.affectedRows > 0,
  };
}
