Commit 09901c4c authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Supression des éléments abandonnés.

parent 21783897
Loading
Loading
Loading
Loading
Loading
+1 −152
Original line number Diff line number Diff line
@@ -4,25 +4,18 @@ return [
    'service_manager' => [
        'factories' => [
            \SygalApi\V1\Rest\Ping\PingResource::class => \SygalApi\V1\Rest\Ping\PingResourceFactory::class,
            \SygalApi\V1\Rest\Diplomation\DiplomationResource::class => \SygalApi\V1\Rest\Diplomation\DiplomationResourceFactory::class,
            \SygalApi\V1\Rest\InscriptionAdministrative\InscriptionAdministrativeResource::class => \SygalApi\V1\Rest\InscriptionAdministrative\InscriptionAdministrativeResourceFactory::class,
            \SygalApi\V1\Rest\Doctorant\DoctorantResource::class => \SygalApi\V1\Rest\Doctorant\DoctorantResourceFactory::class,
        ],
    ],
    'openapi_content_validation' => [
        // 'controller' => 'validator'
        'SygalApi\V1\Rest\InscriptionAdministrative\Controller' => 'SygalApi\V1\Rest\InscriptionAdministrative\OpenApiValidator',
        'SygalApi\V1\Rest\Doctorant\Controller' => 'SygalApi\V1\Rest\Doctorant\OpenApiValidator',
    ],
    'openapi_validator_specs' => [
        // 'validator' => [config]
        'SygalApi\V1\Rest\InscriptionAdministrative\OpenApiValidator' => [
            'oas_file_format' => 'yaml',
            'oas_file_path' => __DIR__ . '/schema/inscription/doctorant-api-v1.yaml',
        ],
        'SygalApi\V1\Rest\Doctorant\OpenApiValidator' => [
            'oas_file_format' => 'yaml',
            'oas_file_path' => __DIR__ . '/schema/doctorant/doctorant-api-v1.yaml',
            'oas_file_path' => __DIR__ . '/schema/inscription_administrative/doctorant-api-v1.yaml',
        ],
    ],
    'router' => [
@@ -36,15 +29,6 @@ return [
                    ],
                ],
            ],
            'api.rest.diplomation' => [
                'type' => 'Segment',
                'options' => [
                    'route' => '/api[/v:version]/diplomation[/:diplomation_id]',
                    'defaults' => [
                        'controller' => 'SygalApi\\V1\\Rest\\Diplomation\\Controller',
                    ],
                ],
            ],
            'api.rest.inscription' => [
                'type' => 'Segment',
                'options' => [
@@ -54,15 +38,6 @@ return [
                    ],
                ],
            ],
            'api.rest.doctorant' => [
                'type' => 'Segment',
                'options' => [
                    'route' => '/api[/v:version]/doctorant[/:doctorant_id]',
                    'defaults' => [
                        'controller' => 'SygalApi\\V1\\Rest\\Doctorant\\Controller',
                    ],
                ],
            ],
        ],
    ],
    'api-tools-rest' => [
@@ -88,28 +63,6 @@ return [
            'collection_class' => \SygalApi\V1\Rest\Ping\PingCollection::class,
            'service_name' => 'Ping',
        ],
        'SygalApi\\V1\\Rest\\Diplomation\\Controller' => [
            'listener' => \SygalApi\V1\Rest\Diplomation\DiplomationResource::class,
            'route_name' => 'api.rest.diplomation',
            'route_identifier_name' => 'diplomation_id',
            'collection_name' => 'diplomation',
            'entity_http_methods' => [
                0 => 'GET',
                1 => 'PATCH',
                2 => 'PUT',
                3 => 'DELETE',
            ],
            'collection_http_methods' => [
                0 => 'GET',
                1 => 'POST',
            ],
            'collection_query_whitelist' => [],
            'page_size' => 25,
            'page_size_param' => null,
            'entity_class' => \SygalApi\V1\Rest\Diplomation\DiplomationEntity::class,
            'collection_class' => \SygalApi\V1\Rest\Diplomation\DiplomationCollection::class,
            'service_name' => 'Diplomation',
        ],
        'SygalApi\\V1\\Rest\\InscriptionAdministrative\\Controller' => [
            'listener' => \SygalApi\V1\Rest\InscriptionAdministrative\InscriptionAdministrativeResource::class,
            'route_name' => 'api.rest.inscription',
@@ -132,35 +85,11 @@ return [
            'collection_class' => \SygalApi\V1\Rest\InscriptionAdministrative\InscriptionAdministrativeCollection::class,
            'service_name' => 'InscriptionAdministrative',
        ],
        'SygalApi\\V1\\Rest\\Doctorant\\Controller' => [
            'listener' => \SygalApi\V1\Rest\Doctorant\DoctorantResource::class,
            'route_name' => 'api.rest.doctorant',
            'route_identifier_name' => 'doctorant_id',
            'collection_name' => 'doctorant',
            'entity_http_methods' => [
                0 => 'GET',
                1 => 'PATCH',
                2 => 'PUT',
                3 => 'DELETE',
            ],
            'collection_http_methods' => [
                0 => 'GET',
                1 => 'POST',
            ],
            'collection_query_whitelist' => [],
            'page_size' => 25,
            'page_size_param' => null,
            'entity_class' => \SygalApi\V1\Rest\Doctorant\DoctorantEntity::class,
            'collection_class' => \SygalApi\V1\Rest\Doctorant\DoctorantCollection::class,
            'service_name' => 'Doctorant',
        ],
    ],
    'api-tools-content-negotiation' => [
        'controllers' => [
            'SygalApi\\V1\\Rest\\Ping\\Controller' => 'Json',
            'SygalApi\\V1\\Rest\\InscriptionAdministrative\\Controller' => 'Json',
            'SygalApi\\V1\\Rest\\Doctorant\\Controller' => 'Json',
            'SygalApi\\V1\\Rest\\Diplomation\\Controller' => 'Json',
        ],
        'accept_whitelist' => [
            'SygalApi\\V1\\Rest\\Ping\\Controller' => [
@@ -171,32 +100,16 @@ return [
                0 => 'application/vnd.api.v1+json',
                2 => 'application/json',
            ],
            'SygalApi\\V1\\Rest\\Doctorant\\Controller' => [
                0 => 'application/vnd.api.v1+json',
                2 => 'application/json',
            ],
            'SygalApi\\V1\\Rest\\Diplomation\\Controller' => [
                0 => 'application/vnd.api.v1+json',
                2 => 'application/json',
            ],
        ],
        'content_type_whitelist' => [
            'SygalApi\\V1\\Rest\\Ping\\Controller' => [
                0 => 'application/vnd.api.v1+json',
                1 => 'application/json',
            ],
            'SygalApi\\V1\\Rest\\Diplomation\\Controller' => [
                0 => 'application/vnd.api.v1+json',
                1 => 'application/json',
            ],
            'SygalApi\\V1\\Rest\\InscriptionAdministrative\\Controller' => [
                0 => 'application/vnd.api.v1+json',
                1 => 'application/json',
            ],
            'SygalApi\\V1\\Rest\\Doctorant\\Controller' => [
                0 => 'application/vnd.api.v1+json',
                1 => 'application/json',
            ],
        ],
    ],
    'api-tools-hal' => [
@@ -213,18 +126,6 @@ return [
                'route_identifier_name' => 'ping_id',
                'is_collection' => true,
            ],
            \SygalApi\V1\Rest\Diplomation\DiplomationEntity::class => [
                'entity_identifier_name' => 'id',
                'route_name' => 'api.rest.diplomation',
                'route_identifier_name' => 'diplomation_id',
                'hydrator' => \Laminas\Hydrator\ArraySerializableHydrator::class,
            ],
            \SygalApi\V1\Rest\Diplomation\DiplomationCollection::class => [
                'entity_identifier_name' => 'id',
                'route_name' => 'api.rest.diplomation',
                'route_identifier_name' => 'diplomation_id',
                'is_collection' => true,
            ],
            \SygalApi\V1\Rest\InscriptionAdministrative\InscriptionAdministrativeEntity::class => [
                'entity_identifier_name' => 'id',
                'route_name' => 'api.rest.inscription',
@@ -237,35 +138,15 @@ return [
                'route_identifier_name' => 'inscription_id',
                'is_collection' => true,
            ],
            \SygalApi\V1\Rest\Doctorant\DoctorantEntity::class => [
                'entity_identifier_name' => 'id',
                'route_name' => 'api.rest.doctorant',
                'route_identifier_name' => 'doctorant_id',
                'hydrator' => \Laminas\Hydrator\ArraySerializableHydrator::class,
            ],
            \SygalApi\V1\Rest\Doctorant\DoctorantCollection::class => [
                'entity_identifier_name' => 'id',
                'route_name' => 'api.rest.doctorant',
                'route_identifier_name' => 'doctorant_id',
                'is_collection' => true,
            ],
        ],
    ],
    'api-tools-content-validation' => [
        'SygalApi\\V1\\Rest\\Diplomation\\Controller' => [
            'input_filter' => 'SygalApi\\V1\\Rest\\Diplomation\\Validator',
        ],
        'SygalApi\\V1\\Rest\\InscriptionAdministrative\\Controller' => [
            'input_filter' => 'SygalApi\\V1\\Rest\\InscriptionAdministrative\\Validator',
        ],
        'SygalApi\\V1\\Rest\\Doctorant\\Controller' => [
            'input_filter' => 'SygalApi\\V1\\Rest\\Doctorant\\Validator',
        ],
    ],
    'input_filter_specs' => [
        'SygalApi\\V1\\Rest\\Diplomation\\Validator' => [],
        'SygalApi\\V1\\Rest\\InscriptionAdministrative\\Validator' => [],
        'SygalApi\\V1\\Rest\\Doctorant\\Validator' => [],
    ],
    'api-tools-mvc-auth' => [
        'authorization' => [
@@ -285,22 +166,6 @@ return [
                    'DELETE' => false,
                ],
            ],
            'SygalApi\\V1\\Rest\\Diplomation\\Controller' => [
                'collection' => [
                    'GET' => true,
                    'POST' => true,
                    'PUT' => false,
                    'PATCH' => false,
                    'DELETE' => false,
                ],
                'entity' => [
                    'GET' => true,
                    'POST' => false,
                    'PUT' => true,
                    'PATCH' => true,
                    'DELETE' => true,
                ],
            ],
            'SygalApi\\V1\\Rest\\InscriptionAdministrative\\Controller' => [
                'collection' => [
                    'GET' => true,
@@ -317,22 +182,6 @@ return [
                    'DELETE' => true,
                ],
            ],
            'SygalApi\\V1\\Rest\\Doctorant\\Controller' => [
                'collection' => [
                    'GET' => true,
                    'POST' => true,
                    'PUT' => false,
                    'PATCH' => false,
                    'DELETE' => false,
                ],
                'entity' => [
                    'GET' => true,
                    'POST' => false,
                    'PUT' => true,
                    'PATCH' => true,
                    'DELETE' => true,
                ],
            ],
        ],
    ],
];
+0 −222
Original line number Diff line number Diff line
openapi: '3.0.1'
info:
  description: |
    Il s'agit de l'API présentée par l'application de 3ème cycle pour gérer les échanges avec Pegase. 
    Dans cette version initiale une seul flux est géré

    __Doctorants :__ ce flux permet de pousser les apprenants-doctorants de Pegase vers l'application de 3ème cycle
  title: Connecteur 3eme cycle pour Pegase v0
  version: '0.1'
servers:
  - url: https://api.server.test/v1
paths:
  /doctorant:
   post:
      tags:
      - doctorant
      summary: Ajout/modification d'un apprenant-doctorant
      description: Ajout/modification d'un apprenant-doctorant
      operationId: creerDoctorant
      requestBody:
        description: Les informations concernant un apprenant-doctorant
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Doctorant'
      security:
      - idTokenAuth: []
      responses:
        201:
          description: Doctorant reçu
        422:
          description: invalide
        403:
          description: non autorise
        500:
          description: erreur serveur
components:
 securitySchemes:
  # Authorization: Bearer id.token.
  idTokenAuth:
    type: http
    scheme: basic
 schemas:
   Doctorant:
     type: object
     description: Les données de l'apprenant-doctorant
     required:
       - id
       - code
       - INE
       - nomDeNaissance
       - nomUsuel
       - prenom
       - genre
       - naissance
     properties:
       id:
         type: string
         description: id technique immuable Pegase de l'apprenant
       code:
         type: string
         description: le code Pegase de l'apprenant
       INE:
         type: string
         description: Le numéro INE de l'apprenant
       nomDeNaissance:
         type: string
         description: Le nom de naissance
       nomUsuel:
         type: string
         description: Le nom usuel
       prenom:
         type: string
         description: Le prénom
       deuxiemePrenom:
         type: string
         nullable: true
         description: Le deuxième prénom
       troisiemePrenom:
         type: string
         nullable: true
         description: Le troisième prénom
       prenomUsage:
         type: string
         nullable: true
         description: Le prénom d'usage (vide pour le moment)
       genre:
         type: string
         description: Les valeurs `M` ou `F` sont acceptées
       naissance:
         $ref: '#/components/schemas/Naissance'
       mailPersonnel:
         type: string
         format: email
         nullable: true
         description: Adresse de messagerie électronique personnelle
       mailUrgence:
         type: string
         format: email
         nullable: true
         description: Adresse de messagerie électronique d'urgence
       telephonePersonnel:
         type: string
         nullable: true
         description: Numéro de téléphone personnel
       telephoneUrgence:
         type: string
         nullable: true
         description: Numéro de téléphone d'urgence
       adresseFixeHorsPeriodeUniversitaire:
         description: Adresse postale hors periode universitaire
         $ref: '#/components/schemas/Adresse'
       adresseResidenceUniversitaire:
         description: Adresse postale universitaire
         $ref: '#/components/schemas/Adresse'

   Naissance:
     type: object
     required:
       - dateDeNaissance
       - paysDeNaissance
       - nationalite
     properties:
       dateDeNaissance:
         type: string
         description: La date de naissance au format AAAA-MM-JJ
       paysDeNaissance:
         type: string
         pattern: '^[A-Z]{2}$'
         description: |
           Le code pays du pays de naissance (code ISO-alpha 2)
           Ex : 'FR' = France
         example: FR
       libellePaysDeNaissance:
         type: string
         description: |
           Le libelle du pays de naissance
         example: France
       communeDeNaissance:
         type: string
         description: |
           Le code INSEE de la commune de naissance en France
           Ex : 67482 = Strasbourg
         nullable: true
         example: 67482
       libelleCommuneDeNaissance:
         type: string
         description: Le libelle de la commune de naissance en France
         nullable: true
         example: Strasbourg
       communeDeNaissanceEtranger:
         type: string
         nullable: true
         description: La commune de naissance à l'étranger
       nationalite:
         type: string
         pattern: '^[A-Z]{2}$'
         description: Le code pays associé à la nationalité (code ISO-alpha 2)
         example: 'FR'
       libelleNationalite:
         type: string
         description: Le libelle pays associé à la nationalité issu de la nomenclature Pays et Nationalités
       deuxiemeNationalite:
         type: string
         pattern: '^[A-Z]{2}$'
         nullable: true
         description: Le code pays associé à la deuxième nationalité (code ISO-alpha 2)
         example: 'UA'
       libelleDeuxiemeNationalite:
         type: string
         nullable: true
         description: Le libelle pays associé à la deuxième nationalité issu de la nomenclature Pays et Nationalités
       dateDObtentionDeLaDeuxiemeNationalite:
         type: string
         format: date
         nullable: true
         description: La date d'obtention de la deuxième nationalité au format AAAA-MM-JJ

   Adresse:
     type: object
     required:
       - pays
     properties:
       pays:
         type: string
         pattern: '^[A-Z]{2}$'
         description: Code ISO-alpha 2 du pays (FR pour la France, sinon l'adresse est à l'étranger)
         example: 'FR'
       libellePays:
         type: string
         description: libelle du pays
       ligne1OuEtage:
         type: string
         nullable: true
         description: Le n°app/étage/couloir/esc/chez ou ligne 1 de l'adresse étrangère
       ligne2OuBatiment:
         type: string
         nullable: true
         description: L'entrée/bâtiment/immeuble/résidence ou ligne 2 de l'adresse étrangère
       ligne3OuVoie:
         type: string
         description: Le numéro et le libellé de la voie ou ligne 3 de l'adresse étrangère
       ligne4OuComplement:
         type: string
         nullable: true
         description: Le lieu-dit ou service particulier de distribution ou ligne 4 de l'adresse étrangère
       ligne5Etranger:
         type: string
         nullable: true
         description: Ligne 5 de l'adresse étrangère (vide si adresse en France)
       codePostal:
         type: string
         description: Le code postal de l'adresse en France (vide si adresse étrangère)
       codeInsee:
         type: string
         nullable: true
         description: Le code INSEE de la commune de l'adresse en France (vide si adresse étrangère)
       libelleCommune:
         type: string
         nullable: true
         description: Le libelle de la commune de l'adresse en France (vide si adresse étrangère)
+0 −8
Original line number Diff line number Diff line
<?php
namespace SygalApi\V1\Rest\Diplomation;

use Laminas\Paginator\Paginator;

class DiplomationCollection extends Paginator
{
}
 No newline at end of file
+0 −6
Original line number Diff line number Diff line
<?php
namespace SygalApi\V1\Rest\Diplomation;

class DiplomationEntity
{
}
Loading