public async Task <IActionResult> CreateUserNotification([FromBody] NotificationModelDto notification) { if (ModelState.IsValid) { var user = await _userManager.GetUserAsync(HttpContext.User); var email = user?.Email; var notif = _mapper.Map <NotificationModel>(notification); notif.CreatedDate = DateTime.Now; notif.IsRecurring = false; notif.IsRead = false; var result = await _service.CreateUserNotification(notif, email); if (result.IsSuccess) { return(Ok(result)); } return(BadRequest(result)); } return(BadRequest("Some properties are not valid")); }
public void Broadcast([FromBody] NotificationModelDto message, [FromServices] VapidDetails vapidDetails) { var client = new WebPushClient(); var serializedMessage = JsonConvert.SerializeObject(message); foreach (var pushSubscription in Subscriptions) { client.SendNotification(pushSubscription, serializedMessage, vapidDetails); } }