export class RestrictionCheckResult {
  private constructor(
    public readonly allowed: boolean,
    public readonly message: string | null,
  ) {}

  static allowed(): RestrictionCheckResult {
    return new RestrictionCheckResult(true, null)
  }

  static blocked(message: string): RestrictionCheckResult {
    return new RestrictionCheckResult(false, message)
  }

  isAllowed(): boolean {
    return this.allowed
  }

  isBlocked(): boolean {
    return !this.allowed
  }
}
