Google Sheet - OAuth "client" powered integrations (#415)
* fix `helpers.php` * fix `.eslintrc.cjs` * spreadsheet manager * fetch providers. set `oauth_id` for integrations * create spreadsheet on integration create event * connect OAuth accounts * display actions. connect account if missing * cleanup * handle form field change * map integration data object to `SpreadsheetData` * validate request * wip * redirect to integrations page * fix refresh token * add helper text * add extra integration info * refactor * refresh google token * fix validation * add tests * Fix linting issue * Update composer lock file --------- Co-authored-by: Julien Nahum <julien@nahum.net>
This commit is contained in:
@@ -15,6 +15,7 @@ use App\Http\Controllers\Forms\Integration\FormIntegrationsEventController;
|
||||
use App\Http\Controllers\Forms\Integration\FormZapierWebhookController;
|
||||
use App\Http\Controllers\Forms\PublicFormController;
|
||||
use App\Http\Controllers\Forms\RecordController;
|
||||
use App\Http\Controllers\OAuth\OAuthProviderController;
|
||||
use App\Http\Controllers\Settings\PasswordController;
|
||||
use App\Http\Controllers\Settings\ProfileController;
|
||||
use App\Http\Controllers\SubscriptionController;
|
||||
@@ -42,8 +43,16 @@ Route::group(['middleware' => 'auth:api'], function () {
|
||||
Route::get('user', [UserController::class, 'current'])->name('user.current');
|
||||
Route::delete('user', [UserController::class, 'deleteAccount']);
|
||||
|
||||
Route::patch('settings/profile', [ProfileController::class, 'update']);
|
||||
Route::patch('settings/password', [PasswordController::class, 'update']);
|
||||
Route::prefix('/settings')->name('settings.')->group(function () {
|
||||
Route::patch('/profile', [ProfileController::class, 'update']);
|
||||
Route::patch('/password', [PasswordController::class, 'update']);
|
||||
|
||||
Route::prefix('/providers')->name('providers.')->group(function () {
|
||||
Route::post('/connect/{service}', [OAuthProviderController::class, 'connect'])->name('connect');
|
||||
Route::post('/callback/{service}', [OAuthProviderController::class, 'handleRedirect'])->name('callback');
|
||||
Route::delete('/{provider}', [OAuthProviderController::class, 'destroy'])->name('destroy');
|
||||
});
|
||||
});
|
||||
|
||||
Route::prefix('subscription')->name('subscription.')->group(function () {
|
||||
Route::put('/update-customer-details', [SubscriptionController::class, 'updateStripeDetails'])->name('update-stripe-details');
|
||||
@@ -55,6 +64,8 @@ Route::group(['middleware' => 'auth:api'], function () {
|
||||
});
|
||||
|
||||
Route::prefix('open')->name('open.')->group(function () {
|
||||
Route::get('/providers', [OAuthProviderController::class, 'index'])->name('index');
|
||||
|
||||
Route::get('/forms', [FormController::class, 'indexAll'])->name('forms.index-all');
|
||||
Route::get('/forms/{slug}', [FormController::class, 'show'])->name('forms.show');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user