get account
This commit is contained in:
parent
9b2f7ad7bc
commit
c1e32f0532
|
|
@ -10,14 +10,37 @@
|
|||
|
||||
class AccountController extends Controller
|
||||
{
|
||||
public function account(Request $request) : AccountResource
|
||||
/**
|
||||
* @OA\GET(
|
||||
* path="/api/account",
|
||||
* summary=" - Get client account",
|
||||
* tags = {"Account"},
|
||||
* security={
|
||||
* {"bearerAuth": {}}
|
||||
* },
|
||||
* @OA\Response(
|
||||
* response="200",
|
||||
* description="OK"
|
||||
* ),
|
||||
* @OA\Response(
|
||||
* response="401",
|
||||
* description="Unauthorized"
|
||||
* )
|
||||
* )
|
||||
*/
|
||||
public function account(Request $request)
|
||||
{
|
||||
$account = $request->user()
|
||||
->account()
|
||||
->with('profile');
|
||||
|
||||
return AccountResource::make($account);
|
||||
if(!empty($account)){
|
||||
return AccountResource::make($account);
|
||||
}
|
||||
|
||||
return response()->json([
|
||||
'message'=> trans('app.account.not_found')
|
||||
],404 );
|
||||
}
|
||||
|
||||
public function storeContacts(ContactsRequest $request){
|
||||
|
|
|
|||
|
|
@ -214,7 +214,6 @@ public function register(RegisterRequest $request)
|
|||
|
||||
$account = Account::create([
|
||||
'country_id' => $request->country,
|
||||
'legalization_number' => $request->legalization_number,
|
||||
'type' => $request->account_type
|
||||
]);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
namespace App\Http\Controllers\API;
|
||||
|
||||
use App\Http\Resources\CountryResource;
|
||||
use App\Models\Country;
|
||||
|
|
@ -1,108 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Http\Requests\API\AccountRequest;
|
||||
use App\Http\Resources\AccountResource;
|
||||
|
||||
class AccountController extends Controller
|
||||
{
|
||||
/**
|
||||
* @OA\GET(
|
||||
* path="/api/account",
|
||||
* summary=" - Get client account",
|
||||
* tags = {"Account"},
|
||||
* security={
|
||||
* {"bearerAuth": {}}
|
||||
* },
|
||||
* @OA\Response(
|
||||
* response="200",
|
||||
* description="OK"
|
||||
* ),
|
||||
* @OA\Response(
|
||||
* response="401",
|
||||
* description="Unauthorized"
|
||||
* )
|
||||
* )
|
||||
*/
|
||||
public function get(){
|
||||
$client = request()->user();
|
||||
|
||||
if($account = $client->account){
|
||||
return AccountResource::make($account);
|
||||
}
|
||||
|
||||
return response()->json(['message'=> trans('app.account.not_found')],404 );
|
||||
}
|
||||
|
||||
/**
|
||||
* @OA\POST(
|
||||
* path="/api/update-account",
|
||||
* summary=" - Update account",
|
||||
* tags = {"Account"},
|
||||
* security={
|
||||
* {"bearerAuth": {}}
|
||||
* },
|
||||
* @OA\RequestBody(
|
||||
* @OA\MediaType(
|
||||
* mediaType="application/json",
|
||||
* @OA\Schema(
|
||||
* @OA\Property(
|
||||
* property="contacts",
|
||||
* type="string",
|
||||
* ),
|
||||
* @OA\Property(
|
||||
* property="bank",
|
||||
* type="string",
|
||||
* ),
|
||||
* @OA\Property(
|
||||
* property="vat",
|
||||
* type="string",
|
||||
* ),
|
||||
* @OA\Property(
|
||||
* property="country_id",
|
||||
* type="integer",
|
||||
* ),
|
||||
* @OA\Property(
|
||||
* property="legalization_number",
|
||||
* type="string",
|
||||
* ),
|
||||
* @OA\Property(
|
||||
* property="type",
|
||||
* type="string",
|
||||
* ),
|
||||
* example={"contacts":"{'address':'Ashgabat', 'phone': '+99362553499', 'email': 'ilmedovamahri@gmail.com', 'fax': '414141'}", "bank":"{'account_number':'12345','account_date':'02.02.2022','currency':'USD', 'iban':'747474', 'bank_name':'Vnezhekonom', 'country':'France'}" ,"vat": "123123", "country_id": 1, "legalization_number": "123456","type":"business"}
|
||||
* )
|
||||
* )
|
||||
* ),
|
||||
* @OA\Parameter(
|
||||
* description="Localization",
|
||||
* in="header",
|
||||
* name="X-Localization",
|
||||
* required=false,
|
||||
* @OA\Schema(type="string"),
|
||||
* @OA\Examples(example="ru", value="ru", summary="Russian localization"),
|
||||
* @OA\Examples(example="en", value="en", summary="English localization"),
|
||||
* @OA\Examples(example="tm", value="tm", summary="Turkmen localization"),
|
||||
* ),
|
||||
* @OA\Response(
|
||||
* response="200",
|
||||
* description="OK"
|
||||
* ),
|
||||
* @OA\Response(
|
||||
* response="401",
|
||||
* description="Unauthorized"
|
||||
* )
|
||||
* )
|
||||
*/
|
||||
public function update(AccountRequest $request){
|
||||
|
||||
$client = $request->user();
|
||||
|
||||
$account = $client->account;
|
||||
|
||||
$account->fill($request->all())->save();
|
||||
|
||||
return AccountResource::make($account);
|
||||
}
|
||||
}
|
||||
|
|
@ -30,7 +30,6 @@ public function rules()
|
|||
'lastname' => 'required',
|
||||
'account_type' => 'required|in:company,business',
|
||||
'country' => 'required|numeric|gt:0',
|
||||
// 'legalization_number' => 'required_if:is_registered,on'
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ public function toArray($request)
|
|||
|
||||
private function profile() : JsonResource
|
||||
{
|
||||
$type = config('services.account.'.$this->account_type.'.resource');
|
||||
$type = config('account.'.$this->account_type.'.resource');
|
||||
|
||||
return $type::make($this->profile);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ class Account extends Model
|
|||
// public $timestamps = false;
|
||||
protected $guarded = ['id'];
|
||||
protected $fillable = [
|
||||
'contacts', 'bank', 'vat', 'country_id', 'legalization_number','account_type'
|
||||
'contacts', 'bank', 'vat', 'country_id', 'legalization_number','type'
|
||||
];
|
||||
protected $casts = [
|
||||
'contacts' => 'array',
|
||||
|
|
|
|||
|
|
@ -6,13 +6,12 @@
|
|||
* Time: 17:35
|
||||
*/
|
||||
return [
|
||||
'services' => [
|
||||
'business' => App\Services\Business::class,
|
||||
'company' => App\Services\Company::class,
|
||||
|
||||
'business' => [
|
||||
'class' => App\AccountTypes\BusinessAccount::class,
|
||||
'resources' => App\Http\Resources\BusinessProfileResource::class
|
||||
],
|
||||
'models' => [
|
||||
'business' => App\Models\Business::class,
|
||||
'company' => App\Models\Company::class
|
||||
'company' => [
|
||||
'class' => App\AccountTypes\CompanyAccount::class,
|
||||
'resources' => App\Http\Resources\CompanyProfileResource::class
|
||||
]
|
||||
];
|
||||
];
|
||||
|
|
|
|||
Loading…
Reference in New Issue