$company_user->permissions ?: '', 'notifications' => (object) $company_user->notifications ?: $blank_obj, 'settings' => (object) $company_user->settings ?: $blank_obj, 'is_owner' => (bool) $company_user->is_owner, 'is_admin' => (bool) $company_user->is_admin, 'is_locked' => (bool) $company_user->is_locked, 'updated_at' => (int) $company_user->updated_at, 'archived_at' => (int) $company_user->deleted_at, 'created_at' => (int) $company_user->created_at, 'permissions_updated_at' => (int) $company_user->permissions_updated_at, 'ninja_portal_url' => (string) $company_user->ninja_portal_url, ]; } public function includeAccount(CompanyUser $company_user) { $transformer = new AccountTransformer($this->serializer); return $this->includeItem($company_user->account, $transformer, Account::class); } public function includeCompany(CompanyUser $company_user) { $transformer = new CompanyTransformer($this->serializer); return $this->includeItem($company_user->company, $transformer, Company::class); } public function includeUser(CompanyUser $company_user) { $transformer = new UserTransformer($this->serializer); $company_user->user->company_id = $company_user->company_id; return $this->includeItem($company_user->user, $transformer, User::class); } public function includeToken(CompanyUser $company_user) { $truth = app()->make(TruthSource::class); if($truth->getCompanyToken()) $token = $truth->getCompanyToken(); else $token = $company_user->tokens->where('company_id', $company_user->company_id)->where('user_id', $company_user->user_id)->first(); $transformer = new CompanyTokenTransformer($this->serializer); return $this->includeItem($token, $transformer, CompanyToken::class); } }