<?php

namespace Solspace\Freeform\Bundles\GraphQL\Arguments;

use craft\gql\base\Arguments;
use GraphQL\Type\Definition\Type;

class FormArguments extends Arguments
{
    public static function getArguments(): array
    {
        return [
            'id' => [
                'name' => 'id',
                'type' => Type::listOf(Type::int()),
                'description' => 'Filter forms by their IDs',
            ],
            'handle' => [
                'name' => 'handle',
                'type' => Type::listOf(Type::string()),
                'description' => 'Filter forms by their handles',
            ],
            'uid' => [
                'name' => 'uid',
                'type' => Type::listOf(Type::string()),
                'description' => 'Filter forms by their UIDs',
            ],
            'limit' => [
                'name' => 'limit',
                'type' => Type::int(),
                'description' => 'Limit the amount of returned forms',
            ],
            'offset' => [
                'name' => 'offset',
                'type' => Type::int(),
                'description' => 'Offset the returned forms',
            ],
            'orderBy' => [
                'name' => 'orderBy',
                'type' => Type::string(),
                'description' => 'Order forms by a specific property',
            ],
            'sort' => [
                'name' => 'sort',
                'type' => Type::string(),
                'description' => 'Sort the forms by `asc` or `desc` order',
            ],
            'siteIds' => [
                'name' => 'siteIds',
                'type' => Type::listOf(Type::int()),
                'description' => 'Filter forms by their site IDs',
            ],
            'siteHandles' => [
                'name' => 'siteHandles',
                'type' => Type::listOf(Type::string()),
                'description' => 'Filter forms by their site handles',
            ],
        ];
    }
}
