<?php
/**
 * Bulk legacy job controller.
 *
 * @package SmartyPress_AI_Engine
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * REST controller for fast legacy bulk generation.
 */
class SmartyPress_AI_Content_Generator_Bulk_Legacy_Job_Controller {

	/**
	 * Bulk generator facade.
	 *
	 * @var SmartyPress_AI_Bulk_Post_Generator
	 */
	private $bulk_generator;

	/**
	 * Constructor.
	 *
	 * @param SmartyPress_AI_Bulk_Post_Generator $bulk_generator Bulk generator facade.
	 */
	public function __construct( SmartyPress_AI_Bulk_Post_Generator $bulk_generator ) {
		$this->bulk_generator = $bulk_generator;
	}

	public function generate_bulk_posts_endpoint( $request ) {
		return $this->bulk_generator->generate_bulk_posts_endpoint( $request );
	}

	public function generate_single_post_endpoint( $request ) {
		return $this->bulk_generator->generate_single_post_endpoint( $request );
	}

	public function get_prompts_endpoint( $request ) {
		return $this->bulk_generator->get_prompts_endpoint( $request );
	}

	public function create_bulk_job_endpoint( $request ) {
		return $this->bulk_generator->create_bulk_job_endpoint( $request );
	}

	public function estimate_bulk_job_endpoint( $request ) {
		return $this->bulk_generator->estimate_bulk_job_endpoint( $request );
	}

	public function get_bulk_job_endpoint( $request ) {
		return $this->bulk_generator->get_bulk_job_endpoint( $request );
	}

	public function process_bulk_job_endpoint( $request ) {
		return $this->bulk_generator->process_bulk_job_endpoint( $request );
	}

	public function bulk_job_action_endpoint( $request ) {
		return $this->bulk_generator->bulk_job_action_endpoint( $request );
	}
}
