-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Task/#257 controller skeleton * Task/#263 koppeling pakket service * cors (#5) * dockerfile added local file * Add license (#6) * Update README.md * Create LICENSE * Update README.md Co-authored-by: Heesakkers,Aron A.P.H.M <aron.heesakkers@student.fontys.nl> * Build (#11) Co-authored-by: Aron Heesakkers <aron.heesakkers@via.nl> * Hardcoded values to appsettings (#12) Co-authored-by: Aron Heesakkers <aron.heesakkers@via.nl> * Update README.md (#13) * Develop (#7) * Task/#257 controller skeleton * Task/#263 koppeling pakket service * cors (#5) * dockerfile added local file * Add license (#6) * Update README.md * Create LICENSE * Update README.md Co-authored-by: Heesakkers,Aron A.P.H.M <aron.heesakkers@student.fontys.nl> Co-authored-by: Wieling,Kevin C.F.J <k.wieling@student.fontys.nl> Co-authored-by: Gompel,Sverre S. van <sverre.vangompel@student.fontys.nl> Co-authored-by: Heesakkers,Aron A.P.H.M <aron.heesakkers@student.fontys.nl> Co-authored-by: EGKangaroo <EGKangaroo@yahoo.com> * Update README.md Co-authored-by: Wieling,Kevin C.F.J <k.wieling@student.fontys.nl> Co-authored-by: Gompel,Sverre S. van <sverre.vangompel@student.fontys.nl> Co-authored-by: Heesakkers,Aron A.P.H.M <aron.heesakkers@student.fontys.nl> Co-authored-by: EGKangaroo <EGKangaroo@yahoo.com> * Update README.md * Gateway fix (#16) * Changes * gateway fix, same request model as package service * created at action bug fixed Co-authored-by: Aron Heesakkers <aron.heesakkers@via.nl> Co-authored-by: EGKangaroo <EGKangaroo@yahoo.com> * Task/#264 koppeling locatieservice (#18) * added locationservice url * added models * location controller * fixed room requestmodel * fix endpoints and constants * more model fixes * getpackage conversion fix * Story/#333 pakketgegevens (#20) * personeel-service toegevoegd * start error handling. persoon toegevoegd aan GetPackage(id) * sender is receiverid bugfix * collectionpoint ophalen bij GetPackage{id} * 400 - 404 errors allowed. getpackages haalt nu ook locatie en ontvanger op * merge fix * Story/#16 edit locations (#23) * Docker Local Appsettings * README update * Update methods finished * Changed name Co-authored-by: Aron Heesakkers <aron.heesakkers@via.nl> * #358 delete endpoints (#24) * all calls make use of flurl extension and return ObjectResults * Delete endpoints toegevoegd aan locatiecontroller * Error handling voor delete endpoints * conflict httpstatus added * Small formatting fix in locatiecontroller Co-authored-by: JaapvanderMeer <43168682+JeapfromtheLake@users.noreply.github.com> Co-authored-by: Wieling,Kevin C.F.J <k.wieling@student.fontys.nl> Co-authored-by: Gompel,Sverre S. van <sverre.vangompel@student.fontys.nl> Co-authored-by: Heesakkers,Aron A.P.H.M <aron.heesakkers@student.fontys.nl> Co-authored-by: EGKangaroo <EGKangaroo@yahoo.com> Co-authored-by: Shady^ <36726909+ShadyDL@users.noreply.github.com> Co-authored-by: Aron Heesakkers <aron.heesakkers@via.nl> Co-authored-by: Sverre <43172180+Sverrevg@users.noreply.github.com>
- Loading branch information
1 parent
08de74a
commit 6cf6ec5
Showing
17 changed files
with
604 additions
and
190 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
using api_gateway.Helper; | ||
using api_gateway.Models.ServiceModels; | ||
using Flurl.Http; | ||
using Microsoft.AspNetCore.Http; | ||
using Microsoft.AspNetCore.Mvc; | ||
using System; | ||
using System.Collections.Generic; | ||
using System.Linq; | ||
using System.Net; | ||
using System.Threading.Tasks; | ||
|
||
namespace api_gateway.Controllers | ||
{ | ||
[Produces("application/json")] | ||
[Route("api")] | ||
[ApiController] | ||
public class PersonController : ControllerBase | ||
{ | ||
/// <summary> | ||
/// Gets a list of all persons | ||
/// </summary> | ||
/// <returns>List of rooms</returns> | ||
/// <response code="200">returns the list of persons</response> | ||
/// <response code="400">bad request, something went wrong on the client-side</response> | ||
/// <response code="500">processing error, something went wrong on the server-side</response> | ||
[HttpGet("persons")] | ||
[ProducesResponseType(StatusCodes.Status200OK)] | ||
[ProducesResponseType(StatusCodes.Status400BadRequest)] | ||
[ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||
public async Task<ActionResult<ICollection<PersonServiceModel>>> GetPersons() | ||
{ | ||
IFlurlResponse flurlResponse = await $"{Constants.PersonApiUrl}/api/persons".GetAsync(); | ||
|
||
var response = flurlResponse.GetResponse("Er zijn geen personen gevonden."); | ||
|
||
if (response.StatusCode != HttpStatusCode.OK) | ||
{ | ||
return new ObjectResult(response.Message) { StatusCode = (int)response.StatusCode }; | ||
} | ||
|
||
ICollection<PersonServiceModel> responseModels = await flurlResponse.GetJsonAsync<ICollection<PersonServiceModel>>(); | ||
return Ok(responseModels); | ||
} | ||
|
||
/// <summary> | ||
/// Gets a specific person by id | ||
/// </summary> | ||
/// <param name="id">the id of the person</param> | ||
/// <returns>person with matching id</returns> | ||
/// <response code="200">Returns the person with the specified id</response> | ||
/// <response code="404">No person found with the matching id</response> | ||
/// <response code="400">bad request, something went wrong on the client-side</response> | ||
/// <response code="500">processing error, something went wrong on the server-side</response> | ||
[HttpGet("persons/{id}")] | ||
[ProducesResponseType(StatusCodes.Status200OK)] | ||
[ProducesResponseType(StatusCodes.Status404NotFound)] | ||
[ProducesResponseType(StatusCodes.Status400BadRequest)] | ||
[ProducesResponseType(StatusCodes.Status500InternalServerError)] | ||
public async Task<ActionResult<PersonServiceModel>> GetPersonById(string id) | ||
{ | ||
IFlurlResponse flurlResponse = await $"{Constants.PersonApiUrl}/api/persons/{id}".GetAsync(); | ||
|
||
var response = flurlResponse.GetResponse("De persoon die u probeert op te zoeken kan niet gevonden worden."); | ||
|
||
if (response.StatusCode != HttpStatusCode.OK) | ||
{ | ||
return new ObjectResult(response.Message) { StatusCode = (int)response.StatusCode }; | ||
} | ||
|
||
PersonServiceModel responseModel = await flurlResponse.GetJsonAsync<PersonServiceModel>(); | ||
return Ok(responseModel); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
using System; | ||
using System.Collections.Generic; | ||
using System.Linq; | ||
using System.Net; | ||
using System.Threading.Tasks; | ||
|
||
namespace api_gateway.Helper | ||
{ | ||
public class ErrorResponse | ||
{ | ||
public HttpStatusCode StatusCode { get; set; } | ||
public string Message { get; set; } | ||
|
||
public ErrorResponse(HttpStatusCode statusCode, string message) | ||
{ | ||
StatusCode = statusCode; | ||
Message = message; | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
using Flurl.Http; | ||
using Microsoft.AspNetCore.Mvc; | ||
using System; | ||
using System.Collections.Generic; | ||
using System.Linq; | ||
using System.Net; | ||
using System.Threading.Tasks; | ||
|
||
namespace api_gateway.Helper | ||
{ | ||
public static class FlurlResponseExtension | ||
{ | ||
public static ErrorResponse GetResponse(this IFlurlResponse flurlResponse, string notFoundMessage = "Niet gevonden") | ||
{ | ||
switch (flurlResponse.StatusCode) | ||
{ | ||
case 201: | ||
return new ErrorResponse(HttpStatusCode.Created, ""); | ||
case 400: | ||
return new ErrorResponse(HttpStatusCode.BadRequest, "Er ging iets mis. Probeer het later opnieuw"); | ||
case 404: | ||
return new ErrorResponse(HttpStatusCode.NotFound, notFoundMessage); | ||
case 409: | ||
return new ErrorResponse(HttpStatusCode.Conflict, "Het item dat u probeert toe te voegen/updaten bestaat al"); | ||
case 500: | ||
return new ErrorResponse(HttpStatusCode.InternalServerError, "Er ging iets mis. Probeer het later opnieuw"); | ||
default: | ||
return new ErrorResponse(HttpStatusCode.OK, ""); | ||
} | ||
} | ||
} | ||
} |
Oops, something went wrong.