mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/exchange-2.0.git
synced 2026-08-20 04:53:56 +00:00
38 lines
1.1 KiB
PHP
38 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Classes\Modules\Documents\Services;
|
|
|
|
use App\Classes\General\Eloquent\AbstractUpdateRecord;
|
|
use App\Classes\ValueObjects\Constants\ApprovalStatus;
|
|
use App\Models\Document;
|
|
use App\Models\User;
|
|
use Carbon\Carbon;
|
|
|
|
class RejectsDocument extends AbstractUpdateRecord
|
|
{
|
|
|
|
/**
|
|
* @param Document $model
|
|
* @return \Illuminate\Database\Eloquent\Model
|
|
* @throws \App\Classes\Exceptions\MalformedRequestException
|
|
*/
|
|
public function execute(Document $model)
|
|
{
|
|
$user = Auth()->user();
|
|
// if auth user is null, then this services is calling from shipping
|
|
if (!$user) {
|
|
$token = explode('.', request()->bearerToken())[1];
|
|
$decodedToken = base64_decode($token);
|
|
$shippingUser = json_decode($decodedToken, true)['user'];
|
|
$user = User::where('email', $shippingUser['email'])->first();
|
|
if (!$user) {
|
|
$user = User::find(1);
|
|
}
|
|
}
|
|
$model->status = ApprovalStatus::REJECTED;
|
|
$model->approver = $user->id;
|
|
$model->approval_date = Carbon::now();
|
|
|
|
return $this->handler($model);
|
|
}
|
|
} |