swagelize
Version:
Generate Sequelize model definitions and DAO from a Swagger 2.0 schema
526 lines • 15.7 kB
JSON
{
"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"
]
}
}
}