import type { ConnectedAccount, GeneratedPost } from "@/types/workflow";
import { validateAccountsForPublish } from "@/lib/social/token-validation";

export function validatePostPublish(
  post: GeneratedPost,
  accounts: ConnectedAccount[],
  projectStatus: string,
): { ok: true } | { ok: false; message: string } {
  if (projectStatus === "paused") {
    return { ok: false, message: "Project is paused. Activate it before publishing." };
  }

  if (!post.platforms.length) {
    return { ok: false, message: "No platforms selected for this post." };
  }

  return validateAccountsForPublish(accounts, post.platforms, { allowServerStored: true });
}
