|
@ -29,6 +29,7 @@ using System.Text; |
|
|
using System.IO; |
|
|
using System.IO; |
|
|
using Abp.AutoMapper; |
|
|
using Abp.AutoMapper; |
|
|
using Abp.Domain.Entities; |
|
|
using Abp.Domain.Entities; |
|
|
|
|
|
using BCS.BMC.BMC.FirebaseCloudMessages; |
|
|
|
|
|
|
|
|
namespace BCS.BMC.Controllers |
|
|
namespace BCS.BMC.Controllers |
|
|
{ |
|
|
{ |
|
@ -43,6 +44,7 @@ namespace BCS.BMC.Controllers |
|
|
private readonly IExternalAuthManager _externalAuthManager; |
|
|
private readonly IExternalAuthManager _externalAuthManager; |
|
|
private readonly UserRegistrationManager _userRegistrationManager; |
|
|
private readonly UserRegistrationManager _userRegistrationManager; |
|
|
private readonly IRepository<CompanyMaster, int> _companyMaster; |
|
|
private readonly IRepository<CompanyMaster, int> _companyMaster; |
|
|
|
|
|
private readonly IRepository<FirebaseToken, int> _firebaseToken; |
|
|
ResponseMessageModel responsemessage = new ResponseMessageModel(); |
|
|
ResponseMessageModel responsemessage = new ResponseMessageModel(); |
|
|
public TokenAuthController( |
|
|
public TokenAuthController( |
|
|
LogInManager logInManager, |
|
|
LogInManager logInManager, |
|
@ -52,7 +54,8 @@ namespace BCS.BMC.Controllers |
|
|
IExternalAuthConfiguration externalAuthConfiguration, |
|
|
IExternalAuthConfiguration externalAuthConfiguration, |
|
|
IExternalAuthManager externalAuthManager, |
|
|
IExternalAuthManager externalAuthManager, |
|
|
UserRegistrationManager userRegistrationManager, |
|
|
UserRegistrationManager userRegistrationManager, |
|
|
IRepository<CompanyMaster, int> companyMaster) |
|
|
|
|
|
|
|
|
IRepository<CompanyMaster, int> companyMaster, |
|
|
|
|
|
IRepository<FirebaseToken, int> firebaseToken) |
|
|
{ |
|
|
{ |
|
|
_logInManager = logInManager; |
|
|
_logInManager = logInManager; |
|
|
_tenantCache = tenantCache; |
|
|
_tenantCache = tenantCache; |
|
@ -62,6 +65,7 @@ namespace BCS.BMC.Controllers |
|
|
_externalAuthManager = externalAuthManager; |
|
|
_externalAuthManager = externalAuthManager; |
|
|
_userRegistrationManager = userRegistrationManager; |
|
|
_userRegistrationManager = userRegistrationManager; |
|
|
_companyMaster = companyMaster; |
|
|
_companyMaster = companyMaster; |
|
|
|
|
|
_firebaseToken = firebaseToken; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
[HttpPost] |
|
|
[HttpPost] |
|
@ -309,18 +313,35 @@ namespace BCS.BMC.Controllers |
|
|
requestContent.Headers.ContentType = new MediaTypeWithQualityHeaderValue("application/json"); |
|
|
requestContent.Headers.ContentType = new MediaTypeWithQualityHeaderValue("application/json"); |
|
|
HttpResponseMessage response = await client.PostAsync(baseUrl, requestContent); |
|
|
HttpResponseMessage response = await client.PostAsync(baseUrl, requestContent); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (response.IsSuccessStatusCode) |
|
|
if (response.IsSuccessStatusCode) |
|
|
{ |
|
|
{ |
|
|
var responseStream = await response.Content.ReadAsStringAsync(); |
|
|
var responseStream = await response.Content.ReadAsStringAsync(); |
|
|
LoginOrRegisterResponseMessageModel result = JsonConvert.DeserializeObject<LoginOrRegisterResponseMessageModel>(responseStream); |
|
|
LoginOrRegisterResponseMessageModel result = JsonConvert.DeserializeObject<LoginOrRegisterResponseMessageModel>(responseStream); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var getTokenDetails = _firebaseToken.GetAllList().Where(x => x.HostName == host && x.UserId == int.Parse(result.result.userId)).FirstOrDefault(); |
|
|
|
|
|
if (getTokenDetails is null) |
|
|
|
|
|
{ |
|
|
|
|
|
FirebaseToken entity = new FirebaseToken(); |
|
|
|
|
|
entity.UserId = int.Parse(result.result.userId); |
|
|
|
|
|
entity.HostName = host; |
|
|
|
|
|
entity.FcmToken = input.FcmToken; |
|
|
|
|
|
await _firebaseToken.InsertAndGetIdAsync(entity); |
|
|
|
|
|
} |
|
|
|
|
|
if (getTokenDetails != null) |
|
|
|
|
|
{ |
|
|
|
|
|
getTokenDetails.FcmToken = input.FcmToken; |
|
|
|
|
|
|
|
|
|
|
|
await _firebaseToken.UpdateAsync(getTokenDetails); |
|
|
|
|
|
} |
|
|
return Ok(result); |
|
|
return Ok(result); |
|
|
} |
|
|
} |
|
|
else if (response.StatusCode == HttpStatusCode.InternalServerError) |
|
|
else if (response.StatusCode == HttpStatusCode.InternalServerError) |
|
|
{ |
|
|
{ |
|
|
var contents = await response.Content.ReadAsStringAsync(); |
|
|
var contents = await response.Content.ReadAsStringAsync(); |
|
|
ResponseMessageModel result = JsonConvert.DeserializeObject<ResponseMessageModel>(contents); |
|
|
ResponseMessageModel result = JsonConvert.DeserializeObject<ResponseMessageModel>(contents); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return BadRequest(result.error.message == "Login Failed" ? "Invalid Username Or Password" : result.error.message); |
|
|
return BadRequest(result.error.message == "Login Failed" ? "Invalid Username Or Password" : result.error.message); |
|
|
} |
|
|
} |
|
|
return Ok(); |
|
|
return Ok(); |
|
@ -373,5 +394,25 @@ namespace BCS.BMC.Controllers |
|
|
} |
|
|
} |
|
|
return BadRequest(); |
|
|
return BadRequest(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
[HttpPost] |
|
|
|
|
|
public async Task<IActionResult> DeleteRegisteredFcmToken([FromBody] FcmTokenDeleteInput input) |
|
|
|
|
|
{ |
|
|
|
|
|
Uri uri = new Uri(input.HostName); |
|
|
|
|
|
var host = uri.Host; |
|
|
|
|
|
var getTokenDetails = _firebaseToken.GetAllList().Where(x => x.HostName == host && x.UserId == input.UserId).FirstOrDefault(); |
|
|
|
|
|
|
|
|
|
|
|
if (getTokenDetails != null) |
|
|
|
|
|
{ |
|
|
|
|
|
FirebaseToken entity = new FirebaseToken(); |
|
|
|
|
|
getTokenDetails.FcmToken = null; |
|
|
|
|
|
await _firebaseToken.UpdateAsync(getTokenDetails); |
|
|
|
|
|
} |
|
|
|
|
|
else |
|
|
|
|
|
{ |
|
|
|
|
|
return BadRequest("logout failed"); |
|
|
|
|
|
} |
|
|
|
|
|
return Ok("Success"); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |