Skip to content

zestic/app-library

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zestic App Library

Authentication

GraphQL

In your App namespace, create the following directory structure

- GraphQL
    - Input
    - Mutation
        - Operation
        - Output
    - Object
    - Query
        - Operation
        - Output

Then add these files App\GraphQL\Mutation\MutationType

<?php
declare(strict_types=1);

namespace App\GraphQL\Mutation;

use App\GraphQL\Mutation\Operation\UpdateSomethingMutation;
use GraphQL\Type\Definition\ObjectType;

final class MutationType extends ObjectType
{
    public function __construct()
    {
        parent::__construct(
            [
                'name'   => 'Mutation',
                'fields' => [
                    'updateSomething' => new UpdateSomethingMutation(),
                ],
            ]
        );
    }
}

App\GraphQL\Mutation\QueryType

<?php
declare(strict_types=1);

namespace App\GraphQL\Query;

use App\GraphQL\Query\Operation\PingQuery;
use GraphQL\Type\Definition\ObjectType;

final class QueryType extends ObjectType
{
    public function __construct()
    {
        parent::__construct(
            [
                'name'   => 'Query',
                'fields' => [
                    'ping'                    => new PingQuery(),
                ],
            ],
        );
    }
}

App\GraphQL\Type\GraphQLType

<?php
declare(strict_types=1);

namespace App\GraphQL\Type;

use App\GraphQL\Type;

final class GraphQLType extends Type
{

}

Add

    public static function userInfo()
    {
        return self::$userInfo ?: (self::$userInfo = new UserInfoObject());
    }

Pagination

GraphQL

There is a Paginate input (paginate is a verb) and a Pagination output (pagination is a noun).

The inputs and outputs are set up to work with the React Virtualized Infinite Loader

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages