Regenerate API key

This commit is contained in:
Nabeel Shahzad
2017-12-31 13:08:41 -06:00
parent e8108597c4
commit 4cc08406fa
6 changed files with 56 additions and 64 deletions

View File

@@ -11,6 +11,7 @@ use Illuminate\Support\Facades\Auth;
use Jackiedo\Timezonelist\Facades\Timezonelist;
use App\Models\User;
use App\Facades\Utils;
use App\Repositories\AirlineRepository;
use App\Repositories\AirportRepository;
use App\Repositories\UserRepository;
@@ -108,9 +109,24 @@ class ProfileController extends AppBaseController
$req_data['password'] = Hash::make($req_data['password']);
}
$user = $this->userRepo->update($req_data, $id);
$this->userRepo->update($req_data, $id);
Flash::success('Profile updated successfully!');
return redirect(route('frontend.profile.index'));
}
/**
* Regenerate the user's API key
*/
public function regen_apikey(Request $request)
{
$user = User::find(Auth::user()->id);
Log::info('Regenerating API key "'.$user->pilot_id.'"');
$user->api_key = Utils::generateApiKey();
$user->save();
flash('New API key generated!')->success();
return redirect(route('frontend.profile.index'));
}
}

View File

@@ -62,21 +62,36 @@ class User extends Authenticatable
];
public static $rules = [
'name' => 'required',
'email' => 'required|email|unique:users,email',
];
public function getPilotIdAttribute($value)
/**
* @return string
*/
public function getPilotIdAttribute()
{
$length = setting('pilots.id_length');
return $this->airline->icao . str_pad($this->id, $length, '0', STR_PAD_LEFT);
}
public function getGravatarAttribute($value)
/**
* @return string
*/
public function getIdentAttribute()
{
return $this->getPilotIdAttribute();
}
/**
* @return string
*/
public function getGravatarAttribute()
{
$size = 80;
$default = 'https://en.gravatar.com/userimage/12856995/7c7c1da6387853fea65ff74983055386.png';
return "https://www.gravatar.com/avatar/" .
md5( strtolower( trim( $this->email) ) ) . "?d=" . urlencode( $default ) . "&s=" . $size;
return 'https://www.gravatar.com/avatar/' .
md5(strtolower(trim($this->email))) . '?d=' . urlencode($default ) . '&s=' . $size;
}
/**

View File

@@ -27,8 +27,11 @@ Route::group([
Route::post('flights/save', 'FlightController@save')->name('flights.save');
Route::resource('flights', 'FlightController');
Route::resource('profile', 'ProfileController');
Route::resource('pireps', 'PirepController');
Route::get('profile/regen_apikey', 'ProfileController@regen_apikey')
->name('profile.regen_apikey');
Route::resource('profile', 'ProfileController');
});
Auth::routes();