File tree Expand file tree Collapse file tree 3 files changed +25
-2
lines changed
Expand file tree Collapse file tree 3 files changed +25
-2
lines changed Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace App \Http \Controllers ;
4+
5+ use App \Synchronization ;
6+ use Illuminate \Http \Request ;
7+
8+ class GoogleWebhookController extends Controller
9+ {
10+ public function __invoke (Request $ request )
11+ {
12+ if ($ request ->header ('x-goog-resource-state ' ) !== 'exists ' ) {
13+ return ;
14+ }
15+
16+ Synchronization::query ()
17+ ->where ('id ' , $ request ->header ('x-goog-channel-id ' ))
18+ ->where ('resource_id ' , $ request ->header ('x-goog-resource-id ' ))
19+ ->firstOrFail ()
20+ ->ping ();
21+ }
22+ }
Original file line number Diff line number Diff line change @@ -12,6 +12,6 @@ class VerifyCsrfToken extends Middleware
1212 * @var array
1313 */
1414 protected $ except = [
15- //
15+ ' google/webhook ' ,
1616 ];
1717}
Original file line number Diff line number Diff line change 1717
1818Auth::routes ();
1919
20- // Managing Google accounts.
20+ // Managing Google accounts and webhooks .
2121Route::name ('google.index ' )->get ('google ' , 'GoogleAccountController@index ' );
2222Route::name ('google.store ' )->get ('google/oauth ' , 'GoogleAccountController@store ' );
2323Route::name ('google.destroy ' )->delete ('google/{googleAccount} ' , 'GoogleAccountController@destroy ' );
24+ Route::name ('google.webhook ' )->post ('google/webhook ' , 'GoogleWebhookController ' );
2425
2526// Viewing events.
2627Route::name ('event.index ' )->get ('event ' , 'EventController@index ' );
You can’t perform that action at this time.
0 commit comments