public function updatePlatform($parameters) { try { $userLogs = new UserLogsService(); switch ($parameters['oper']) { case 'changePassword': $id = $parameters['id']; $platform = Platform::find(reset($id)); $platform->api_password = $this->hashPassword($parameters['password']); $platform->save(); $parameters['oper'] = 'apiChangePassword'; $userLogs->createUserLog($parameters); return true; break; case 'del': $parameters['oper'] = 'apiDel'; $userLogs->createUserLog($parameters); return Platform::destroy($parameters['ids']); break; case 'add': $platform = $this->newPlatform($parameters); $parameters['oper'] = 'apiAdd'; $userLogs->createUserLog($parameters); break; case 'edit': $id = $parameters['id']; $platform = Platform::find($id); $parameters['oper'] = 'apiEdit'; $userLogs->createUserLog($parameters); break; } $columns = array_intersect_key($parameters, array_flip($platform->getFillableColumns())); if (!empty($columns)) { $platform->update($columns); } return $platform; } catch (\Exception $e) { throw $e; } }
public function updateUser($parameters) { try { $userLogs = new UserLogsService(); switch ($parameters['oper']) { case 'changePassword': $id = $parameters['id']; $user = User::find(reset($id)); $validator = $this->getUserValidator($parameters, true, false, true); if ($validator->fails()) { throw new \Exception($validator->messages()); } $user->password = $this->hashPassword($parameters['password']); $user->save(); $userLogs->createUserLog($parameters); return true; break; case 'generateApiKey': $id = $parameters['ids']; $user = User::find(reset($id)); Artisan::call('api-key:generate', array('--user-id' => $user->id)); $userLogs->createUserLog($parameters); return true; break; case 'del': $userLogs->createUserLog($parameters); return User::destroy($parameters['ids']); break; case 'add': $user = $this->newUser($parameters); $userLogs->createUserLog($parameters); break; case 'edit': // DB::table('campaign')->insert( // array('id' => '572', 'name' => 'squaretraffic2') // ); $id = $parameters['id']; $user = User::find($id); $validator = $this->getUserValidator($parameters, true, $user->email !== $parameters['email']); if ($validator->fails()) { throw new \Exception($validator->messages()); } $userLogs->createUserLog($parameters); break; } $columns = array_intersect_key($parameters, array_flip($user->getFillableColumns())); if (!empty($columns)) { $user->update($columns); } $relationships = array_intersect_key($parameters, array_flip(User::$relationshipsAllowedToUpdate)); if (!empty($relationships)) { foreach ($relationships as $relationshipType => $relationshipValue) { if (!empty($relationshipValue)) { if (!is_array($relationshipValue)) { $relationshipValue = explode(',', $relationshipValue); } $user->{$relationshipType}()->sync($relationshipValue); } } } return $user; } catch (\Exception $e) { throw $e; } }