forked from MDCPS/DamageAssessment_Backend
implementation of Authentication using JWT. Security applied on all microservices endpoints.
This commit is contained in:
@ -3,6 +3,7 @@ using DamageAssesment.Api.SurveyResponses.Models;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using System.IdentityModel.Tokens.Jwt;
|
||||
|
||||
namespace DamageAssesment.Api.SurveyResponses.Controllers
|
||||
{
|
||||
@ -10,10 +11,20 @@ namespace DamageAssesment.Api.SurveyResponses.Controllers
|
||||
public class SurveyResponsesController : ControllerBase
|
||||
{
|
||||
private readonly ISurveysResponse surveyResponseProvider;
|
||||
|
||||
public SurveyResponsesController(ISurveysResponse surveyResponseProvider)
|
||||
private string token;
|
||||
private readonly IHttpContextAccessor httpContextAccessor;
|
||||
public SurveyResponsesController(ISurveysResponse surveyResponseProvider, IHttpContextAccessor httpContextAccessor)
|
||||
{
|
||||
this.surveyResponseProvider = surveyResponseProvider;
|
||||
this.httpContextAccessor = httpContextAccessor;
|
||||
token = httpContextAccessor.HttpContext.Request.Headers.Authorization;
|
||||
if (token != null)
|
||||
{
|
||||
token = token.Replace("Bearer ", string.Empty);
|
||||
} else
|
||||
{
|
||||
token = "";
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// GET request for retrieving survey responses.
|
||||
@ -22,7 +33,7 @@ namespace DamageAssesment.Api.SurveyResponses.Controllers
|
||||
[HttpGet("Responses")]
|
||||
public async Task<ActionResult> GetSurveyResponsesAsync()
|
||||
{
|
||||
var result = await this.surveyResponseProvider.GetSurveyResponsesAsync();
|
||||
var result = await this.surveyResponseProvider.GetSurveyResponsesAsync(token);
|
||||
if (result.IsSuccess)
|
||||
{
|
||||
return Ok(result.surveyResponses);
|
||||
@ -36,11 +47,11 @@ namespace DamageAssesment.Api.SurveyResponses.Controllers
|
||||
/// <summary>
|
||||
/// GET request for retrieving survey responses by survey ID.
|
||||
/// </summary>
|
||||
|
||||
|
||||
[HttpGet("Responses/BySurvey/{surveyid}")]
|
||||
public async Task<ActionResult> GetSurveyResponsesAsync(int surveyid)
|
||||
{
|
||||
var result = await this.surveyResponseProvider.GetSurveyResponsesBySurveyAsync(surveyid);
|
||||
var result = await this.surveyResponseProvider.GetSurveyResponsesBySurveyAsync(surveyid, token);
|
||||
if (result.IsSuccess)
|
||||
{
|
||||
return Ok(result.SurveyResponses);
|
||||
@ -56,7 +67,7 @@ namespace DamageAssesment.Api.SurveyResponses.Controllers
|
||||
[HttpGet("Responses/{surveyid}/{locationid}")]
|
||||
public async Task<ActionResult> GetSurveyResponsesBySurveyAndLocationAsync(int surveyid, int locationid)
|
||||
{
|
||||
var result = await this.surveyResponseProvider.GetSurveyResponsesBySurveyAndLocationAsync(surveyid, locationid);
|
||||
var result = await this.surveyResponseProvider.GetSurveyResponsesBySurveyAndLocationAsync(surveyid, locationid, token);
|
||||
if (result.IsSuccess)
|
||||
{
|
||||
return Ok(result.SurveyResponses);
|
||||
@ -73,8 +84,8 @@ namespace DamageAssesment.Api.SurveyResponses.Controllers
|
||||
|
||||
[HttpGet("Responses/ByAnswer/{surveyid}/{questionid}/{answer}")]
|
||||
public async Task<ActionResult> GetSurveyResponsesByAnswerAsyncAsync(int surveyid, int questionid, string answer)
|
||||
{
|
||||
var result = await surveyResponseProvider.GetResponsesByAnswerAsync(surveyid, questionid, answer);
|
||||
{
|
||||
var result = await surveyResponseProvider.GetResponsesByAnswerAsync(surveyid, questionid, answer, token);
|
||||
if (result.IsSuccess)
|
||||
{
|
||||
return Ok(result.SurveyResponses);
|
||||
@ -90,7 +101,7 @@ namespace DamageAssesment.Api.SurveyResponses.Controllers
|
||||
[HttpGet("Responses/ByRegion/{surveyid}")]
|
||||
public async Task<ActionResult> GetAnswersByRegionAsync(int surveyid)
|
||||
{
|
||||
var result = await this.surveyResponseProvider.GetAnswersByRegionAsync(surveyid);
|
||||
var result = await this.surveyResponseProvider.GetAnswersByRegionAsync(surveyid, token);
|
||||
if (result.IsSuccess)
|
||||
{
|
||||
return Ok(result.Answers);
|
||||
@ -105,7 +116,7 @@ namespace DamageAssesment.Api.SurveyResponses.Controllers
|
||||
[HttpGet("Responses/ByMaintenanceCenter/{surveyid}")]
|
||||
public async Task<ActionResult> GetAnswersByMaintenaceCentersync(int surveyid)
|
||||
{
|
||||
var result = await this.surveyResponseProvider.GetSurveyResponsesByMaintenanceCenterAsync(surveyid);
|
||||
var result = await this.surveyResponseProvider.GetSurveyResponsesByMaintenanceCenterAsync(surveyid, token);
|
||||
if (result.IsSuccess)
|
||||
{
|
||||
return Ok(result.SurveyResponses);
|
||||
@ -120,7 +131,7 @@ namespace DamageAssesment.Api.SurveyResponses.Controllers
|
||||
[HttpGet("Responses/{id}")]
|
||||
public async Task<ActionResult> GetSurveyResponseByIdAsync(int id)
|
||||
{
|
||||
var result = await this.surveyResponseProvider.GetSurveyResponseByIdAsync(id);
|
||||
var result = await this.surveyResponseProvider.GetSurveyResponseByIdAsync(id, token);
|
||||
if (result.IsSuccess)
|
||||
{
|
||||
return Ok(result.SurveyResponse);
|
||||
@ -165,7 +176,7 @@ namespace DamageAssesment.Api.SurveyResponses.Controllers
|
||||
/// <summary>
|
||||
/// DELETE request for deleting an existing survey response.
|
||||
/// </summary>
|
||||
|
||||
|
||||
[HttpDelete("Responses/{id}")]
|
||||
public async Task<ActionResult> DeleteSurveyResponseAsync(int id)
|
||||
{
|
||||
@ -184,7 +195,7 @@ namespace DamageAssesment.Api.SurveyResponses.Controllers
|
||||
[HttpPost("Responses/Answers")]
|
||||
public async Task<ActionResult> PostSurveyAnswersAsync(Request request)
|
||||
{
|
||||
var result = await this.surveyResponseProvider.PostSurveyAnswersAsync(request);
|
||||
var result = await this.surveyResponseProvider.PostSurveyAnswersAsync(request, token);
|
||||
|
||||
if (result.IsSuccess)
|
||||
return Ok(result.SurveyResponse);
|
||||
|
Reference in New Issue
Block a user