forked from MDCPS/DamageAssessment_Backend
Update Question and Survey to support multilingual functionnality and Make language optional in URL
This commit is contained in:
@ -5,7 +5,7 @@ using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace DamageAssesment.Api.Surveys.Controllers
|
||||
{
|
||||
[Route("api/[controller]")]
|
||||
[Route("api")]
|
||||
[ApiController]
|
||||
public class SurveysController : ControllerBase
|
||||
{
|
||||
@ -16,10 +16,13 @@ namespace DamageAssesment.Api.Surveys.Controllers
|
||||
this.surveyProvider = surveyProvider;
|
||||
}
|
||||
|
||||
|
||||
[Route("Surveys")]
|
||||
[Route("{Language}/Surveys")]
|
||||
[HttpGet]
|
||||
public async Task<ActionResult> GetSurveysAsync()
|
||||
public async Task<ActionResult> GetSurveysAsync(string? Language)
|
||||
{
|
||||
var result = await this.surveyProvider.GetSurveysAsync();
|
||||
var result = await this.surveyProvider.GetSurveysAsync(Language);
|
||||
if (result.IsSuccess)
|
||||
{
|
||||
return Ok(result.Surveys);
|
||||
@ -27,10 +30,12 @@ namespace DamageAssesment.Api.Surveys.Controllers
|
||||
return NoContent();
|
||||
}
|
||||
|
||||
[HttpGet("{Id}")]
|
||||
public async Task<ActionResult> GetSurveysAsync(int Id)
|
||||
[Route("Surveys/{Id}")]
|
||||
[Route("{Language}/Surveys/{Id}")]
|
||||
[HttpGet]
|
||||
public async Task<ActionResult> GetSurveysAsync(int Id, string? Language)
|
||||
{
|
||||
var result = await this.surveyProvider.GetSurveysAsync(Id);
|
||||
var result = await this.surveyProvider.GetSurveysAsync(Id, Language);
|
||||
if (result.IsSuccess)
|
||||
{
|
||||
return Ok(result.Surveys);
|
||||
@ -38,7 +43,7 @@ namespace DamageAssesment.Api.Surveys.Controllers
|
||||
return NotFound();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[HttpPost("Surveys")]
|
||||
public async Task<ActionResult> PostSurveysAsync(Models.Survey survey)
|
||||
{
|
||||
var result = await this.surveyProvider.PostSurveyAsync(survey);
|
||||
@ -49,21 +54,21 @@ namespace DamageAssesment.Api.Surveys.Controllers
|
||||
return BadRequest(result.ErrorMessage);
|
||||
}
|
||||
|
||||
[HttpPut("{Id}")]
|
||||
[HttpPut("Surveys/{Id}")]
|
||||
public async Task<ActionResult> PutSurveysAsync(int Id, Models.Survey survey)
|
||||
{
|
||||
var result = await this.surveyProvider.PutSurveyAsync(Id,survey);
|
||||
var result = await this.surveyProvider.PutSurveyAsync(Id, survey);
|
||||
if (result.IsSuccess)
|
||||
{
|
||||
return Ok(result.Survey);
|
||||
}
|
||||
if (result.ErrorMessage == "Not Found")
|
||||
return NotFound(result.ErrorMessage);
|
||||
|
||||
|
||||
return BadRequest(result.ErrorMessage);
|
||||
}
|
||||
|
||||
[HttpDelete("{Id}")]
|
||||
[HttpDelete("Surveys/{Id}")]
|
||||
public async Task<ActionResult> DeleteSurveysAsync(int Id)
|
||||
{
|
||||
var result = await this.surveyProvider.DeleteSurveyAsync(Id);
|
||||
|
Reference in New Issue
Block a user