Skip to content

Commit

Permalink
#9 feat: api to get list of users repositories from third party like …
Browse files Browse the repository at this point in the history
…github
  • Loading branch information
geeksesi committed Apr 7, 2023
1 parent 5eb8fca commit 2088d0f
Show file tree
Hide file tree
Showing 6 changed files with 70 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?php

namespace App\Http\Controllers\Dashboard\API;

use App\Http\Controllers\Controller;
use App\Http\Resources\Dashboard\ThirdPartyRepositoryResource;
use Illuminate\Http\Request;

class ThirdPartyRepositoriesListController extends Controller
{

/**
* @todo
*
* @param Request $request
* @param string $provider
* @return void
*/
public function __invoke(Request $request, string $provider)
{
$data = collect([
json_decode(json_encode([
"name" => "geeksesi/code-review-pals",
"url" => "https://github.com/geeksesi/code-review-pals",
"provider" => $provider
]), false)
]);
return ThirdPartyRepositoryResource::collection($data);
}
}
23 changes: 23 additions & 0 deletions app/Http/Resources/Dashboard/ThirdPartyRepositoryResource.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?php

namespace App\Http\Resources\Dashboard;

use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;

class ThirdPartyRepositoryResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @return array<string, mixed>
*/
public function toArray(Request $request): array
{
return [
'name' => $this->name,
'url' => $this->url,
'provider' => $this->provider
];
}
}
5 changes: 5 additions & 0 deletions app/Models/User.php
Original file line number Diff line number Diff line change
Expand Up @@ -83,4 +83,9 @@ public function isAuthUser(): Attribute
get: fn() => !$this->login_provider instanceof SocialiteProvider,
);
}

public function tokenAbilities(): array
{
return ['*'];
}
}
1 change: 1 addition & 0 deletions app/Providers/RouteServiceProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ public function boot(): void
$this->routes(function () {
Route::middleware('api')
->prefix('api')
->name("api.")
->group(base_path('routes/api.php'));

Route::middleware('web')
Expand Down
4 changes: 4 additions & 0 deletions routes/api.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,7 @@
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
return $request->user();
});

Route::middleware(['auth:sanctum', 'api'])->prefix('/dashboard')->name("dashboard.")->group(function () {
Route::get('/third-party-repo-list/{provider}', \App\Http\Controllers\Dashboard\API\ThirdPartyRepositoriesListController::class)->name("third-party-repo-list");
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?php

test('example', function () {
$response = $this->get('/');

$response->assertStatus(200);
});

0 comments on commit 2088d0f

Please sign in to comment.