Domain entities now inheriting from abstract entity

This commit is contained in:
Veljko Tosic
2026-02-11 02:21:25 +01:00
parent a4245fdd93
commit b54c72bb42
4 changed files with 17 additions and 18 deletions

View File

@@ -1,3 +1,4 @@
using AipsCore.Domain.Abstract;
using AipsCore.Domain.Common.ValueObjects;
using AipsCore.Domain.Models.Shape.Enums;
using AipsCore.Domain.Models.Shape.ValueObjects;
@@ -6,10 +7,8 @@ using AipsCore.Domain.Models.Whiteboard.ValueObjects;
namespace AipsCore.Domain.Models.Shape;
public abstract class Shape
public abstract class Shape : DomainEntity<ShapeId>
{
public ShapeId Id { get; init; }
public WhiteboardId WhiteboardId { get; private set; }
public UserId AuthorId { get; private set; }
@@ -21,8 +20,8 @@ public abstract class Shape
public Color Color { get; private set; }
protected Shape(ShapeId id, WhiteboardId whiteboardId, UserId authorId, Position position, Color color)
: base(id)
{
Id = id;
Position = position;
Color = color;
AuthorId = authorId;
@@ -35,10 +34,10 @@ public abstract class Shape
int positionX, int positionY,
string color, UserId authorId)
{
AuthorId = authorId;
Id = new ShapeId(id);
Position = new Position(positionX, positionY);
Color = new Color(color);
AuthorId = authorId;
WhiteboardId = new WhiteboardId(whiteboardId);
}
}

View File

@@ -1,19 +1,19 @@
using AipsCore.Domain.Common.ValueObjects;
using AipsCore.Domain.Abstract;
using AipsCore.Domain.Common.ValueObjects;
using AipsCore.Domain.Models.User.ValueObjects;
namespace AipsCore.Domain.Models.User;
public class User
public class User : DomainEntity<UserId>
{
public UserId Id { get; private set; }
public Email Email { get; private set; }
public Username Username { get; private set; }
public UserCreatedAt CreatedAt { get; private set; }
public UserDeletedAt DeletedAt { get; private set; }
public User(UserId id, Email email, Username username, UserCreatedAt createdAt, UserDeletedAt deletedAt)
: base(id)
{
Id = id;
Email = email;
Username = username;
CreatedAt = createdAt;

View File

@@ -1,12 +1,12 @@
using AipsCore.Domain.Models.User.ValueObjects;
using AipsCore.Domain.Abstract;
using AipsCore.Domain.Models.User.ValueObjects;
using AipsCore.Domain.Models.Whiteboard.Enums;
using AipsCore.Domain.Models.Whiteboard.ValueObjects;
namespace AipsCore.Domain.Models.Whiteboard;
public class Whiteboard
public class Whiteboard : DomainEntity<WhiteboardId>
{
public WhiteboardId Id { get; private set; }
public UserId WhiteboardOwnerId { get; private set; }
public WhiteboardCode Code { get; private set; }
public WhiteboardTitle Title { get; private set; }
@@ -26,8 +26,8 @@ public class Whiteboard
WhiteboardMaxParticipants maxParticipants,
WhiteboardJoinPolicy joinPolicy,
WhiteboardState state)
: base(id)
{
Id = id;
WhiteboardOwnerId = whiteboardOwner.Id;
Code = code;
Title = title;
@@ -48,8 +48,8 @@ public class Whiteboard
WhiteboardMaxParticipants maxParticipants,
WhiteboardJoinPolicy joinPolicy,
WhiteboardState state)
: base(id)
{
Id = id;
WhiteboardOwnerId = whiteboardOwnerId;
Code = code;
Title = title;

View File

@@ -1,12 +1,12 @@
using AipsCore.Domain.Abstract;
using AipsCore.Domain.Models.User.ValueObjects;
using AipsCore.Domain.Models.Whiteboard.ValueObjects;
using AipsCore.Domain.Models.WhiteboardMembership.ValueObjects;
namespace AipsCore.Domain.Models.WhiteboardMembership;
public class WhiteboardMembership
public class WhiteboardMembership : DomainEntity<WhiteboardMembershipId>
{
public WhiteboardMembershipId Id { get; private set; }
public WhiteboardId WhiteboardId { get; private set; }
public UserId UserId { get; private set; }
public WhiteboardMembershipIsBanned IsBanned { get; private set; }
@@ -22,8 +22,8 @@ public class WhiteboardMembership
WhiteboardMembershipEditingEnabled editingEnabled,
WhiteboardMembershipCanJoin canJoin,
WhiteboardMembershipLastInteractedAt lastInteractedAt)
: base(id)
{
Id = id;
WhiteboardId = owner.Id;
UserId = user.Id;
IsBanned = isBanned;
@@ -40,8 +40,8 @@ public class WhiteboardMembership
WhiteboardMembershipEditingEnabled editingEnabled,
WhiteboardMembershipCanJoin canJoin,
WhiteboardMembershipLastInteractedAt lastInteractedAt)
: base(id)
{
Id = id;
WhiteboardId = ownerId;
UserId = userId;
IsBanned = isBanned;