Refactor method names/views for the Micropub Client

This commit is contained in:
Jonny Barnes 2017-02-15 20:19:11 +00:00
parent 4af305ba3b
commit e032cd5861
3 changed files with 16 additions and 22 deletions

View file

@ -36,15 +36,12 @@ class MicropubClientController extends Controller
* @param \Illuminate\Http\Request $request
* @return \Illuminate\View\Factory view
*/
public function newNotePage(Request $request)
public function create(Request $request)
{
$url = $request->session()->get('me');
$syndication = $request->session()->get('syndication');
return view('micropubnewnotepage', [
'url' => $url,
'syndication' => $syndication,
]);
return view('micropub.create', compact('url', 'syndication'));
}
/**
@ -55,7 +52,7 @@ class MicropubClientController extends Controller
* @param \Illuminate\Http\Request $request
* @return mixed
*/
public function postNewNote(Request $request)
public function store(Request $request)
{
$domain = $request->session()->get('me');
$token = $request->session()->get('token');
@ -65,7 +62,7 @@ class MicropubClientController extends Controller
$this->indieClient
);
if (! $micropubEndpoint) {
return redirect('notes/new')->withErrors('Unable to determine micropub API endpoint', 'endpoint');
return redirect(route('micropub-client'))->withErrors('Unable to determine micropub API endpoint', 'endpoint');
}
$response = $this->postNoteRequest($request, $micropubEndpoint, $token);
@ -79,7 +76,7 @@ class MicropubClientController extends Controller
return redirect($location);
}
return redirect('notes/new')->withErrors('Endpoint didnt create the note.', 'endpoint');
return redirect(route('micropub-client'))->withErrors('Endpoint didnt create the note.', 'endpoint');
}
/**
@ -99,9 +96,8 @@ class MicropubClientController extends Controller
$domain = $request->session()->get('me');
$token = $request->session()->get('token');
$micropubEndpoint = $this->indieAuthService->discoverMicropubEndpoint($domain, $this->indieClient);
if (! $micropubEndpoint) {
return redirect('notes/new')->withErrors('Unable to determine micropub API endpoint', 'endpoint');
return redirect(route('micropub-client'))->withErrors('Unable to determine micropub API endpoint', 'endpoint');
}
try {
@ -110,14 +106,14 @@ class MicropubClientController extends Controller
'query' => ['q' => 'syndicate-to'],
]);
} catch (\GuzzleHttp\Exception\BadResponseException $e) {
return redirect('notes/new')->withErrors('Bad response when refreshing syndication targets', 'endpoint');
return redirect(route('micropub-client'))->withErrors('Bad response when refreshing syndication targets', 'endpoint');
}
$body = (string) $response->getBody();
$syndication = $this->parseSyndicationTargets($body);
$request->session()->put('syndication', $syndication);
return redirect('notes/new');
return redirect(route('micropub-client'));
}
/**
@ -184,7 +180,7 @@ class MicropubClientController extends Controller
'headers' => $headers,
]);
} catch (\GuzzleHttp\Exception\BadResponseException $e) {
return redirect('notes/new')
return redirect(route('micropub-client'))
->withErrors('There was a bad response from the micropub endpoint.', 'endpoint');
}

View file

@ -26,7 +26,7 @@ New Note «
@endif
@include('templates.new-note-form', [
'micropub' => true,
'action' => '/notes/new'
'action' => route('micropub-client-post')
])
@stop
@ -35,8 +35,6 @@ New Note «
window.Promise || document.write('<script src="https://unpkg.com/promise-polyfill/promise.min.js"><\/script>');
window.fetch || document.write('<script src="https://unpkg.com/whatwg-fetch/fetch.js"><\/script>');
</script>
<!--<script src="/assets/frontend/store2.min.js"></script>
<script src="/assets/js/form-save.js"></script>-->
<script defer src="/assets/js/newnote.js"></script>
<link rel="stylesheet" href="/assets/frontend/alertify.css">

View file

@ -12,7 +12,7 @@
*/
Route::group(['domain' => config('url.longurl')], function () {
Route::get('/', 'NotesController@showNotes');
Route::get('/', 'NotesController@index');
//Static project page
Route::get('projects', function () {
@ -89,8 +89,7 @@ Route::group(['domain' => config('url.longurl')], function () {
//micropub new notes page
//this needs to be first so `notes/new` doesn't match `notes/{id}`
Route::get('notes/new', 'MicropubClientController@newNotePage');
Route::post('notes/new', 'MicropubClientController@postNewNote');
//Notes pages using NotesController
Route::get('notes', 'NotesController@index');
@ -104,10 +103,11 @@ Route::group(['domain' => config('url.longurl')], function () {
Route::post('api/token', 'IndieAuthController@tokenEndpoint');
Route::get('logout', 'IndieAuthController@indieauthLogout');
//micropub endoints
Route::post('api/post', 'MicropubController@post');
// Micropub
Route::get('micropub/create', 'MicropubClientController@create')->name('micropub-client');
Route::post('micropub', 'MicropubClientController@store')->name('micropub-client-post');
Route::get('api/post', 'MicropubController@getEndpoint');
Route::post('api/post', 'MicropubController@post');
//micropub refresh syndication targets
Route::get('refresh-syndication-targets', 'MicropubClientController@refreshSyndicationTargets');