Files
messengerapi/code/MessengerApi.Db/Repositories/MessageRepository.cs
masiton a44912ac87
All checks were successful
Build and Push Docker Image / build (push) Successful in 55s
Build and Push Docker Image / docker (push) Successful in 36s
payloadLifespan/payloadLifetime and other name variants unified to Time To Live naming.
2025-07-05 17:07:53 +02:00

23 lines
739 B
C#

using MessengerApi.Db.Contracts.Repositories;
using MessengerApi.Db.Entities;
using Microsoft.EntityFrameworkCore;
namespace MessengerApi.Db.Repositories
{
public class MessageRepository : Repository<Message>, IMessageRepository
{
public MessageRepository(DbSet<Message> db) : base(db)
{
}
public IEnumerable<Message> GetPendingMessages(User user)
{
var timestamp = DateTime.UtcNow;
return this.db
.Where(x => x.ToId == user.Id && x.IsDelivered == false)
.Where(x => x.TimeToLiveInSeconds == null || x.CreatedUtc.AddSeconds(x.TimeToLiveInSeconds.Value) >= timestamp)
.OrderBy(x => x.CreatedUtc);
}
}
}