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");
HttpResponseMessage response = await client.PostAsync(baseUrl, requestContent);
if (response.IsSuccessStatusCode)
{
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)
@ -331,8 +331,8 @@ namespace BCS.BMC.Controllers
}
if (getTokenDetails != null)
{
FirebaseToken entity = new FirebaseToken();
getTokenDetails.FcmToken = input.FcmToken;
await _firebaseToken.UpdateAsync(getTokenDetails);
}
return Ok(result);
@ -341,7 +341,7 @@ namespace BCS.BMC.Controllers
{
var contents = await response.Content.ReadAsStringAsync();
ResponseMessageModel result = JsonConvert.DeserializeObject<ResponseMessageModel>(contents);
return BadRequest(result.error.message == "Login Failed" ? "Invalid Username Or Password" : result.error.message);
}
return Ok();
@ -394,5 +394,25 @@ namespace BCS.BMC.Controllers
}
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