first
This commit is contained in:
39
app/Services/Finance/BankVerificationService.php
Normal file
39
app/Services/Finance/BankVerificationService.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\Finance;
|
||||
|
||||
use App\Models\BankVerification;
|
||||
use App\Models\User;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class BankVerificationService
|
||||
{
|
||||
/**
|
||||
* @param array{status: string, finance_note?: string|null} $data
|
||||
*/
|
||||
public function update(BankVerification $verification, User $actor, array $data): BankVerification
|
||||
{
|
||||
return DB::transaction(function () use ($verification, $actor, $data): BankVerification {
|
||||
$before = $verification->only(['status', 'finance_note', 'verified_by_user_id', 'verified_at']);
|
||||
|
||||
$verification->forceFill([
|
||||
'status' => $data['status'],
|
||||
'finance_note' => $data['finance_note'] ?? null,
|
||||
'verified_by_user_id' => $actor->id,
|
||||
'verified_at' => now(),
|
||||
])->save();
|
||||
|
||||
activity('finance')
|
||||
->performedOn($verification)
|
||||
->causedBy($actor)
|
||||
->withProperties([
|
||||
'before' => $before,
|
||||
'after' => $verification->only(['status', 'finance_note', 'verified_by_user_id', 'verified_at']),
|
||||
'application_id' => $verification->application_id,
|
||||
])
|
||||
->log('bank_verification_updated');
|
||||
|
||||
return $verification;
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user