Completed
Push — master ( 508eb7...87f62d )
by Ron
02:31
created

GalaxyController::getGalaxies()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 0
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace App\Http\Controllers\Galaxies;
4
5
use App\Http\Controllers\Controller;
6
use App\Http\Resources\GalaxyResource;
7
use App\Http\Resources\GalaxyTypeResource;
8
use Illuminate\Support\Facades\Cache;
9
use Starpeace\Models\Eloquent\Common\Galaxy;
10
use Starpeace\Models\Eloquent\Common\GalaxyType;
11
use App\Http\Resources\WorldResource;
12
use Starpeace\Models\Eloquent\Common\World;
13
14
class GalaxyController extends Controller
15
{
16
    public function getGalaxy($galaxy_id)
17
    {
18
        return WorldResource::collection(World::where('galaxy_id', $galaxy_id)
19
            ->investorCount()
20
            ->onlineCount()
21
            ->get());
22
    }
23
24
    public function getGalaxies()
25
    {
26
        return GalaxyResource::collection(
27
            Galaxy::with(['type', 'worlds'])->get()
28
        );
29
    }
30
31
    public function getGalaxyTypes()
32
    {
33
        return GalaxyTypeResource::collection(
34
            Cache::remember('galaxy_types', config('redis.cache_lives.galaxy_types', 60), function () {
35
                return GalaxyType::all();
36
            })
37
        );
38
    }
39
}