Refactored

This commit is contained in:
2026-03-04 23:12:44 +01:00
parent ef6305919d
commit 0013bb18df
4 changed files with 13 additions and 11 deletions

View File

@@ -21,7 +21,6 @@
<ItemGroup> <ItemGroup>
<Folder Include="Application\Models\Shape\Command\DeleteShape\" /> <Folder Include="Application\Models\Shape\Command\DeleteShape\" />
<Folder Include="Domain\Models\WhiteboardMembership\Validation\" />
<Folder Include="Infrastructure\Persistence\Db\Migrations\" /> <Folder Include="Infrastructure\Persistence\Db\Migrations\" />
</ItemGroup> </ItemGroup>

View File

@@ -58,11 +58,18 @@ public class WhiteboardRepository
entity.State = model.State; entity.State = model.State;
} }
public async Task<bool> WhiteboardCodeExists(WhiteboardCode whiteboardCode) public async Task<bool> WhiteboardCodeExistsAsync(WhiteboardCode whiteboardCode)
{ {
return await Context.Whiteboards.AnyAsync(w => w.Code == whiteboardCode.CodeValue); return await Context.Whiteboards.AnyAsync(w => w.Code == whiteboardCode.CodeValue);
} }
public async Task<Domain.Models.Whiteboard.Whiteboard?> GetByCodeAsync(WhiteboardCode whiteboardCode, CancellationToken cancellationToken = default)
{
var entity = await Context.Whiteboards.FirstOrDefaultAsync(w => w.Code == whiteboardCode.CodeValue, cancellationToken);
return entity != null ? MapToModel(entity) : null;
}
public async Task SoftDeleteAsync(WhiteboardId id, CancellationToken cancellationToken = default) public async Task SoftDeleteAsync(WhiteboardId id, CancellationToken cancellationToken = default)
{ {
var entity = await Context.Whiteboards.FindAsync([new Guid(id.IdValue)], cancellationToken); var entity = await Context.Whiteboards.FindAsync([new Guid(id.IdValue)], cancellationToken);

View File

@@ -1,4 +1,5 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using AipsCore.Domain.Models.WhiteboardMembership.Enums;
namespace AipsCore.Infrastructure.Persistence.WhiteboardMembership; namespace AipsCore.Infrastructure.Persistence.WhiteboardMembership;
@@ -15,11 +16,9 @@ public class WhiteboardMembership
public User.User? User { get; set; } = null!; public User.User? User { get; set; } = null!;
public bool IsBanned { get; set; }
public bool EditingEnabled { get; set; } public bool EditingEnabled { get; set; }
public bool CanJoin { get; set; } public WhiteboardMembershipStatus Status { get; set; }
public DateTime LastInteractedAt { get; set; } public DateTime LastInteractedAt { get; set; }
} }

View File

@@ -24,9 +24,8 @@ public class WhiteboardMembershipRepository
entity.Id.ToString(), entity.Id.ToString(),
entity.WhiteboardId.ToString(), entity.WhiteboardId.ToString(),
entity.UserId.ToString(), entity.UserId.ToString(),
entity.IsBanned,
entity.EditingEnabled, entity.EditingEnabled,
entity.CanJoin, entity.Status,
entity.LastInteractedAt entity.LastInteractedAt
); );
} }
@@ -38,18 +37,16 @@ public class WhiteboardMembershipRepository
Id = new Guid(model.Id.IdValue), Id = new Guid(model.Id.IdValue),
WhiteboardId = new Guid(model.WhiteboardId.IdValue), WhiteboardId = new Guid(model.WhiteboardId.IdValue),
UserId = new Guid(model.UserId.IdValue), UserId = new Guid(model.UserId.IdValue),
IsBanned = model.IsBanned.IsBannedValue,
EditingEnabled = model.EditingEnabled.EditingEnabledValue, EditingEnabled = model.EditingEnabled.EditingEnabledValue,
CanJoin = model.CanJoin.CanJoinValue, Status = model.Status,
LastInteractedAt = model.LastInteractedAt.LastInteractedAtValue LastInteractedAt = model.LastInteractedAt.LastInteractedAtValue
}; };
} }
protected override void UpdateEntity(WhiteboardMembership entity, Domain.Models.WhiteboardMembership.WhiteboardMembership model) protected override void UpdateEntity(WhiteboardMembership entity, Domain.Models.WhiteboardMembership.WhiteboardMembership model)
{ {
entity.IsBanned = model.IsBanned.IsBannedValue;
entity.EditingEnabled = model.EditingEnabled.EditingEnabledValue; entity.EditingEnabled = model.EditingEnabled.EditingEnabledValue;
entity.CanJoin = model.CanJoin.CanJoinValue; entity.Status = model.Status;
entity.LastInteractedAt = model.LastInteractedAt.LastInteractedAtValue; entity.LastInteractedAt = model.LastInteractedAt.LastInteractedAtValue;
} }