<?php
namespace ElementorPro\Modules\Forms\Submissions\Data;
use ElementorPro\Data\Base\Controller as Controller_Base;
use ElementorPro\Modules\Forms\Submissions\Database\Query;
use ElementorPro\Modules\Forms\Submissions\Database\Entities\Form_Snapshot;
use ElementorPro\Modules\Forms\Submissions\Database\Repositories\Form_Snapshot_Repository;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
class Forms_Controller extends Controller_Base {
public function get_name() {
return 'forms';
}
public function get_items( $request ) {
$forms = Form_Snapshot_Repository::instance()->all();
// For now return only as "options"
return [
'data' => $forms->map(function ( Form_Snapshot $form ) {
return [
'label' => $form->get_label(),
'value' => $form->get_key(),
];
})->values(),
'meta' => [],
];
}
public function register_endpoints() {
//
}
protected function register_internal_endpoints() {
// Register as internal to remove the default endpoint generated by the base controller.
$this->register_endpoint( Endpoints\Forms_Index::class );
}
public function get_permission_callback( $request ) {
return current_user_can( 'manage_options' );
}
}