diff --git a/config/bank.php b/config/bank.php index ebab77905..e59fae732 100644 --- a/config/bank.php +++ b/config/bank.php @@ -3,14 +3,32 @@ return [ 'halkbank' => [ 'bank_name' => 'Halkbank', - 'class' => 'TPS\Birzha\Classes\Halkbank' + 'class' => 'TPS\Birzha\Classes\Halkbank', + 'trans' => [ + 'ru' => 'Карта Алтын Асыр', + 'tm' => 'Altyn Asyr Karty', + 'en' => 'Altyn Asyr Card', + ], + 'api_val' => 'halkbank' ], 'rysgal' => [ 'bank_name' => 'Rysgal bank', - 'class' => 'TPS\Birzha\Classes\Rysgal' + 'class' => 'TPS\Birzha\Classes\Rysgal', + 'trans' => [ + 'ru' => 'Rysgal Bank', + 'tm' => 'Rysgal Bank', + 'en' => 'Rysgal Bank', + ], + 'api_val' => 'rysgal' ], 'senagat' => [ 'bank_name' => 'Senagat PTB', - 'class' => 'TPS\Birzha\Classes\Senagat' + 'class' => 'TPS\Birzha\Classes\Senagat', + 'trans' => [ + 'ru' => 'Senagat Bank', + 'tm' => 'Senagat Bank', + 'en' => 'Senagat Bank', + ], + 'api_val' => 'senagat' ], ]; \ No newline at end of file diff --git a/plugins/ahmadfatoni/apigenerator/controllers/api/BanksApiController.php b/plugins/ahmadfatoni/apigenerator/controllers/api/BanksApiController.php new file mode 100644 index 000000000..775c62d69 --- /dev/null +++ b/plugins/ahmadfatoni/apigenerator/controllers/api/BanksApiController.php @@ -0,0 +1,52 @@ +localeRules = ['locale' => 'required|in:ru,tm,en']; + $this->data = $request->only(['locale']); + $this->validator = Validator::make($this->data, $this->localeRules); + } + + public function getBankInfo() + { + if($this->validator->fails()) { + return response()->json($this->validator->errors(), 400); + } + + return response()->json([ + 'tax_code' => Settings::getValue('tax_code'), + 'bab' => Settings::getValue('bab'), + 'manat_account' => Settings::getValue('manat_account'), + 'correspondent_account' => Settings::getValue('correspondent_account'), + 'bank_address' => trans("validation.api.bank_address_one", [], $this->data['locale']) + ], 200); + } + + public function getBankTypes() + { + if($this->validator->fails()) { + return response()->json($this->validator->errors(), 400); + } + + $banks = []; + + foreach (Config::get('bank') as $key => $bank) { + $banks[$key]['api_val'] = $bank['api_val']; + $banks[$key]['name'] = $bank['trans'][$this->data['locale']]; + } + + return response()->json($banks, 200); + } +} diff --git a/plugins/ahmadfatoni/apigenerator/controllers/api/TransactionsApiController.php b/plugins/ahmadfatoni/apigenerator/controllers/api/TransactionsApiController.php index 31d2c85a7..e62223289 100644 --- a/plugins/ahmadfatoni/apigenerator/controllers/api/TransactionsApiController.php +++ b/plugins/ahmadfatoni/apigenerator/controllers/api/TransactionsApiController.php @@ -1,6 +1,7 @@ only(['locale']); - $validator = Validator::make($data, [ - 'locale' => 'required|in:ru,tm,en', - ]); - - if($validator->fails()) { - return response()->json($validator->errors(), 400); - } - - return response()->json([ - 'tax_code' => Settings::getValue('tax_code'), - 'bab' => Settings::getValue('bab'), - 'manat_account' => Settings::getValue('manat_account'), - 'correspondent_account' => Settings::getValue('correspondent_account'), - 'bank_address' => trans("validation.api.bank_address_one", [], $data['locale']) - ], 200); - } } diff --git a/plugins/ahmadfatoni/apigenerator/routes.php b/plugins/ahmadfatoni/apigenerator/routes.php index a9bce4202..b675ca87c 100644 --- a/plugins/ahmadfatoni/apigenerator/routes.php +++ b/plugins/ahmadfatoni/apigenerator/routes.php @@ -69,8 +69,11 @@ Route::group(['prefix' =>'api/v1','namespace' =>'AhmadFatoni\ApiGenerator\Contro Route::post('send-email-verification-link', 'EmailVerificationController@sendEmailVerificationLink'); - Route::get('bank-info', 'TransactionsApiController@getBankInfo'); + }); + + Route::get('bank-info', 'BanksApiController@getBankInfo'); + Route::get('bank-types', 'BanksApiController@getBankTypes'); }); diff --git a/plugins/ahmadfatoni/apigenerator/template/routes.dot b/plugins/ahmadfatoni/apigenerator/template/routes.dot index d940ceab4..4c7e6b5e5 100644 --- a/plugins/ahmadfatoni/apigenerator/template/routes.dot +++ b/plugins/ahmadfatoni/apigenerator/template/routes.dot @@ -69,9 +69,12 @@ Route::group(['prefix' =>'api/v1','namespace' =>'AhmadFatoni\ApiGenerator\Contro Route::post('send-email-verification-link', 'EmailVerificationController@sendEmailVerificationLink'); - Route::get('bank-info', 'TransactionsApiController@getBankInfo'); + }); + + Route::get('bank-info', 'BanksApiController@getBankInfo'); + Route::get('bank-types', 'BanksApiController@getBankTypes'); });