UNPKG

swagelize

Version:

Generate Sequelize model definitions and DAO from a Swagger 2.0 schema

526 lines 15.7 kB
{ "swagger": "2.0", "info": { "description": "Application permettant d'interroger le référentiel des coordonnées médiatiques.", "version": "1.0.0", "title": "Référentiel Média" }, "basePath": "/v1", "tags": [ { "name": "media", "description": "Ensemble des coordonnées médiatiques (tel, mobile, mail etc...)" } ], "schemes": [ "http" ], "paths": { "/media": { "post": { "tags": [ "media" ], "summary": "Ajout d'une nouvelle instance de coordonnées médiatiques dans le référentiel", "description": "", "operationId": "addMedia", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "body", "name": "body", "description": "Un Objet de type media", "required": true, "schema": { "$ref": "#/definitions/Media" } } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "object", "$ref": "#/definitions/Media" } }, "405": { "description": "Paramètre d'entrée invalide" } } } }, "/media/{id}": { "get": { "tags": [ "media" ], "summary": "Recherche par ID", "description": "Retourne une instance de coordonnées médiatiques avec l'ID correspondant", "operationId": "getMediaById", "produces": [ "application/json" ], "parameters": [ { "name": "id", "in": "path", "description": "ID de la coordonnées médiatiques à retourner", "required": true, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "Opération réussie", "schema": { "type": "object", "$ref": "#/definitions/Media" } }, "400": { "description": "Identifiant invalide" }, "404": { "description": "Coordonnées médiatiques non trouvées" } } }, "put": { "tags": [ "media" ], "summary": "Mise à jour d'une instance de coordonnées médiatiques dans le référentiel", "description": "", "operationId": "updateMediaWithForm", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "name": "id", "in": "path", "description": "Identifiant de l'instance de coordonnées médiatiques à mettre à jour", "required": true, "type": "integer", "format": "int64" }, { "in": "body", "name": "body", "description": "Un Objet de type media", "required": true, "schema": { "$ref": "#/definitions/Media" } } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "object", "$ref": "#/definitions/Media" } }, "405": { "description": "Paramètre d'entrée invalide" } } }, "delete": { "tags": [ "media" ], "summary": "Suppression d'une instance de coordonnées médiatiques", "description": "", "operationId": "deleteMedia", "produces": [ "application/json" ], "parameters": [ { "name": "id", "in": "path", "description": "Identifiant de l'instance de coordonnées médiatiques à supprimer", "required": true, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "string" } }, "400": { "description": "Identifiant invalide" }, "404": { "description": "Instance de coordonnées médiatiques non trouvée" } } } }, "/media/idFonctionnel/{idFonctionnel}": { "delete": { "tags": [ "media" ], "summary": "Suppression de toute les coordonnées médiatiques identifiées par la leur idFonctionnel", "description": "", "operationId": "deleteMediaByIdFunc", "produces": [ "application/json" ], "parameters": [ { "name": "idFonctionnel", "in": "path", "description": "idFonctionnel correspondant aux coordonnées médiatiques qu'il faut supprimer", "required": true, "type": "string" } ], "responses": { "200": { "description": "Opération réussie", "schema": { "type": "object", "$ref": "#/definitions/Media" } }, "400": { "description": "Identifiant invalide" }, "404": { "description": "Coordonnées médiatiques non trouvées" } } } }, "/media/idFonctionnel/{idFonctionnel}/{dateRef}": { "get": { "tags": [ "media" ], "summary": "Recherche d'une date passée la plus proche de la date de reference pour une organisation donné", "description": "Retourne l'instance de coordonnées médiatiques de l'organisation à la date de référence donnée", "operationId": "getMediaByIdFuncAndDateRef", "produces": [ "application/json" ], "parameters": [ { "name": "idFonctionnel", "in": "path", "description": "Reference de l'idFonctionnel de l'instance de coordonnées médiatiques à retourner", "required": true, "type": "string" }, { "name": "dateRef", "in": "path", "description": "Date de référence de l'instance de coordonnées médiatiques à retourner", "required": true, "type": "string" } ], "responses": { "200": { "description": "Opération réussie", "schema": { "type": "object", "$ref": "#/definitions/Media" } }, "400": { "description": "Identifiant invalide" }, "404": { "description": "Coordonnées médiatiques non trouvées" } } } }, "/media/all/{idFonctionnel}": { "get": { "tags": [ "media" ], "summary": "Recherche toutes les coordonnées médiatiques avec un même idFonctionnel, ordonnées de la plus ancienne à la plus récente", "description": "Retourne la liste de coordonnées médiatiques de l'organisation ordonnée de la plus ancienne à la plus récente", "operationId": "getMediaByIdFunc", "produces": [ "application/json" ], "parameters": [ { "name": "idFonctionnel", "in": "path", "description": "Reference de l'idFonctionnel des coordonnées médiatiques à retourner", "required": true, "type": "string" } ], "responses": { "200": { "description": "Opération réussie", "schema": { "type": "array", "items": { "$ref": "#/definitions/Media" } } }, "400": { "description": "Identifiant invalide" }, "404": { "description": "Adresse non trouvée" } } } }, "/media/bulk": { "put": { "tags": [ "media" ], "summary": "Update les media dont l'id est spécifié dans les query params", "description": "Retourne le nombre de medias impactés", "operationId": "updateMediasByIds", "produces": [ "application/json" ], "parameters": [ { "name": "ids", "in": "query", "description": "Identifiants techniques des medias à mettre à jour", "required": true, "type": "array", "items": { "type": "integer", "format": "int64" } }, { "in": "body", "name": "body", "description": "Un Objet de type media", "required": true, "schema": { "$ref": "#/definitions/Media" } } ], "responses": { "200": { "description": "Opération réussie", "schema": { "type": "array", "items": { "$ref": "#/definitions/Media" } } }, "400": { "description": "Identifiant invalide" }, "404": { "description": "Adresse non trouvée" } } } } }, "definitions": { "Media": { "type": "object", "properties": { "mdiId": { "type": "integer", "description": "Identifiant unique de l\\'élément chronologique de coordonnées médiatiques", "format": "int64" }, "mdiIdFonctionnel": { "type": "string", "description": "Identifiant fonctionnel de l\\'élément chronologique de coordonnées médiatiques de la forme suivante : MED_[ID_FONCTIONNEL_OBJ]. Example : MED_ORG000001, Note : l\\'identifiant fonctionnel permet de voir à quelle entité est rattachée ce média" }, "mdiFax": { "type": "string", "description": "Correspond au fax" }, "mdiSiteWeb": { "type": "string", "description": "URL du site web de l\\'entité" }, "mdiDateDebutValidite": { "type": "string", "format": "date-time", "description": "Date de début de validité de l\\'instance de coordonées médiatiques" }, "mdiDateFinValidite": { "type": "string", "format": "date-time", "description": "Date de fin de validité de l\\'instance de coordonées médiatiques" }, "mdiDateInsertion": { "type": "string", "format": "date-time", "description": "Date de création de l\\'instance de coordonées médiatiques" }, "mdiDateModification": { "type": "string", "format": "date-time", "description": "Date de modification de l\\'instance de coordonées médiatiques" }, "mdiDeleted": { "type": "boolean", "description": "Determine si l\\'entité a été logiquement supprimée" }, "telephones": { "type": "array", "items": { "$ref": "#/definitions/Telephone" }, "sourceCardinality": "1" }, "emails": { "type": "array", "items": { "$ref": "#/definitions/Email" }, "sourceCardinality": "1" } }, "x-primary-key": [ "mdiId" ] }, "Telephone": { "type": "object", "properties": { "telId": { "type": "integer", "description": "Identifiant unique du numéro de téléphone", "format": "int64" }, "telNumero": { "type": "string", "description": "Numéro de téléphone" }, "telType": { "type": "string", "description": "Type de coordonnées - personnel, proHorsAdmr ou proAdmr", "enum": [ "personnel", "proHorsAdmr", "proAdmr" ] }, "telFormat": { "type": "string", "description": "Type de format attendu pour le numéroi de téléphone - mobile, fixe, interneHorsSite ou interneSurSite", "enum": [ "mobile", "fixe", "interneHorsSite", "interneSurSite" ] }, "telDiffusion": { "type": "string", "description": "Portée de diffusion du numéro de téléphone - public, partenaires, collaborateurs, urgencePlanif, prive", "enum": [ "public", "partenaires", "collaborateurs", "urgencePlanif", "prive" ] }, "telDateInsertion": { "type": "string", "format": "date-time", "description": "Date de création du téléphone" }, "telDateModification": { "type": "string", "format": "date-time", "description": "Date de modification du téléphone" }, "telDeleted": { "type": "boolean", "description": "Determine si l\\'entité a été logiquement supprimée" } }, "x-primary-key": [ "telId" ] }, "Email": { "type": "object", "properties": { "melId": { "type": "integer", "description": "Identifiant unique du numéro du mail", "format": "int64" }, "melEmail": { "type": "string", "description": "Email" }, "melType": { "type": "string", "description": "Type de coordonnées - personnel, proHorsAdmr ou proAdmr", "enum": [ "personnel", "proHorsAdmr", "proAdmr" ] }, "melDiffusion": { "type": "string", "description": "Portée de diffusion du mail - public, partenaires, collaborateurs, urgencePlanif, prive", "enum": [ "public", "partenaires", "collaborateurs", "urgencePlanif", "prive" ] }, "melDateInsertion": { "type": "string", "format": "date-time", "description": "Date de création du mail" }, "melDateModification": { "type": "string", "format": "date-time", "description": "Date de modification du mail" }, "melDeleted": { "type": "boolean", "description": "Determine si l\\'entité a été logiquement supprimée" } }, "x-primary-key": [ "melId" ] } } }