Sloving the rebase

This commit is contained in:
ashutosh.nehete 2025-08-11 16:50:55 +05:30
parent 5c411602bc
commit 4bd3e59427
4 changed files with 39 additions and 1 deletions

View File

@ -19,6 +19,7 @@ namespace Marco.Pms.Model.Dtos.Attendance
public ATTENDANCE_MARK_TYPE Action { get; set; } public ATTENDANCE_MARK_TYPE Action { get; set; }
public FileUploadModel? Image { get; set; } public FileUploadModel? Image { get; set; }
public string DeviceToken { get; set; } = string.Empty;
} }
public enum ATTENDANCE_MARK_TYPE public enum ATTENDANCE_MARK_TYPE

View File

@ -1,4 +1,6 @@
using Marco.Pms.DataAccess.Data; using System.Globalization;
using FirebaseAdmin.Messaging;
using Marco.Pms.DataAccess.Data;
using Marco.Pms.Model.AttendanceModule; using Marco.Pms.Model.AttendanceModule;
using Marco.Pms.Model.Dtos.Attendance; using Marco.Pms.Model.Dtos.Attendance;
using Marco.Pms.Model.Employees; using Marco.Pms.Model.Employees;
@ -776,6 +778,18 @@ namespace MarcoBMS.Services.Controllers
_logger.LogInfo("Attendance recorded for employee: {FullName}", $"{employee.FirstName} {employee.LastName}"); _logger.LogInfo("Attendance recorded for employee: {FullName}", $"{employee.FirstName} {employee.LastName}");
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);
return Ok(ApiResponse<object>.SuccessResponse(vm, "Attendance marked successfully.", 200)); return Ok(ApiResponse<object>.SuccessResponse(vm, "Attendance marked successfully.", 200));
} }
catch (Exception ex) catch (Exception ex)

View File

@ -0,0 +1,13 @@
{
"type": "service_account",
"project_id": "marcopms-mobileapp",
"private_key_id": "5ee56ae12fbbfd95f46c613db3aa966fe26fe1b6",
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDJrORK61zoPVTw\nr8TkLbgV9qejyTD6OP67fMsxgJDSr8Fq6AJxKNfIMD+RhH44/etUeoHMDoYXQY5k\nu9sRaHnh1Hk62FJSm4SnhwwMdjVZT4xakuq4cfWfXBu3lQJHXfZEXJIjTwLr3Jb4\nryWVndEAI0/mT2drJc3riGLYCDEf4A79RXAzqGqg4A539JJ5+3zAtqepTbGpZ/cO\nJOmLP8k27Pm7lvuiyl4f16Xw0V00s1RCnFJIyBrrCqtCT5vTWdZ7a5ka10HgCFlW\nPUwjfB7b1rqSXmxsCOuRma2fQYc0cIhnFvXh71pC4kP0/V9K6cWxS97i1URU0hhi\nVOPoZ+j3AgMBAAECggEAOfUXvngZQRyvFmRM/w4sgxNZZfZhvuc2PYdFlbpO5F1i\nBmkamo6URJGpExayd4pxYNu8BXp/CpvqYgSilkQiEsZO+JxGPDs5SjPDQKmP91Sn\nDzh9f/gwEFYWGRIXj47vQQIhdUg1nLbOJDWhZXfvIk0DnzpejCpXHUMatN7Vz0TA\nAfj9mMcptXBNtLKl59sDkkscEj3Uf/s0d//jrhhEOsyid+slgIpRpQzgHQBavi0d\nhT/aVnBE9NiCgkZARVjcljIXTg24rYrARHYjsN066WdOF2uVnUNrxOgLQfzE7ZOe\nWzF0PDWyJe4FBjabIOHqFw4Nt3j2EakXUJ6Q/PVukQKBgQDvj2mv+0myeP5Wc5Cu\nW9BVrE41Q8nBq0D5CTIyklAP7SVOakmzjzbRV2rjL3Gnzo27tK3aUQjetTMYv5fk\nUUMJkzGvpgJW44qtULHP5gvkaPjV18CwvQv8KyyEOnF7uWkXquJ+9nfrzDaocx/X\nA1wx3Csvd/tTePSCY0uBCIMCFQKBgQDXg+tAiTUesGB3YpS77oc1XHdB9j+/anzx\n2e/PcGMzY2BZdNZ23avS0dnWfkZ1Eocxma8UP+okIvSyMpD4kSlJeya56HZU748E\nvJM7HlqCuYRvVbXVAiHrdC87eKhCzA9MNwBpy0fTbuudaDU2Z9WhoRgHqnte8vvw\nLCNTcKXd2wKBgQCT+cBM5in1xmtEt4ntSeV8pjyBBmh/6urtadLKDjrKO7BJqbnw\n4kv4L8lkoA/SmfJOuiKRsnCKMN9pMCAA9nk0VungF+lmBpPIzwmm4/EAnB7o6Kas\nBXp7v6d13ivvQu45omLaDiCxVKmGj+ZhCEBQxDEg1zo1q4dNa0xeXgWeqQKBgC0Z\n41qPHDm+6YEydTPbGBqXrjF0qiSR0XH/jMsZlvkDG/+8jsEzZKjq166moHIRnY9I\nvTX8pjBHzHOaV3JdVomVJyaSumjN9V0lZZ5inMhssIVoJ3RbTOPsXZIRjwzjjXQC\nsqhxLSfXN6GqVDB9jFyVzOSVzdmx+f1qDz5//YYvAoGAKPZazVtNAXf1/qgBEivE\ncSFaGhdcw35Pwk9CNwKtRT2DFOVQEvd18xY5Naqnm6thYv+UUEAQzGS/6mBUXsOi\n7nDsEN2P40o/eR6x10ZExwsqzIeOTd16fRiQyoMIEOQ7bkGO4KeZ8zAeqKelQxhU\njigmeDSw8y+HfTx74P7yAtI=\n-----END PRIVATE KEY-----\n",
"client_email": "firebase-adminsdk-fbsvc@marcopms-mobileapp.iam.gserviceaccount.com",
"client_id": "107885185225751718454",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-fbsvc%40marcopms-mobileapp.iam.gserviceaccount.com",
"universe_domain": "googleapis.com"
}

View File

@ -1,3 +1,6 @@
using System.Text;
using FirebaseAdmin;
using Google.Apis.Auth.OAuth2;
using Marco.Pms.DataAccess.Data; using Marco.Pms.DataAccess.Data;
using Marco.Pms.Helpers; using Marco.Pms.Helpers;
using Marco.Pms.Helpers.CacheHelper; using Marco.Pms.Helpers.CacheHelper;
@ -210,6 +213,13 @@ builder.WebHost.ConfigureKestrel(options =>
#endregion #endregion
string path = Path.Combine(builder.Environment.ContentRootPath, "FireBase", "service-account.json");
FirebaseApp.Create(new AppOptions()
{
Credential = GoogleCredential.FromFile(path),
});
var app = builder.Build(); var app = builder.Build();
#region ===================== HTTP Request Pipeline Configuration ===================== #region ===================== HTTP Request Pipeline Configuration =====================