Testing the firebase notification added in login API

This commit is contained in:
ashutosh.nehete 2025-08-12 10:03:28 +05:30
parent 648b4f9ef0
commit 1b47fbdcf0
3 changed files with 30 additions and 15 deletions

View File

@ -4,5 +4,7 @@
{ {
public string? Username { get; set; } public string? Username { get; set; }
public string? Password { get; set; } public string? Password { get; set; }
public required string DeviceToken { get; set; }
} }
} }

View File

@ -808,17 +808,7 @@ namespace MarcoBMS.Services.Controllers
PreSignedUrl = string.Empty PreSignedUrl = string.Empty
}; };
} }
var message = new Message()
{
Token = recordAttendanceDot.DeviceToken,
Notification = new Notification
{
Title = "Hello from .NET",
Body = "This is a test message"
}
};
string response = await FirebaseMessaging.DefaultInstance.SendAsync(message);
_logger.LogInfo("Firebase push notification messageId: {MessageId}", response);
_logger.LogInfo("Attendance for employee {FirstName} {LastName} has been marked", employee.FirstName ?? string.Empty, employee.LastName ?? string.Empty); _logger.LogInfo("Attendance for employee {FirstName} {LastName} has been marked", employee.FirstName ?? string.Empty, employee.LastName ?? string.Empty);

View File

@ -1,7 +1,4 @@
using System.Net; using FirebaseAdmin.Messaging;
using System.Security.Claims;
using System.Security.Cryptography;
using System.Text;
using Marco.Pms.DataAccess.Data; using Marco.Pms.DataAccess.Data;
using Marco.Pms.Model.Authentication; using Marco.Pms.Model.Authentication;
using Marco.Pms.Model.Dtos.Authentication; using Marco.Pms.Model.Dtos.Authentication;
@ -15,6 +12,10 @@ using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using System.Net;
using System.Security.Claims;
using System.Security.Cryptography;
using System.Text;
namespace MarcoBMS.Services.Controllers namespace MarcoBMS.Services.Controllers
{ {
@ -51,6 +52,17 @@ namespace MarcoBMS.Services.Controllers
{ {
try try
{ {
var message = new Message()
{
Token = "ewjsd9zGTh6aS6Vg3Z_uxP:APA91bFZi1KzZdxlHUfBa_dX3PEJnDhX4R2dvFjD9Zf3WPSm957Hb53JPim7jrpjhpeOY61I9rfc11c3wpqWfW_06aSx-Yb8UfWpygV2YgZ8gbHtSku_PSQ",
Notification = new Notification
{
Title = "Hello from .NET",
Body = "This is a test message"
}
};
string response = await FirebaseMessaging.DefaultInstance.SendAsync(message);
_logger.LogInfo("Firebase push notification messageId: {MessageId}", response);
// Find user by email or phone number // Find user by email or phone number
var user = await _context.ApplicationUsers var user = await _context.ApplicationUsers
.FirstOrDefaultAsync(u => u.Email == loginDto.Username || u.PhoneNumber == loginDto.Username); .FirstOrDefaultAsync(u => u.Email == loginDto.Username || u.PhoneNumber == loginDto.Username);
@ -118,6 +130,17 @@ namespace MarcoBMS.Services.Controllers
[HttpPost("login-mobile")] [HttpPost("login-mobile")]
public async Task<IActionResult> LoginMobile([FromBody] LoginDto loginDto) public async Task<IActionResult> LoginMobile([FromBody] LoginDto loginDto)
{ {
var message = new Message()
{
Token = loginDto.DeviceToken,
Notification = new Notification
{
Title = "Hello from .NET",
Body = "This is a test message"
}
};
string response = await FirebaseMessaging.DefaultInstance.SendAsync(message);
_logger.LogInfo("Firebase push notification messageId: {MessageId}", response);
// Validate input DTO // Validate input DTO
if (loginDto == null || string.IsNullOrWhiteSpace(loginDto.Username) || string.IsNullOrWhiteSpace(loginDto.Password)) if (loginDto == null || string.IsNullOrWhiteSpace(loginDto.Username) || string.IsNullOrWhiteSpace(loginDto.Password))
{ {