AccountSummaryProvider.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace ModulesGarden\Servers\ProxmoxCloudVps\App\UI\AccountSummary\Providers;
  3. use function ModulesGarden\Servers\ProxmoxCloudVps\Core\Helper\di;
  4. use ModulesGarden\ProxmoxAddon\App\Services\Cloud\ProductService;
  5. use ModulesGarden\ProxmoxAddon\App\Services\Cloud\ResourceManager;
  6. class AccountSummaryProvider
  7. {
  8. public function read()
  9. {
  10. $resourceManager = new ResourceManager();
  11. $this->data['bars'] = [
  12. [
  13. 'name' => di('lang')->abtr('memory'),
  14. 'value' => $resourceManager->memory()->getPercent(),
  15. 'used' => $resourceManager->memory()->getUsed(),
  16. 'max' => $resourceManager->memory()->getTotal(),
  17. 'unit' => di('lang')->abtr('MB'),
  18. ],
  19. [
  20. 'name' => di('lang')->abtr('vcpu'),
  21. 'value' => $resourceManager->vcpus()->getPercent(),
  22. 'used' => $resourceManager->vcpus()->getUsed(),
  23. 'max' => $resourceManager->vcpus()->getTotal(),
  24. 'unit' => di('lang')->abtr('cores'),
  25. ],
  26. [
  27. 'name' => di('lang')->abtr('disk'),
  28. 'value' => $resourceManager->disk()->getPercent(),
  29. 'used' => $resourceManager->disk()->getUsed(),
  30. 'max' => $resourceManager->disk()->getTotal(),
  31. 'unit' => di('lang')->abtr('GB'),
  32. ],
  33. [
  34. 'name' => di('lang')->abtr('networks'),
  35. 'value' => $resourceManager->virtualNetworks()->getPercent(),
  36. 'used' => $resourceManager->virtualNetworks()->getUsed(),
  37. 'max' => $resourceManager->virtualNetworks()->getTotal(),
  38. 'unit' => ''
  39. ]
  40. ];
  41. return $this->data['bars'];
  42. }
  43. }