Browse Source

BMC: FCM token Delete Functionality

dev
Palash Biswas 2 years ago
parent
commit
6ef253f537
2 changed files with 39 additions and 5 deletions
  1. +25
    -5
      BCS.BMC/src/BCS.BMC.Web.Core/Controllers/TokenAuthController.cs
  2. +14
    -0
      BCS.BMC/src/BCS.BMC.Web.Core/Models/TokenAuth/FcmTokenDeleteInput.cs

+ 25
- 5
BCS.BMC/src/BCS.BMC.Web.Core/Controllers/TokenAuthController.cs View File

@ -313,12 +313,12 @@ 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(); var getTokenDetails = _firebaseToken.GetAllList().Where(x => x.HostName == host && x.UserId == int.Parse(result.result.userId)).FirstOrDefault();
if (getTokenDetails is null) if (getTokenDetails is null)
@ -331,8 +331,8 @@ namespace BCS.BMC.Controllers
} }
if (getTokenDetails != null) if (getTokenDetails != null)
{ {
FirebaseToken entity = new FirebaseToken();
getTokenDetails.FcmToken = input.FcmToken; getTokenDetails.FcmToken = input.FcmToken;
await _firebaseToken.UpdateAsync(getTokenDetails); await _firebaseToken.UpdateAsync(getTokenDetails);
} }
return Ok(result); return Ok(result);
@ -341,7 +341,7 @@ namespace BCS.BMC.Controllers
{ {
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();
@ -394,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");
}
} }
} }

+ 14
- 0
BCS.BMC/src/BCS.BMC.Web.Core/Models/TokenAuth/FcmTokenDeleteInput.cs View File

@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BCS.BMC.Models.TokenAuth
{
public class FcmTokenDeleteInput
{
public int UserId { get; set; }
public string HostName { get; set; }
}
}

Loading…
Cancel
Save