public Task <List <NotificationDto> > Handle(GetMyNotificationsQuery query) { var userId = _authProvider.UserId; if (userId == default) { throw new UnauthorizedAccessException(); } return(_context.Notifications .Where(n => n.PublishDated < DateTime.UtcNow && (n.ExpirationDate == null || n.ExpirationDate.Value > DateTime.UtcNow) && n.Reads.All(r => r.UserId != userId)) .ProjectToListAsync <NotificationDto>(_mapper.ConfigurationProvider)); }
public async Task <IActionResult> Get([FromQuery] GetMyNotificationsQuery query) { var result = await Mediator.Send(query); return(Ok(result)); }