account controller start

This commit is contained in:
merdiano 2022-07-14 17:22:10 +05:00
parent 97e707f38e
commit 152003aa8d
6 changed files with 81 additions and 11 deletions

View File

@ -2,14 +2,15 @@
namespace App\Http\Controllers;
use App\Http\Resources\CountryResource;
use App\Models\Country;
use Illuminate\Http\Request;
class SprawochnikController extends Controller
class ResourceController extends Controller
{
/**
* @OA\GET(
* path="/api/get-countries",
* path="/api/countries",
* summary=" - Get countries list",
* tags = {"Sprawochnik"},
* @OA\Parameter(
@ -28,10 +29,7 @@ class SprawochnikController extends Controller
* )
* )
*/
public function getCountries(){
$countries = Country::get();
return response()->json([
'data' => $countries
], 200);
public function countries(){
return CountryResource::collection(Country::all());
}
}

View File

@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests\API;
use Illuminate\Foundation\Http\FormRequest;
class AccountRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return false;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, mixed>
*/
public function rules()
{
return [
//
];
}
}

View File

@ -0,0 +1,19 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
class AccountResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array|\Illuminate\Contracts\Support\Arrayable|\JsonSerializable
*/
public function toArray($request)
{
return parent::toArray($request);
}
}

View File

@ -0,0 +1,23 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
class CountryResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array|\Illuminate\Contracts\Support\Arrayable|\JsonSerializable
*/
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name,
'code' => $this->code
];
}
}

View File

@ -1,7 +1,7 @@
<?php
use App\Http\Controllers\AuthController;
use App\Http\Controllers\SprawochnikController;
use App\Http\Controllers\ResourceController;
use App\Http\Controllers\TestController;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
@ -27,7 +27,7 @@
Route::post('/reset-password', [AuthController::class, 'updatePassword']);
Route::post('/forgot-password', [AuthController::class, 'sendPasswordResetLinkEmail']);
Route::post('/verify-email', [AuthController::class, 'verifyEmail']);
Route::get('/get-countries', [SprawochnikController::class, 'getCountries']);
Route::get('countries', [ResourceController::class, 'countries']);
});
Route::middleware(['auth.client','auth:api', 'localization'])->group(function () {

View File

@ -566,13 +566,13 @@
]
}
},
"/api/get-countries": {
"/api/countries": {
"get": {
"tags": [
"Sprawochnik"
],
"summary": " - Get countries list",
"operationId": "659eb6cf84f228d274888bfeaff6edbd",
"operationId": "da4174401793719c92b768b3111ad03b",
"parameters": [
{
"name": "X-Localization",