Initial commit carried over from private repo. This is V2.
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
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.PayloadLifespanInSeconds == null || x.CreatedUtc.AddSeconds(x.PayloadLifespanInSeconds.Value) >= timestamp)
|
||||
.OrderBy(x => x.CreatedUtc);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user