Removed state and ErrorResponse(Exception e) from BaseController. Added logging to catch part in Document and Envelope Controller.

This commit is contained in:
Developer 02 2024-05-16 09:23:33 +02:00
parent 68714c2937
commit ba723bdddb
6 changed files with 24 additions and 54 deletions

View File

@ -6,27 +6,14 @@ namespace EnvelopeGenerator.Web.Controllers
{ {
public class BaseController : Controller public class BaseController : Controller
{ {
internal DatabaseService database; protected readonly DatabaseService database;
internal State state;
internal ILogger _logger; protected readonly ILogger _logger;
public BaseController(DatabaseService database, ILogger logger) public BaseController(DatabaseService database, ILogger logger)
{ {
this.database = database; this.database = database;
this.state = database.State;
_logger = logger; _logger = logger;
} }
internal ObjectResult ErrorResponse(Exception e)
{
// Log the detailed error message.
_logger.LogError(e, "An unexpected error occurred.");
return Problem(
statusCode: 500,
detail: e.Message,
type: "ServerError");
}
} }
} }

View File

@ -41,7 +41,8 @@ namespace EnvelopeGenerator.Web.Controllers
} }
catch(Exception ex) catch(Exception ex)
{ {
return ErrorResponse(ex); _logger.LogError(ex, "{Message}", ex.Message);
return StatusCode(StatusCodes.Status500InternalServerError);
} }
} }
@ -66,7 +67,8 @@ namespace EnvelopeGenerator.Web.Controllers
} }
catch(Exception ex) catch(Exception ex)
{ {
return ErrorResponse(ex); _logger.LogError(ex, "{Message}", ex.Message);
return StatusCode(StatusCodes.Status500InternalServerError);
} }
} }

View File

@ -43,7 +43,8 @@ namespace EnvelopeGenerator.Web.Controllers
} }
catch (Exception e) catch (Exception e)
{ {
return ErrorResponse(e); _logger.LogError(e, "{Message}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError);
} }
} }
@ -88,7 +89,8 @@ namespace EnvelopeGenerator.Web.Controllers
} }
catch (Exception e) catch (Exception e)
{ {
return ErrorResponse(e); _logger.LogError(e, "{Message}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError);
} }
} }
} }

View File

@ -227,23 +227,14 @@ namespace EnvelopeGenerator.Web.Controllers
return Ok(new { EnvelopeUuid = envelopeUuid, ReceiverSignature = receiverSignature }); return Ok(new { EnvelopeUuid = envelopeUuid, ReceiverSignature = receiverSignature });
} }
[NonAction]
public IActionResult GetLanguage() => Ok(UserLanguage);
[HttpPost("lang/{language}")] [HttpPost("lang/{language}")]
public IActionResult SetLanguage([FromRoute] string language) public IActionResult SetLanguage([FromRoute] string language)
{ {
try try
{ {
if (Languages is null)
{
_logger.LogWarning("There is no language assigned under languages key in appesettings.json");
return StatusCode(statusCode: StatusCodes.Status500InternalServerError);
}
else if (!language.Contains(language))
return BadRequest();
language = _urlEncoder.Encode(language); language = _urlEncoder.Encode(language);
if (!_cultures.Languages.Contains(language))
return BadRequest();
UserLanguage = language; UserLanguage = language;
@ -257,16 +248,7 @@ namespace EnvelopeGenerator.Web.Controllers
} }
[HttpGet("lang")] [HttpGet("lang")]
public IActionResult GetLanguages() public IActionResult GetLanguages() => Ok(_cultures.Languages);
{
if(Languages is null)
{
_logger.LogWarning("There is no language assigned under languages key in appesettings.json");
return StatusCode(statusCode: StatusCodes.Status500InternalServerError);
}
else
return Ok(Languages);
}
private string UserLanguage private string UserLanguage
{ {
@ -297,8 +279,6 @@ namespace EnvelopeGenerator.Web.Controllers
} }
} }
private string[]? Languages => _configuration.GetSection("Languages").Get<string[]>();
public IActionResult Error404() => this.ViewError404(); public IActionResult Error404() => this.ViewError404();
} }
} }

View File

@ -5,13 +5,5 @@
"Default": "Information", "Default": "Information",
"Microsoft.AspNetCore": "Warning" "Microsoft.AspNetCore": "Warning"
} }
},
"Config": {
"ConnectionString": "Server=SDD-VMP04-SQL17\\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=dd;Encrypt=false;TrustServerCertificate=True;",
//preivous connection string without Encrypt=false and TrustServerCertificate=True -> "Server=sDD-VMP04-SQL17\\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=dd;"
"LogPath": "E:\\EnvelopeGenerator\\Logs",
"LogDebug": true,
"LogJson": true,
"AdminPassword": "dd"
} }
} }

View File

@ -10,6 +10,13 @@
"Microsoft.AspNetCore.Hosting.Diagnostics": "Warning" "Microsoft.AspNetCore.Hosting.Diagnostics": "Warning"
} }
}, },
"Config": {
"ConnectionString": "Server=SDD-VMP04-SQL17\\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=dd;Encrypt=false;TrustServerCertificate=True;",
"LogPath": "E:\\EnvelopeGenerator\\Logs",
"LogDebug": true,
"LogJson": true,
"AdminPassword": "dd"
},
"PSPDFKitLicenseKey": null, "PSPDFKitLicenseKey": null,
/* The first format parameter {0} will be replaced by the nonce value. */ /* The first format parameter {0} will be replaced by the nonce value. */
"TestCSP": false, "TestCSP": false,
@ -96,13 +103,13 @@
To add a new language, first you should write the required resx file. To add a new language, first you should write the required resx file.
first is the default culture name. */ first is the default culture name. */
"Cultures": [ "Cultures": [
{
"Language": "en-US",
"FIClass": "fi-us"
},
{ {
"Language": "de-DE", "Language": "de-DE",
"FIClass": "fi-de" "FIClass": "fi-de"
},
{
"Language": "en-US",
"FIClass": "fi-us"
} }
], ],
"DisableMultiLanguage": false "DisableMultiLanguage": false