1212use Pterodactyl \Models \User ;
1313use JavaScript ;
1414use Illuminate \Support \Facades \DB ;
15+ use Pterodactyl \Services \DaemonKeys \DaemonKeyProviderService ;
1516
1617class StatisticsController extends Controller
1718{
1819
20+ private $ keyProviderService ;
21+
22+ function __construct (DaemonKeyProviderService $ keyProviderService )
23+ {
24+ $ this ->keyProviderService = $ keyProviderService ;
25+ }
26+
1927 public function index (Request $ request )
2028 {
2129 $ servers = Server::all ();
30+ $ nodes = Node::all ();
2231 $ serversCount = count ($ servers );
2332 $ nodesCount = Node::count ();
2433 $ usersCount = User::count ();
@@ -29,17 +38,26 @@ public function index(Request $request)
2938 $ totalServerDisk = DB ::table ('servers ' )->sum ('disk ' );
3039 $ totalNodeDisk = DB ::table ('nodes ' )->sum ('disk ' );
3140 $ totalAllocations = Allocation::count ();
41+ $ totalUsersCount = User::count ();
42+ $ totalDBCount = Database::count ();
3243
3344 $ suspendedServersCount = Server::where ('suspended ' , true )->count ();
3445
46+ $ tokens = [];
47+ foreach ($ nodes as $ node ) {
48+ $ tokens [$ node ->id ] = $ this ->keyProviderService ->handle ($ node ->servers ->get (0 ), $ request ->user ());
49+ }
50+
3551 Javascript::put ([
36- 'servers ' => Server:: all () ,
52+ 'servers ' => $ servers ,
3753 'serverCount ' => $ serversCount ,
3854 'suspendedServers ' => $ suspendedServersCount ,
3955 'totalServerRam ' => $ totalServerRam ,
4056 'totalNodeRam ' => $ totalNodeRam ,
4157 'totalServerDisk ' => $ totalServerDisk ,
4258 'totalNodeDisk ' => $ totalNodeDisk ,
59+ 'nodes ' => $ nodes ,
60+ 'tokens ' => $ tokens ,
4361 ]);
4462
4563 return view ('admin.statistics ' , [
@@ -53,6 +71,8 @@ public function index(Request $request)
5371 'totalNodeDisk ' => $ totalNodeDisk ,
5472 'totalServerDisk ' => $ totalServerDisk ,
5573 'totalAllocations ' => $ totalAllocations ,
74+ 'totalUsersCount ' => $ totalUsersCount ,
75+ 'totalDBCount ' => $ totalDBCount ,
5676 ]);
5777 }
5878
0 commit comments