GroupMemberResource.php 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. namespace App\Http\Resources;
  3. use App\Http\Api\GroupApi;
  4. use App\Http\Api\UserApi;
  5. use Illuminate\Contracts\Support\Arrayable;
  6. use Illuminate\Http\Request;
  7. use Illuminate\Http\Resources\Json\JsonResource;
  8. class GroupMemberResource extends JsonResource
  9. {
  10. /**
  11. * Transform the resource into an array.
  12. *
  13. * @param Request $request
  14. * @return array|Arrayable|\JsonSerializable
  15. */
  16. public function toArray($request)
  17. {
  18. $roles = ['owner', 'manager', 'member'];
  19. return [
  20. 'id' => $this->id,
  21. 'user_id' => $this->user_id,
  22. 'group_id' => $this->group_id,
  23. 'group' => GroupApi::getById($this->group_id),
  24. 'power' => $this->power,
  25. 'role' => $roles[$this->power],
  26. 'level' => $this->level,
  27. 'status' => $this->status,
  28. 'user' => UserApi::getByUuid($this->user_id),
  29. 'created_at' => $this->created_at,
  30. 'updated_at' => $this->updated_at,
  31. ];
  32. }
  33. }