Domain for whiteboard membership
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
using AipsCore.Domain.Abstract.Rule;
|
||||
using AipsCore.Domain.Abstract.ValueObject;
|
||||
|
||||
namespace AipsCore.Domain.Models.WhiteboardMembership.ValueObjects;
|
||||
|
||||
public record WhiteboardMembershipCanJoin : AbstractValueObject
|
||||
{
|
||||
public bool CanJoinValue { get; init; }
|
||||
|
||||
public WhiteboardMembershipCanJoin(bool CanJoinValue)
|
||||
{
|
||||
this.CanJoinValue = CanJoinValue;
|
||||
Validate();
|
||||
}
|
||||
|
||||
protected override ICollection<IRule> GetValidationRules()
|
||||
{
|
||||
return [];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
using AipsCore.Domain.Abstract.Rule;
|
||||
using AipsCore.Domain.Abstract.ValueObject;
|
||||
|
||||
namespace AipsCore.Domain.Models.WhiteboardMembership.ValueObjects;
|
||||
|
||||
public record WhiteboardMembershipEditingEnabled : AbstractValueObject
|
||||
{
|
||||
public bool EditingEnabledValue { get; init; }
|
||||
|
||||
public WhiteboardMembershipEditingEnabled(bool EditingEnabledValue)
|
||||
{
|
||||
this.EditingEnabledValue = EditingEnabledValue;
|
||||
Validate();
|
||||
}
|
||||
|
||||
protected override ICollection<IRule> GetValidationRules()
|
||||
{
|
||||
return [];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
using AipsCore.Domain.Common.ValueObjects;
|
||||
|
||||
namespace AipsCore.Domain.Models.WhiteboardMembership.ValueObjects;
|
||||
|
||||
public record WhiteboardMembershipId(string IdValue) : DomainId(IdValue)
|
||||
{
|
||||
public static WhiteboardMembershipId Any() => new(Guid.NewGuid().ToString());
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
using AipsCore.Domain.Abstract.Rule;
|
||||
using AipsCore.Domain.Abstract.ValueObject;
|
||||
|
||||
namespace AipsCore.Domain.Models.WhiteboardMembership.ValueObjects;
|
||||
|
||||
public record WhiteboardMembershipIsBanned : AbstractValueObject
|
||||
{
|
||||
public bool IsBannedValue { get; init; }
|
||||
|
||||
public WhiteboardMembershipIsBanned(bool IsBannedValue)
|
||||
{
|
||||
this.IsBannedValue = IsBannedValue;
|
||||
Validate();
|
||||
}
|
||||
|
||||
protected override ICollection<IRule> GetValidationRules()
|
||||
{
|
||||
return [];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
using AipsCore.Domain.Abstract.Rule;
|
||||
using AipsCore.Domain.Abstract.ValueObject;
|
||||
using AipsCore.Domain.Common.Validation.Rules;
|
||||
|
||||
namespace AipsCore.Domain.Models.WhiteboardMembership.ValueObjects;
|
||||
|
||||
public record WhiteboardMembershipLastInteractedAt : AbstractValueObject
|
||||
{
|
||||
public DateTime LastInteractedAtValue { get; init; }
|
||||
|
||||
public WhiteboardMembershipLastInteractedAt(DateTime LastInteractedAtValue)
|
||||
{
|
||||
this.LastInteractedAtValue = LastInteractedAtValue;
|
||||
Validate();
|
||||
}
|
||||
|
||||
protected override ICollection<IRule> GetValidationRules()
|
||||
{
|
||||
return [
|
||||
new DateInPastRule(LastInteractedAtValue)
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user