1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- <?php
- namespace Modules\ContentManage\Http\Controllers;
- use Catch\Base\CatchController;
- use Illuminate\Support\Collection;
- use Illuminate\Support\Facades\DB;
- use Modules\User\Models\User;
- trait UserTrait
- {
-
- protected $currentUser;
-
- protected function getCurrentUser(): User {
- if(!$this->currentUser) {
- $this->currentUser = $this->getLoginUser();
- }
- return $this->currentUser;
- }
-
- protected function listUserRoles():Collection {
- return $this->getCurrentUser()->roles->pluck('identify');
- }
-
- public function userIsCp():bool {
- return $this->listUserRoles()->contains('cp');
- }
-
- public function getUserCpName():string|null {
- if($this->userIsCp()) {
- return DB::table('user_belong_to_cp')
- ->where([
- 'is_enabled' => 1,
- 'user_id' => $this->getCurrentUser()->id,
- ])->value('cp_name');
- } else {
- return null;
- }
- }
- }
|