UNPKG

swagelize

Version:

Generate Sequelize model definitions and DAO from a Swagger 2.0 schema

430 lines (429 loc) 11.6 kB
{ "swagger": "2.0", "info": { "description": "Application permettant d'interroger le référentiel organisation.", "version": "1.0.0", "title": "Référentiel Organisation" }, "host": "localhost:3002", "basePath": "/v1", "tags": [ { "name": "organisation", "description": "Ensemble d'élément autour de l'organisation" } ], "schemes": [ "http" ], "paths": { "/organisation": { "post": { "tags": [ "organisation" ], "summary": "Ajout d'une nouvelle organisation dans le référentiel", "description": "", "operationId": "addOrganisation", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "body", "name": "body", "description": "Un Objet de type organisation", "required": true, "schema": { "$ref": "#/definitions/Organisation" } } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "object", "$ref": "#/definitions/Organisation" } }, "405": { "description": "Paramètre d'entrée invalide" } } }, "get": { "tags": [ "organisation" ], "summary": "Récupère la liste des organisation du référentiel", "description": "", "operationId": "getAllOrganisation", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/Organisation" } } } } } }, "/organisation/{id}": { "get": { "tags": [ "organisation" ], "summary": "Recherche par l'identifiant", "description": "Retourne une organisation", "operationId": "getOrganisationById", "produces": [ "application/json" ], "parameters": [ { "name": "id", "in": "path", "description": "L'identifiant de l'organisation à retourner", "required": true, "type": "string" } ], "responses": { "200": { "description": "Opération réussie", "schema": { "$ref": "#/definitions/Organisation" } }, "400": { "description": "Identifiant invalide" }, "404": { "description": "Organisation non trouvée" } } }, "put": { "tags": [ "organisation" ], "summary": "Mise à jour d'une organisation dans le référentiel", "description": "", "operationId": "updateOrganisationWithForm", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "name": "id", "in": "path", "description": "Identifiant de l'organisation à mettre à jour", "required": true, "type": "string" }, { "in": "body", "name": "body", "description": "Un Objet de type organisation", "required": true, "schema": { "$ref": "#/definitions/Organisation" } } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "object", "$ref": "#/definitions/Organisation" } }, "405": { "description": "Paramètre d'entrée invalide" } } }, "delete": { "tags": [ "organisation" ], "summary": "Suppression d'une organisation", "description": "", "operationId": "deleteOrganisation", "produces": [ "application/json" ], "parameters": [ { "name": "id", "in": "path", "description": "Identifiant de l'organisation à supprimer", "required": true, "type": "string" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "string" } }, "400": { "description": "Identifiant invalide" }, "404": { "description": "Adresse non trouvée" } } } }, "/organisation/arborescence/{lien}/{id}": { "get": { "tags": [ "organisation" ], "summary": "Recherche une structure d'organisations en fonction du type de lien, l'identifiant donné indiquera la structure racine", "description": "Retourne l'arborescence d'une organisation en fonction d'un type de lien", "operationId": "getArborescenceByLienId", "produces": [ "application/json" ], "parameters": [ { "name": "lien", "in": "path", "description": "Type de lien caractérisant la structure d'organisations à retourner", "required": true, "type": "string" }, { "name": "id", "in": "path", "description": "L'identifiant de l'organisation racine de la structure à retourner", "required": true, "type": "string" } ], "responses": { "200": { "description": "Opération réussie", "schema": { "$ref": "#/definitions/Organisation" } }, "400": { "description": "Identifiant invalide" }, "404": { "description": "Organisation non trouvée" } } } }, "/relation": { "post": { "tags": [ "relation" ], "summary": "Ajout d'une nouvelle organisation dans le référentiel", "description": "", "operationId": "addRelation", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "body", "name": "body", "description": "Un Objet de type relation", "required": true, "schema": { "$ref": "#/definitions/Relation" } } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "object", "$ref": "#/definitions/Relation" } }, "405": { "description": "Paramètre d'entrée invalide" } } } }, "/relation/{lien}/{idSource}/{idTarget}": { "get": { "tags": [ "relation" ], "summary": "Recherche une relation unique de deux organisations", "description": "Retourne la relation unique", "operationId": "getRelationUnique", "produces": [ "application/json" ], "parameters": [ { "name": "lien", "in": "path", "description": "Type de lien caractérisant la structure d'organisations à retourner", "required": true, "type": "string" }, { "name": "idSource", "in": "path", "description": "L'identifiant de l'organisation source de la relation à retourner", "required": true, "type": "string" }, { "name": "idTarget", "in": "path", "description": "L'identifiant de l'organisation cible de la relation à retourner", "required": true, "type": "string" } ], "responses": { "200": { "description": "Opération réussie", "schema": { "$ref": "#/definitions/Relation" } }, "400": { "description": "Identifiant invalide" }, "404": { "description": "Relation non trouvée" } } } } }, "definitions": { "Organisation": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64", "description": "Identifiant unique technique" }, "dateDebut": { "type": "string", "format": "date-time", "description": "Date début d\\'entrée en service de l\\'organisation" }, "dateFin": { "type": "string", "format": "date-time", "description": "Date fin de service de l\\'organisation" }, "perimTer": { "type": "string", "description": "Périmètre territorial", "enum": [ "National", "Regional", "Départemental", "Local" ] }, "typeAssoAdmr": { "type": "string", "description": "Correspond à des statuts d\\'association prédéfinis", "enum": [ "Asso Locale", "Fédération Départementale", "Comité Régional", "Structure nationale", "Autre Association Admr", "Autre Admr", "Non Admr Niveau Territorial" ] }, "nomOrg": { "type": "string", "description": "Nom de l\\'organisation" }, "siren": { "type": "integer", "description": "SIREN de l\\'organisation" }, "codape": { "type": "integer", "description": "Code APE de l\\'organisation" }, "idFoncMedia": { "type": "string", "description": "ID fonctionnel des coordonnées médiatiques de l\\'organisation" }, "idFoncAdresse": { "type": "string", "description": "ID fonctionnel de l\\'adresse de l\\'organisation" }, "organisations": { "type": "array", "items": { "$ref": "#/definitions/Organisation" }, "throughTable": "Relation", "sourceCardinality": "N" } }, "x-primary-key": ["id"] }, "Relation": { "type": "object", "throughTable": true, "properties": { "lien": { "type": "string", "nullable": false }, "id_organisationSource": { "type": "integer", "format": "int64", "nullable": false }, "id_organisationTarget": { "type": "integer", "format": "int64", "nullable": false } }, "x-primary-key": ["lien","id_organisationSource","id_organisationTarget"], "uniqueFks": false } } }