Dynamic OauthDriver scope (#544)

* Dynamic OauthDriver scope

* support migration for mysql

* Refactor default scopes for integrations

* Small UI changes

* fix flet select tooltip

* fix linter

* Fix google token size in DB

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
This commit is contained in:
Chirag Chhatrala
2024-08-29 16:58:02 +05:30
committed by GitHub
parent 89513e3b4a
commit da0ea04475
12 changed files with 130 additions and 15 deletions

View File

@@ -0,0 +1,35 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Query\Expression;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
return new class () extends Migration {
/**
* Run the migrations.
*/
public function up(): void
{
$driver = DB::getDriverName();
Schema::table('oauth_providers', function (Blueprint $table) use ($driver) {
if ($driver === 'mysql') {
$table->json('scopes')->default(new Expression('(JSON_OBJECT())'));
} else {
$table->json('scopes')->default('{}');
}
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('oauth_providers', function (Blueprint $table) {
$table->dropColumn('scopes');
});
}
};

View File

@@ -0,0 +1,33 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class () extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('oauth_providers', function (Blueprint $table) {
$table->text('access_token')->change();
$table->text('refresh_token')->change();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('oauth_providers', function (Blueprint $table) {
$table->string('access_token')->change();
$table->string('refresh_token')->change();
});
}
};