kuvalda-file/schema/FileConfigMutationType.php

66 lines
2.5 KiB
PHP
Raw Normal View History

2024-11-20 15:56:54 +03:00
<?php
namespace dominion\file\schema;
use GraphQL\Type\Definition\ObjectType;
use GraphQL\Type\Definition\Type;
use dominion\file\Config;
class FileConfigMutationType extends ObjectType
{
public function __construct()
{
$config = [
'fields' => function() {
return [
'save' => [
'type' => Type::int(),
'description' => 'Сохранение наклейки',
'args' => [
'module' => Type::nonNull(Type::string()),
'type' => Type::nonNull(Type::string()),
'height' => Type::nonNull(Type::int()),
'width' => Type::nonNull(Type::int()),
'name' => Type::string(),
'crop' => Type::boolean(),
'cut' => Type::boolean(),
'addBorder' => Type::boolean(),
'border_top' => Type::int(),
'border_right' => Type::int(),
'border_left' => Type::int(),
'border_bottom' => Type::int(),
'quality' => Type::int(),
'file' => Type::string(),
'fileName' => Type::string(),
'fileDelete' => Type::boolean(),
],
'resolve' => function(Config $root, $args) {
return $root->customSave($args);
},
],
'delete' => [
'type' => Type::int(),
'description' => 'Удаление',
'resolve' => function(Config $root, $args) {
return $root->delete();
},
],
'resize' => [
'type' => Types::fileConfigResizeStep(),
'description' => 'Сохранение наклейки',
'args' => [
'all' => Type::boolean(),
'fileId' => Type::int()
],
'resolve' => function(Config $root, $args) {
return $root->resize($args);
},
],
];
}
];
parent::__construct($config);
}
}