diff --git a/app/Console/Commands/InitLookup.php b/app/Console/Commands/InitLookup.php index bfb6fa8e3286..97c4a97744b0 100644 --- a/app/Console/Commands/InitLookup.php +++ b/app/Console/Commands/InitLookup.php @@ -9,7 +9,7 @@ use App\Models\LookupCompany; use App\Models\LookupAccount; use App\Models\LookupUser; use App\Models\LookupContact; -use App\Models\LookupToken; +use App\Models\LookupAccountToken; use App\Models\LookupInvitation; class InitLookup extends Command @@ -123,7 +123,7 @@ class InitLookup extends Command ]); } foreach ($account['tokens'] as $token) { - LookupToken::create([ + LookupAccountToken::create([ 'lookup_account_id' => $lookupAccount->id, 'token' => $token['token'], ]); diff --git a/app/Http/Middleware/DatabaseLookup.php b/app/Http/Middleware/DatabaseLookup.php index f47d4fa26fa0..504961d859e9 100644 --- a/app/Http/Middleware/DatabaseLookup.php +++ b/app/Http/Middleware/DatabaseLookup.php @@ -6,6 +6,7 @@ use Illuminate\Http\Request; use Closure; use App\Models\LookupContact; use App\Models\LookupInvitation; +use App\Models\LookupAccountToken; class DatabaseLookup { @@ -20,7 +21,10 @@ class DatabaseLookup if (! session('SESSION_USER_DB_SERVER')) { return redirect('/logout'); } - // contacts can login with just the URL + } elseif ($guard == 'api') { + if ($token = $request->header('X-Ninja-Token')) { + LookupAccountToken::setServerByField('token', $token); + } } else { if (request()->invitation_key) { LookupInvitation::setServerByField('invitation_key', request()->invitation_key); diff --git a/app/Http/routes.php b/app/Http/routes.php index 1e329598119c..5b9249253cfa 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -300,7 +300,7 @@ Route::group(['middleware' => ['lookup:user', 'auth:user']], function () { }); // Route groups for API -Route::group(['middleware' => 'api', 'prefix' => 'api/v1'], function () { +Route::group(['middleware' => ['lookup:api', 'api'], 'prefix' => 'api/v1'], function () { Route::get('ping', 'AccountApiController@ping'); Route::post('login', 'AccountApiController@login'); Route::post('oauth_login', 'AccountApiController@oauthLogin'); diff --git a/app/Models/AccountToken.php b/app/Models/AccountToken.php index c68dde7148d2..baf3bd9477c7 100644 --- a/app/Models/AccountToken.php +++ b/app/Models/AccountToken.php @@ -3,7 +3,7 @@ namespace App\Models; use Illuminate\Database\Eloquent\SoftDeletes; -use App\Models\LookupToken; +use App\Models\LookupAccountToken; /** * Class AccountToken. @@ -43,7 +43,7 @@ class AccountToken extends EntityModel AccountToken::creating(function ($token) { - LookupToken::createNew($token->account->account_key, [ + LookupAccountToken::createNew($token->account->account_key, [ 'token' => $token->token, ]); }); diff --git a/app/Models/LookupToken.php b/app/Models/LookupAccountToken.php similarity index 81% rename from app/Models/LookupToken.php rename to app/Models/LookupAccountToken.php index a0b53514cbab..d72d7613fc34 100644 --- a/app/Models/LookupToken.php +++ b/app/Models/LookupAccountToken.php @@ -7,7 +7,7 @@ use Eloquent; /** * Class ExpenseCategory. */ -class LookupToken extends LookupModel +class LookupAccountToken extends LookupModel { /** * @var array diff --git a/database/migrations/2017_04_30_174702_add_multiple_database_support.php b/database/migrations/2017_04_30_174702_add_multiple_database_support.php index bad6ec0e0ebb..01aff58507d5 100644 --- a/database/migrations/2017_04_30_174702_add_multiple_database_support.php +++ b/database/migrations/2017_04_30_174702_add_multiple_database_support.php @@ -45,6 +45,8 @@ class AddMultipleDatabaseSupport extends Migration Schema::table('lookup_tokens', function ($table) { $table->string('token')->change()->unique(); }); + + Schema::rename('lookup_tokens', 'lookup_account_tokens'); } /** @@ -57,5 +59,7 @@ class AddMultipleDatabaseSupport extends Migration Schema::table('lookup_companies', function ($table) { $table->dropColumn('company_id'); }); + + Schema::rename('lookup_account_tokens', 'lookup_tokens'); } }