Extension.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <?php
  2. namespace Dcat\Admin\Http\Repositories;
  3. use Dcat\Admin\Admin;
  4. use Dcat\Admin\Extend\ServiceProvider as AbstractExtension;
  5. use Dcat\Admin\Form;
  6. use Dcat\Admin\Grid;
  7. use Dcat\Admin\Repositories\Repository;
  8. use Dcat\Admin\Show;
  9. class Extension extends Repository
  10. {
  11. public function get(Grid\Model $model)
  12. {
  13. $data = [];
  14. foreach (Admin::extension()->all() as $extension) {
  15. $data[] = $this->each($extension);
  16. }
  17. return $data;
  18. //return collect($data)->sort(function ($row) {
  19. // return ! empty($row['version']) && empty($row['new_version']);
  20. //})->toArray();
  21. }
  22. /**
  23. * @param AbstractExtension $extension
  24. *
  25. * @return array
  26. */
  27. protected function each(AbstractExtension $extension)
  28. {
  29. $property = $extension->composerProperty;
  30. $name = $extension->getName();
  31. $current = $extension->getVersion();
  32. $latest = $extension->getLocalLatestVersion();
  33. return [
  34. 'id' => $name,
  35. 'alias' => $extension->getAlias(),
  36. 'logo' => $extension->getLogoBase64(),
  37. 'name' => $name,
  38. 'version' => $current,
  39. 'type' => $extension->getType(),
  40. 'description' => $property->description,
  41. 'authors' => $property->authors,
  42. 'homepage' => $property->homepage,
  43. 'enabled' => $extension->enabled(),
  44. 'new_version' => $latest === $current || ! $current ? '' : $latest,
  45. 'extension' => $extension,
  46. ];
  47. }
  48. public function edit(Form $form): array
  49. {
  50. return [];
  51. }
  52. public function update(Form $form)
  53. {
  54. $id = $form->getKey();
  55. return true;
  56. }
  57. /**
  58. * Get data before update.
  59. *
  60. * @param Form $form
  61. *
  62. * @return array
  63. */
  64. public function updating(Form $form): array
  65. {
  66. return [];
  67. }
  68. public function detail(Show $show): array
  69. {
  70. return [];
  71. }
  72. public function delete(Form $form, array $deletingData)
  73. {
  74. }
  75. public function store(Form $form)
  76. {
  77. }
  78. public function deleting(Form $form): array
  79. {
  80. return [];
  81. }
  82. }