<?php //resource_metadata_3be8d462ed07b2707f77bdf4f7f49869

return [PHP_INT_MAX, static function () { return \Symfony\Component\VarExporter\Internal\Hydrator::hydrate(
    $o = [
        clone (\Symfony\Component\VarExporter\Internal\Registry::$prototypes['ApiPlatform\\Core\\Metadata\\Resource\\ResourceMetadata'] ?? \Symfony\Component\VarExporter\Internal\Registry::p('ApiPlatform\\Core\\Metadata\\Resource\\ResourceMetadata')),
    ],
    null,
    [
        'ApiPlatform\\Core\\Metadata\\Resource\\ResourceMetadata' => [
            'shortName' => [
                'User',
            ],
            'description' => [
                'A User for Interoperability.',
            ],
            'itemOperations' => [
                [
                    'interop_get' => [
                        'path' => '/users/{id}',
                        'method' => 'GET',
                        'security' => 'is_granted(\'interop_user_read\',object)',
                        'swagger_context' => [
                            'summary' => 'Get a User created via interoperability. You can only GET the Users that you created.',
                            'tags' => [
                                'Interoperability',
                            ],
                            'parameters' => [
                                [
                                    'name' => 'id',
                                    'type' => 'int',
                                    'required' => true,
                                    'description' => 'User\'s id in our system',
                                ],
                            ],
                        ],
                        'input' => null,
                        'output' => null,
                        'input_formats' => [
                            'jsonld' => [
                                'application/ld+json',
                            ],
                            'json' => [
                                'application/json',
                            ],
                            'xml' => [
                                'application/xml',
                                'text/xml',
                            ],
                            'html' => [
                                'text/html',
                            ],
                        ],
                        'output_formats' => [
                            'jsonld' => [
                                'application/ld+json',
                            ],
                            'json' => [
                                'application/json',
                            ],
                            'xml' => [
                                'application/xml',
                                'text/xml',
                            ],
                            'html' => [
                                'text/html',
                            ],
                        ],
                    ],
                    'interop_put' => [
                        'path' => '/users/{id}',
                        'method' => 'PUT',
                        'security' => 'is_granted(\'interop_user_update\',object)',
                        'swagger_context' => [
                            'summary' => 'Update a User created via interoperability. You can only update the Users that you created.',
                            'tags' => [
                                'Interoperability',
                            ],
                        ],
                        'input' => null,
                        'output' => null,
                        'input_formats' => [
                            'jsonld' => [
                                'application/ld+json',
                            ],
                            'json' => [
                                'application/json',
                            ],
                            'xml' => [
                                'application/xml',
                                'text/xml',
                            ],
                            'html' => [
                                'text/html',
                            ],
                        ],
                        'output_formats' => [
                            'jsonld' => [
                                'application/ld+json',
                            ],
                            'json' => [
                                'application/json',
                            ],
                            'xml' => [
                                'application/xml',
                                'text/xml',
                            ],
                            'html' => [
                                'text/html',
                            ],
                        ],
                    ],
                ],
            ],
            'collectionOperations' => [
                [
                    'interop_get' => [
                        'method' => 'GET',
                        'security' => 'is_granted(\'reject\',object)',
                        'swagger_context' => [
                            'summary' => 'Not permitted',
                            'tags' => [
                                'Interoperability',
                            ],
                        ],
                        'input' => null,
                        'output' => null,
                        'input_formats' => [
                            'jsonld' => [
                                'application/ld+json',
                            ],
                            'json' => [
                                'application/json',
                            ],
                            'xml' => [
                                'application/xml',
                                'text/xml',
                            ],
                            'html' => [
                                'text/html',
                            ],
                        ],
                        'output_formats' => [
                            'jsonld' => [
                                'application/ld+json',
                            ],
                            'json' => [
                                'application/json',
                            ],
                            'xml' => [
                                'application/xml',
                                'text/xml',
                            ],
                            'html' => [
                                'text/html',
                            ],
                        ],
                    ],
                    'interop_post' => [
                        'method' => 'POST',
                        'security_post_denormalize' => 'is_granted(\'interop_user_create\',object)',
                        'swagger_context' => [
                            'summary' => 'Create a User created via interoperability. If a User with the same email already exists in our database, we will attache this account and not create a new one.',
                            'tags' => [
                                'Interoperability',
                            ],
                            'parameters' => [
                                [
                                    'name' => 'givenName',
                                    'type' => 'string',
                                    'required' => true,
                                    'description' => 'User\'s given name!',
                                ],
                                [
                                    'name' => 'familyName',
                                    'type' => 'string',
                                    'required' => true,
                                    'description' => 'User\'s family name',
                                ],
                                [
                                    'name' => 'email',
                                    'type' => 'string',
                                    'required' => true,
                                    'description' => 'User\'s email',
                                ],
                                [
                                    'name' => 'password',
                                    'type' => 'string',
                                    'required' => true,
                                    'description' => 'Clear version of the password',
                                ],
                                [
                                    'name' => 'gender',
                                    'type' => 'int',
                                    'enum' => [
                                        1,
                                        2,
                                        3,
                                    ],
                                    'required' => true,
                                    'description' => 'User\'s gender (1 : female, 2 : male, 3 : other)',
                                ],
                                [
                                    'name' => 'newsSubscription',
                                    'type' => 'boolean',
                                    'required' => false,
                                    'description' => 'News subscription',
                                ],
                                [
                                    'name' => 'externalId',
                                    'type' => 'string',
                                    'required' => false,
                                    'description' => 'External id of the user (the id used in the partner\'s system)',
                                ],
                                [
                                    'name' => 'previouslyExisting',
                                    'type' => 'boolean',
                                    'required' => false,
                                    'description' => 'ONLY GET - If the User has been attached to an already existing User not created by SSO',
                                ],
                                [
                                    'name' => 'communityId',
                                    'type' => 'int',
                                    'required' => false,
                                    'description' => 'The id of the community to associate to the user.',
                                ],
                            ],
                        ],
                        'input' => null,
                        'output' => null,
                        'input_formats' => [
                            'jsonld' => [
                                'application/ld+json',
                            ],
                            'json' => [
                                'application/json',
                            ],
                            'xml' => [
                                'application/xml',
                                'text/xml',
                            ],
                            'html' => [
                                'text/html',
                            ],
                        ],
                        'output_formats' => [
                            'jsonld' => [
                                'application/ld+json',
                            ],
                            'json' => [
                                'application/json',
                            ],
                            'xml' => [
                                'application/xml',
                                'text/xml',
                            ],
                            'html' => [
                                'text/html',
                            ],
                        ],
                    ],
                ],
            ],
            'graphql' => [
                [
                    'item_query' => [],
                    'collection_query' => [],
                    'delete' => [],
                    'update' => [],
                    'create' => [],
                ],
            ],
            'attributes' => [
                [
                    'force_eager' => false,
                    'normalization_context' => [
                        'groups' => [
                            'readUser',
                        ],
                        'enable_max_depth' => 'true',
                    ],
                    'denormalization_context' => [
                        'groups' => [
                            'writeUser',
                        ],
                    ],
                    'route_prefix' => '/interoperability',
                    'input' => null,
                    'output' => null,
                ],
            ],
        ],
    ],
    $o[0],
    []
); }];
