NodeService.php 677 B

1234567891011121314151617181920212223242526272829303132
  1. <?php
  2. namespace App\Services;
  3. use App\Models\Node;
  4. use Illuminate\Database\Eloquent\Builder;
  5. class NodeService
  6. {
  7. public function getActiveNodeTypes(?Builder $nodes = null): array
  8. {
  9. if (! $nodes) {
  10. $nodes = Node::whereStatus(1);
  11. }
  12. $types = $nodes->pluck('type')->unique();
  13. if ($types->contains(0)) {
  14. $data[] = 'ss';
  15. }
  16. if ($types->contains(1) || $types->contains(4)) {
  17. $data[] = 'ssr';
  18. }
  19. if ($types->contains(2)) {
  20. $data[] = 'v2';
  21. }
  22. if ($types->contains(3)) {
  23. $data[] = 'trojan';
  24. }
  25. return $data ?? [];
  26. }
  27. }