UserTransformer.php 909 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. /*
  3. * This file is part of the Jiannei/lumen-api-starter.
  4. *
  5. * (c) Jiannei <longjian.huang@foxmail.com>
  6. *
  7. * This source file is subject to the MIT license that is bundled
  8. * with this source code in the file LICENSE.
  9. */
  10. namespace App\Repositories\Transformers;
  11. use App\Repositories\Enums\PermissionEnum;
  12. use App\Repositories\Models\User;
  13. use League\Fractal\TransformerAbstract;
  14. class UserTransformer extends TransformerAbstract
  15. {
  16. public function transform(User $user)
  17. {
  18. $data = [
  19. 'id' => $user->id,
  20. 'nickname' => $user->name,
  21. 'email' => $user->email,
  22. ];
  23. if (!$this->checkColumnPermission()) {
  24. $data['email'] = '**** ****';
  25. }
  26. return $data;
  27. }
  28. protected function checkColumnPermission()
  29. {
  30. return auth('api')->user()->can(PermissionEnum::DATA_USERS_COLUMN_EMAIL()->name);
  31. }
  32. }