This commit is contained in:
2025-07-08 16:33:51 +05:00
parent 4d75c110e9
commit 405967fcea
2 changed files with 54 additions and 0 deletions

View File

@@ -173,4 +173,57 @@ class CardBalanceController extends Controller
'message' => __('Successfully deleted'),
]);
}
/**
* Quick card balance check
*/
public function quickCheck(Request $request): JsonResponse
{
$request->validate([
/**
* @example I-AS
*/
'passport_serie' => ['sometimes', Rule::in(array_keys(PassportRepo::values()))],
/**
* @example 379514
*/
'passport_id' => ['sometimes', 'numeric', 'digits:6'],
/**
* @example 9934612100000243
*/
'card_number' => ['sometimes', 'digits:16'],
/**
* @example 12
*/
'card_month' => ['sometimes', Rule::in(array_keys(DateHelperRepository::staticNumberMonths()))],
/**
* @example 2049
*/
'card_year' => ['sometimes', Rule::in(array_keys(DateHelperRepository::staticNumberYears()))],
]);
$response = DownloadCardBalance::make()->fetchApi(
passport_serie: $request->passport_serie,
passport_id: $request->passport_id,
card_masked: Str::mask($request->card_number, '*', 6, 6),
card_expire_date: $request->card_month.'/'.substr($request->card_year, 2),
);
if ($response->errCode != 0) {
return response()->json([
'status' => false,
'message' => $response->message,
'url' => '',
]);
}
return response()->json([
'status' => true,
'data' => $response,
]);
}
}

View File

@@ -124,6 +124,7 @@ Route::middleware(['auth:sanctum', 'not_banned'])->group(function () {
Route::delete('card-requisites/{order}', [CardRequisiteController::class, 'destroy']);
// Card balances... [tested fully]
Route::get('card-balance-quick-check', [CardBalanceController::class, 'quickCheck']);
Route::get('card-balances', [CardBalanceController::class, 'index']);
Route::get('card-balances/{order}', [CardBalanceController::class, 'show']);
Route::get('card-balances-download/{order}', [CardBalanceController::class, 'download']);