Firebase_Implementation #135

Merged
ashutosh.nehete merged 62 commits from Firebase_Implementation into main 2025-09-20 12:11:54 +00:00
3 changed files with 30 additions and 15 deletions
Showing only changes of commit 1b47fbdcf0 - Show all commits

View File

@ -4,5 +4,7 @@
{
public string? Username { 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
};
}
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);

View File

@ -1,7 +1,4 @@
using System.Net;
using System.Security.Claims;
using System.Security.Cryptography;
using System.Text;
using FirebaseAdmin.Messaging;
using Marco.Pms.DataAccess.Data;
using Marco.Pms.Model.Authentication;
using Marco.Pms.Model.Dtos.Authentication;
@ -15,6 +12,10 @@ using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using System.Net;
using System.Security.Claims;
using System.Security.Cryptography;
using System.Text;
namespace MarcoBMS.Services.Controllers
{
@ -51,6 +52,17 @@ namespace MarcoBMS.Services.Controllers
{
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
var user = await _context.ApplicationUsers
.FirstOrDefaultAsync(u => u.Email == loginDto.Username || u.PhoneNumber == loginDto.Username);
@ -118,6 +130,17 @@ namespace MarcoBMS.Services.Controllers
[HttpPost("login-mobile")]
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
if (loginDto == null || string.IsNullOrWhiteSpace(loginDto.Username) || string.IsNullOrWhiteSpace(loginDto.Password))
{