49 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace dominion\settings\schema;
 | 
						|
 | 
						|
use GraphQL\Type\Definition\Type;
 | 
						|
use dominion\api\GraphQLSchemaPagination;
 | 
						|
use dominion\settings\Settings;
 | 
						|
use dominion\api\GraphQLPagination;
 | 
						|
 | 
						|
 | 
						|
class SettingsPaginationType extends GraphQLSchemaPagination
 | 
						|
{
 | 
						|
 | 
						|
    public function __construct()
 | 
						|
    {
 | 
						|
        $config = [
 | 
						|
            'fields' => function(){
 | 
						|
                $output = $this->getCustomFields();
 | 
						|
                $output['data'] = [
 | 
						|
                    'type' => Type::listOf(Types::settings()),
 | 
						|
                    'description' => 'Настройки',
 | 
						|
                    'args' => GraphQLPagination::argumentModify([
 | 
						|
                        'id' => [
 | 
						|
                            'type' => Type::int(),
 | 
						|
                            'description' => 'Id',
 | 
						|
                        ],
 | 
						|
                        'code' => [
 | 
						|
                            'type' => Type::string(),
 | 
						|
                            'description' => 'символьный код',
 | 
						|
                            'modify' => true,
 | 
						|
                            'modifyOption' => ['in'],
 | 
						|
                        ],
 | 
						|
                        'sort' => [
 | 
						|
                            'type' => Type::string(),
 | 
						|
                            'description' => 'Сортировка (пример "isNew_asc" или "isVisible_desc")',
 | 
						|
                        ],
 | 
						|
                    ]),
 | 
						|
                    'resolve' => function($root, $args){
 | 
						|
                        return Settings::getData($args, $root);
 | 
						|
                    }
 | 
						|
                ];
 | 
						|
                return $output;
 | 
						|
            }
 | 
						|
        ];
 | 
						|
        parent::__construct($config);
 | 
						|
    }
 | 
						|
 | 
						|
}
 |