Skip to content

Commit 567b4ba

Browse files
authored
Add /players endpoint to production (#32)
* Fix campaigns not saving * Fix #2 * Added /players endpoint
1 parent 4091ef4 commit 567b4ba

2 files changed

Lines changed: 24 additions & 0 deletions

File tree

app/Http/Controllers/Api/PlanetStatusController.php

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,4 +88,26 @@ public function planetHistory(Request $request, $planet_index) {
8888
}
8989

9090
}
91+
92+
public function playersGlobal(Request $request) {
93+
94+
$data = $request->validate([
95+
"time" => ["nullable", "date"]
96+
]);
97+
98+
if (!$request->has('time')) {
99+
$time = Carbon::now();
100+
} else {
101+
$time = Carbon::parse($data['time']);
102+
}
103+
104+
$players = Planet::with(['history' => function (Builder $q) use ($time) {
105+
$q->latest()->where('created_at', '<', $time)->limit(1);
106+
}])->sum('players');
107+
108+
return response()->json([
109+
"count" => $players
110+
], 200);
111+
112+
}
91113
}

routes/api.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,5 @@
3131
Route::get('/campaigns', [PlanetCampaignController::class, 'index']);
3232

3333
Route::get('/campaigns/active', [PlanetCampaignController::class, 'active']);
34+
35+
Route::get('/players', [PlanetStatusController::class, 'playersGlobal']);

0 commit comments

Comments
 (0)