/* * API du serveur de l'application de digitalisation des EP * * API qui sra utilisée afin de faire communiquer le client et le serveur ainsi que le serveur et la boîte noire. * * OpenAPI spec version: 1.3.6 * * Generated by: https://github.com/swagger-api/swagger-codegen.git */ using System; using System.Collections.Generic; using Microsoft.AspNetCore.Mvc; using Swashbuckle.AspNetCore.Annotations; using Swashbuckle.AspNetCore.SwaggerGen; using Newtonsoft.Json; using System.ComponentModel.DataAnnotations; using IO.Swagger.Attributes; using IO.Swagger.Security; using Microsoft.AspNetCore.Authorization; using IO.Swagger.DTO; using EPAServeur.IServices; using Microsoft.Extensions.Logging; using System.Threading.Tasks; using EPAServeur.Exceptions; using IO.Swagger.ClientCollaborateur; using Microsoft.EntityFrameworkCore; namespace IO.Swagger.Controllers { /// /// /// [ApiController] public class ReferentsEPApiController : ControllerBase { private readonly IReferentEPService referentEPService; private readonly ILogger logger; public ReferentsEPApiController(IReferentEPService _referentEPService, ILogger _logger) { referentEPService = _referentEPService; logger = _logger; } /// /// /// /// Mettre à jour les collaborateurs d'un référent. /// /// Id d'un référent /// OK /// L'utilisateur souhaitant accéder à la ressource n'est pas authentifié /// L’utilisateur souhaitant accéder à la ressource n’a pas les droits d’accès suffisants /// La ressource n'a pas été trouvée /// L’opération ne peut pas être effectuée car certaines données sont manquantes /// Une erreur est survenue sur le serveur [HttpPut] [Route("/api/referentsep/referent/{idReferent}")] [Authorize(AuthenticationSchemes = BearerAuthenticationHandler.SchemeName)] [ValidateModelState] [SwaggerOperation("UpdateCollaborateursReferent")] [SwaggerResponse(statusCode: 200, type: typeof(ReferentEPDTO), description: "OK")] [SwaggerResponse(statusCode: 401, type: typeof(ErreurDTO), description: "L'utilisateur souhaitant accéder à la ressource n'est pas authentifié")] [SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "L’utilisateur souhaitant accéder à la ressource n’a pas les droits d’accès suffisants")] [SwaggerResponse(statusCode: 404, type: typeof(ErreurDTO), description: "La ressource n'a pas été trouvée")] [SwaggerResponse(statusCode: 415, type: typeof(ErreurDTO), description: "L’opération ne peut pas être effectuée car certaines données sont manquantes")] [SwaggerResponse(statusCode: 500, type: typeof(ErreurDTO), description: "Une erreur est survenue sur le serveur")] public virtual async Task UpdateCollaborateursReferent([FromBody]ReferentEPDTO body, [FromRoute][Required]Guid? idReferent) { try { body = await referentEPService.UpdateCollaborateursReferentAsync(body, idReferent); } catch (ApiException e) { ErreurDTO erreur = new ErreurDTO(); if (e.ErrorCode == 415) { erreur.Code = 415; erreur.Message = e.Message; } else { erreur.Code = 500; erreur.Message = "Un erreur est survenue lors de la communication avec le serveur distant"; } return StatusCode(erreur.Code.Value, erreur); } catch (ReferentIncompatibleException e) { ErreurDTO erreur = new ErreurDTO { Code = 415, Message = e.Message, }; return StatusCode(erreur.Code.Value, erreur); } catch (ReferentNotFoundException e) { ErreurDTO erreur = new ErreurDTO { Code = 404, Message = e.Message, }; return StatusCode(erreur.Code.Value, erreur); } catch (ListeIdsCollaborateursVideException e) { ErreurDTO erreur = new ErreurDTO { Code = 415, Message = e.Message, }; return StatusCode(erreur.Code.Value, erreur); } catch (CollaborateurPartiException e) { ErreurDTO erreur = new ErreurDTO { Code = 4, Message = e.Message, }; return StatusCode(erreur.Code.Value, erreur); } catch (CollaborateurNotFoundException e) { ErreurDTO erreur = new ErreurDTO { Code = 404, Message = e.Message, }; return StatusCode(erreur.Code.Value, erreur); } catch (DbUpdateConcurrencyException) { ErreurDTO erreur = new ErreurDTO { Code = 500, Message = "Les données n'ont pas pu être mise à jour car elles ont été modifiés avant votre mise à jour", }; return StatusCode(erreur.Code.Value, erreur); } catch (DbUpdateException e) { logger.LogError("Une erreur est survenue avec la base de données" + e.Message); ErreurDTO erreur = new ErreurDTO { Code = 500, Message = "Une erreur est survenue sur le serveur", }; return StatusCode(erreur.Code.Value, erreur); } catch (Exception e) { logger.LogError("Une erreur inconnue est survenue :" + e.Message); ErreurDTO erreur = new ErreurDTO { Code = 500, Message = "Une erreur incconue est survenue", }; return StatusCode(erreur.Code.Value, erreur); } return Ok(body); //catch() { } //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ... // return StatusCode(200, default(ReferentEPDTO)); //TODO: Uncomment the next line to return response 401 or use other options such as return this.NotFound(), return this.BadRequest(..), ... // return StatusCode(401, default(ErreurDTO)); //TODO: Uncomment the next line to return response 403 or use other options such as return this.NotFound(), return this.BadRequest(..), ... // return StatusCode(403, default(ErreurDTO)); //TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ... // return StatusCode(404, default(ErreurDTO)); //TODO: Uncomment the next line to return response 415 or use other options such as return this.NotFound(), return this.BadRequest(..), ... // return StatusCode(415, default(ErreurDTO)); //TODO: Uncomment the next line to return response 500 or use other options such as return this.NotFound(), return this.BadRequest(..), ... // return StatusCode(500, default(ErreurDTO)); } /// /// /// /// Mettre à jour le référent d'un collaborateur. /// /// Id du collaborateur /// OK /// L'utilisateur souhaitant accéder à la ressource n'est pas authentifié /// L’utilisateur souhaitant accéder à la ressource n’a pas les droits d’accès suffisants /// La ressource n'a pas été trouvée /// L’opération ne peut pas être effectuée car certaines données sont manquantes /// Une erreur est survenue sur le serveur [HttpPut] [Route("/api/referentsep/collaborateur/{idCollaborateur}")] //[Authorize(AuthenticationSchemes = BearerAuthenticationHandler.SchemeName)] [ValidateModelState] [SwaggerOperation("UpdateReferentCollaborateur")] [SwaggerResponse(statusCode: 200, type: typeof(ReferentEPDTO), description: "OK")] [SwaggerResponse(statusCode: 401, type: typeof(ErreurDTO), description: "L'utilisateur souhaitant accéder à la ressource n'est pas authentifié")] [SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "L’utilisateur souhaitant accéder à la ressource n’a pas les droits d’accès suffisants")] [SwaggerResponse(statusCode: 404, type: typeof(ErreurDTO), description: "La ressource n'a pas été trouvée")] [SwaggerResponse(statusCode: 415, type: typeof(ErreurDTO), description: "L’opération ne peut pas être effectuée car certaines données sont manquantes")] [SwaggerResponse(statusCode: 500, type: typeof(ErreurDTO), description: "Une erreur est survenue sur le serveur")] public virtual async Task UpdateReferentCollaborateur([FromBody]ReferentEPDTO body, [FromRoute][Required]Guid? idCollaborateur) { try { body = await referentEPService.UpdateReferentCollaborateurAsync(body, idCollaborateur); } catch (CollaborateurIncompatibleException e) { ErreurDTO erreur = new ErreurDTO { Code = 415, Message = e.Message, }; return StatusCode(erreur.Code.Value, erreur); } catch (ApiException e) { ErreurDTO erreur = new ErreurDTO { Code = 500, Message = e.Message, //Message = "Un erreur est survenue lors de la communication avec le serveur distant", }; return StatusCode(500, erreur); } catch (ReferentIncompatibleException e) { ErreurDTO erreur = new ErreurDTO { Code = 415, Message = e.Message, }; return StatusCode(erreur.Code.Value, erreur); } catch (ReferentNotFoundException e) { ErreurDTO erreur = new ErreurDTO { Code = 404, Message = e.Message, }; return StatusCode(erreur.Code.Value, erreur); } catch (CollaborateurPartiException e) { ErreurDTO erreur = new ErreurDTO { Code = 4, Message = e.Message, }; return StatusCode(erreur.Code.Value, erreur); } catch (CollaborateurNotFoundException e) { ErreurDTO erreur = new ErreurDTO { Code = 404, Message = e.Message, }; return StatusCode(erreur.Code.Value, erreur); } catch (DbUpdateConcurrencyException) { ErreurDTO erreur = new ErreurDTO { Code = 500, Message = "Les données n'ont pas pu être mise à jour car elles ont été modifiés avant votre mise à jour", }; return StatusCode(erreur.Code.Value, erreur); } catch (DbUpdateException e) { logger.LogError("Une erreur est survenue avec la base de données" + e.Message); ErreurDTO erreur = new ErreurDTO { Code = 500, Message = "Une erreur est survenue sur le serveur", }; return StatusCode(erreur.Code.Value, erreur); } catch (Exception e) { logger.LogError("Une erreur inconnue est survenue :" + e.Message); ErreurDTO erreur = new ErreurDTO { Code = 500, Message = "Une erreur incconue est survenue", }; return StatusCode(erreur.Code.Value, erreur); } return Ok(body); //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ... // return StatusCode(200, default(ReferentEPDTO)); //TODO: Uncomment the next line to return response 401 or use other options such as return this.NotFound(), return this.BadRequest(..), ... // return StatusCode(401, default(ErreurDTO)); //TODO: Uncomment the next line to return response 403 or use other options such as return this.NotFound(), return this.BadRequest(..), ... // return StatusCode(403, default(ErreurDTO)); //TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ... // return StatusCode(404, default(ErreurDTO)); //TODO: Uncomment the next line to return response 415 or use other options such as return this.NotFound(), return this.BadRequest(..), ... // return StatusCode(415, default(ErreurDTO)); //TODO: Uncomment the next line to return response 500 or use other options such as return this.NotFound(), return this.BadRequest(..), ... // return StatusCode(500, default(ErreurDTO)); } } }