implement

This commit is contained in:
2026-02-11 19:10:55 +01:00
parent caea390d18
commit d72785e37e
14 changed files with 236 additions and 2 deletions

View File

@@ -1,7 +1,10 @@
using AipsCore.Domain.Models.User.ValueObjects;
using AipsCore.Domain.Models.Whiteboard.ValueObjects;
using AipsCore.Domain.Models.WhiteboardMembership.External;
using AipsCore.Domain.Models.WhiteboardMembership.ValueObjects;
using AipsCore.Infrastructure.Persistence.Abstract;
using AipsCore.Infrastructure.Persistence.Db;
using Microsoft.EntityFrameworkCore;
namespace AipsCore.Infrastructure.Persistence.WhiteboardMembership;
@@ -49,4 +52,17 @@ public class WhiteboardMembershipRepository
entity.CanJoin = model.CanJoin.CanJoinValue;
entity.LastInteractedAt = model.LastInteractedAt.LastInteractedAtValue;
}
public async Task<Domain.Models.WhiteboardMembership.WhiteboardMembership?> GetByWhiteboardAndUserAsync(WhiteboardId whiteboardId, UserId userId, CancellationToken cancellationToken = default)
{
var whiteboardMembership = await Context.WhiteboardMemberships
.FirstOrDefaultAsync((entity) =>
entity.WhiteboardId.ToString() == whiteboardId.ToString() &&
entity.UserId.ToString() == userId.ToString(),
cancellationToken);
if (whiteboardMembership is null) return null;
return MapToModel(whiteboardMembership);
}
}