public async Task <IActionResult> LoginAsync([FromBody] Credentials credentials)
        {
            var actionResponseBuilder = GetEmptyResponseBuilder <Session>();

            try
            {
                if (ModelState.IsValid)
                {
                    var session = await _sessionService.AuthenticateAsync(credentials);

                    actionResponseBuilder.SetData(session);

                    return(Ok(actionResponseBuilder.Build()));
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex)
            {
                actionResponseBuilder.AddError(new Common.Utilities.ErrorMessage(Common.Enums.ErrorType.Invalid, ex.Message));
                return(Unauthorized(actionResponseBuilder.Build()));
            }
        }