refactor
This commit is contained in:
22
core/racing/domain/entities/MembershipStatus.ts
Normal file
22
core/racing/domain/entities/MembershipStatus.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
import { RacingDomainValidationError } from '../errors/RacingDomainError';
|
||||
|
||||
export type MembershipStatusValue = 'active' | 'inactive' | 'pending';
|
||||
|
||||
export class MembershipStatus {
|
||||
private constructor(private readonly value: MembershipStatusValue) {}
|
||||
|
||||
static create(value: MembershipStatusValue): MembershipStatus {
|
||||
if (!value) {
|
||||
throw new RacingDomainValidationError('Membership status is required');
|
||||
}
|
||||
return new MembershipStatus(value);
|
||||
}
|
||||
|
||||
toString(): MembershipStatusValue {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
equals(other: MembershipStatus): boolean {
|
||||
return this.value === other.value;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user