<?php namespace Depicter\Controllers\Ajax; use Averta\Core\Utility\Data; use Averta\WordPress\Utility\Sanitize; use Psr\Http\Message\ResponseInterface; use WPEmerge\Requests\RequestInterface; class DataSourceAjaxController { /** * List available asset groups for a dataSource * * @param RequestInterface $request * @param $view * * @return ResponseInterface */ public function getAssets( RequestInterface $request, $view ){ $args = []; $args['type'] = Sanitize::textfield( $request->query( 'type' ) ) ?: 'wpPost'; if( ! Data::isNullOrEmptyStr( $request->query( 'postType' ) ) ){ $args['postType'] = Sanitize::textfield( $request->query( 'postType' ) ); } else { $args['postType'] = \Depicter::dataSource()->getPostTypeByType( $args['type'] ); } return \Depicter::json( [ 'hits' => \Depicter::dataSource()->getByType( $args['type'] )->getAssets( $args ) ] )->withStatus(200); } }