loans api done
This commit is contained in:
@@ -63,7 +63,7 @@ class LoanPaidOffLetterOrderStoreRequest extends FormRequest
|
||||
/**
|
||||
* Date of birth
|
||||
*
|
||||
* @example 2000
|
||||
* @example 10.10.2000
|
||||
*/
|
||||
'born_at' => ['required', 'before_or_equal:today'],
|
||||
|
||||
|
||||
@@ -7,11 +7,14 @@ use App\Http\Controllers\Api\LoanPaidOffLetterOrder\Resources\LoanPaidOffLetterO
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Order\Loan\LoanPaidOffLetterOrder;
|
||||
use App\Repos\Order\OrderRepo;
|
||||
use App\Repos\System\Settings\Legal\PassportRepo;
|
||||
use App\Repos\System\Settings\Location\RegionRepo;
|
||||
use Dedoc\Scramble\Attributes\Group;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Validation\Rule;
|
||||
|
||||
#[Group('Sargytlar - Karz - Karzyň ýapylandygy barada güwanama')]
|
||||
class LoanPaidOffLetterOrderController extends Controller
|
||||
@@ -41,8 +44,6 @@ class LoanPaidOffLetterOrderController extends Controller
|
||||
...$data,
|
||||
...[
|
||||
'user_id' => auth()->id(),
|
||||
'status' => OrderRepo::PENDING,
|
||||
'source' => OrderRepo::MOBILE_DEVICE,
|
||||
],
|
||||
]);
|
||||
|
||||
@@ -56,13 +57,13 @@ class LoanPaidOffLetterOrderController extends Controller
|
||||
*
|
||||
* ID ugradyp alyan route -da.
|
||||
*/
|
||||
public function show(LoanPaidOffLetterOrder $loanPaidOffLetter): JsonResponse
|
||||
public function show(LoanPaidOffLetterOrder $order)
|
||||
{
|
||||
if ($loanPaidOffLetter->user_id != auth()->id()) {
|
||||
if ($order->user_id != auth()->id()) {
|
||||
return response()->json(status: 403);
|
||||
}
|
||||
|
||||
return response()->json(new LoanPaidOffLetterOrderIndexResource($loanPaidOffLetter));
|
||||
return response()->json(new LoanPaidOffLetterOrderIndexResource($order));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -70,12 +71,98 @@ class LoanPaidOffLetterOrderController extends Controller
|
||||
*
|
||||
* ID ugradyp `route`-da update edip bilyan. Base App Enum-lardan peydalan. Panelkadan gor.
|
||||
*/
|
||||
public function update(Request $request, LoanPaidOffLetterOrder $loanPaidOffLetter): JsonResponse
|
||||
public function update(Request $request, LoanPaidOffLetterOrder $order): JsonResponse
|
||||
{
|
||||
$data = $request->all();
|
||||
$data = $request->validate([
|
||||
/**
|
||||
* Region (https://online.tbbank.gov.tm/api/base-app-enums)
|
||||
*/
|
||||
'region' => ['sometimes', 'string', Rule::in(array_keys(RegionRepo::values()))],
|
||||
|
||||
Model::unguarded(function () use ($loanPaidOffLetter, $data) {
|
||||
$loanPaidOffLetter->update($data);
|
||||
/**
|
||||
* Branch id (https://online.tbbank.gov.tm/api/branches)
|
||||
*/
|
||||
'branch_id' => ['sometimes', 'integer', Rule::exists('branches', 'id')],
|
||||
|
||||
/**
|
||||
* Customer name
|
||||
*
|
||||
* @example Mahmyt
|
||||
*/
|
||||
'customer_name' => ['sometimes', 'string', 'max:255'],
|
||||
|
||||
/**
|
||||
* Customer surname
|
||||
*
|
||||
* @example Allaberdiyev
|
||||
*/
|
||||
'customer_surname' => ['sometimes', 'string', 'max:255'],
|
||||
|
||||
/**
|
||||
* Customer patronic name
|
||||
*
|
||||
* @example Öwezowiç
|
||||
*/
|
||||
'customer_patronic_name' => ['nullable', 'string', 'max:255'],
|
||||
|
||||
/**
|
||||
* Passport serie
|
||||
*/
|
||||
'passport_serie' => ['sometimes', 'string', Rule::in(array_keys(PassportRepo::values()))],
|
||||
|
||||
/**
|
||||
* Passport number
|
||||
*
|
||||
* @example 100999
|
||||
*/
|
||||
'passport_id' => ['sometimes', 'numeric', 'digits:6'],
|
||||
|
||||
/**
|
||||
* Date of birth
|
||||
*
|
||||
* @example 10.10.2000
|
||||
*/
|
||||
'born_at' => ['sometimes', 'before_or_equal:today'],
|
||||
|
||||
/**
|
||||
* Phone number
|
||||
*
|
||||
* @example 65999990
|
||||
*/
|
||||
'phone' => ['sometimes', 'integer', 'between:61000000, 71999999'],
|
||||
|
||||
/**
|
||||
* Contract number
|
||||
*
|
||||
* @example 3242358989234
|
||||
*/
|
||||
'loan_contract_number' => ['sometimes', 'string', 'max:255'],
|
||||
|
||||
/**
|
||||
* Contract date
|
||||
*
|
||||
* @example 20.34.23
|
||||
*/
|
||||
'loan_contract_date' => ['sometimes', 'string', 'max:255'],
|
||||
|
||||
/**
|
||||
* Loan amount
|
||||
*
|
||||
* @example 20000
|
||||
*/
|
||||
'loan_amount' => ['sometimes', 'string', 'max:255'],
|
||||
|
||||
/**
|
||||
* Loan reason
|
||||
*
|
||||
* @example Puldan pul yasamak ucin
|
||||
*/
|
||||
'loan_reason' => ['sometimes', 'string', 'max:255'],
|
||||
]);
|
||||
|
||||
Model::unguarded(function () use ($order, $data) {
|
||||
info([$data]);
|
||||
$order->update($data);
|
||||
});
|
||||
|
||||
return response()->json([
|
||||
@@ -86,13 +173,13 @@ class LoanPaidOffLetterOrderController extends Controller
|
||||
/**
|
||||
* DELETE*
|
||||
*/
|
||||
public function destroy(LoanPaidOffLetterOrder $loanPaidOffLetter): JsonResponse
|
||||
public function destroy(LoanPaidOffLetterOrder $order): JsonResponse
|
||||
{
|
||||
if ($loanPaidOffLetter->user_id === auth()->id()) {
|
||||
if ($order->user_id !== auth()->id()) {
|
||||
return response()->json(status: 403);
|
||||
}
|
||||
|
||||
$loanPaidOffLetter->delete();
|
||||
$order->delete();
|
||||
|
||||
return response()->json();
|
||||
}
|
||||
|
||||
@@ -39,6 +39,8 @@ class LoanPaidOffLetterOrder extends Model
|
||||
use HasFactory;
|
||||
use SoftDeletes;
|
||||
|
||||
protected $table = 'loan_paid_off_letter_orders';
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
|
||||
@@ -159,7 +159,7 @@ class LoanOrderController extends Controller
|
||||
*/
|
||||
public function destroy(LoanOrder $loanOrder): JsonResponse
|
||||
{
|
||||
if ($loanOrder->user_id === auth()->id()) {
|
||||
if ($loanOrder->user_id != auth()->id()) {
|
||||
return response()->json(status: 403);
|
||||
}
|
||||
|
||||
|
||||
@@ -81,12 +81,12 @@ Route::middleware(['auth:sanctum', 'not_banned'])->group(function () {
|
||||
Route::post('loan-remaining-order/{order}', [LoanOrderRemainingOrderController::class, 'update']);
|
||||
Route::delete('loan-remaining-order/{order}', [LoanOrderRemainingOrderController::class, 'destroy']);
|
||||
|
||||
// Loan paid off letters...
|
||||
// Loan paid off letters... [tested fully]
|
||||
Route::get('loan-paid-off-letter-orders', [LoanPaidOffLetterOrderController::class, 'index']);
|
||||
Route::get('loan-paid-off-letter-orders/{order}', [LoanPaidOffLetterOrderController::class, 'show']);
|
||||
Route::post('loan-paid-off-letter-orders', [LoanPaidOffLetterOrderController::class, 'store']);
|
||||
Route::post('loan-paid-off-letter-orders/{order}', [LoanPaidOffLetterOrderController::class, 'update']);
|
||||
Route::delete('loan-paid-off-letter-orders/{order}', [LoanPaidOffLetterOrderController::class, 'destory']);
|
||||
Route::delete('loan-paid-off-letter-orders/{order}', [LoanPaidOffLetterOrderController::class, 'destroy']);
|
||||
|
||||
// Alerts...
|
||||
Route::get('alerts', [AlertController::class, 'index']);
|
||||
|
||||
Reference in New Issue
Block a user