From ff83b9cb43350e582912033967be385d0767268d Mon Sep 17 00:00:00 2001 From: Mohammad Hafijul Islam Date: Wed, 15 Jan 2025 14:02:50 +0600 Subject: [PATCH] data mapping improved --- src/Http/Resources/BankTransferCollection.php | 72 +++--------------- src/Http/Resources/BankTransferResource.php | 74 +++---------------- src/Http/Resources/CashPickupCollection.php | 70 +++--------------- src/Http/Resources/CashPickupResource.php | 69 +++-------------- .../Resources/WalletTransferCollection.php | 70 +++--------------- src/Http/Resources/WalletTransferResource.php | 70 +++--------------- 6 files changed, 61 insertions(+), 364 deletions(-) diff --git a/src/Http/Resources/BankTransferCollection.php b/src/Http/Resources/BankTransferCollection.php index 67ef089..c77329c 100644 --- a/src/Http/Resources/BankTransferCollection.php +++ b/src/Http/Resources/BankTransferCollection.php @@ -18,72 +18,22 @@ class BankTransferCollection extends ResourceCollection /** * Transform the resource collection into an array. * - * @param Request $request + * @param Request $request * @return array */ public function toArray($request) { - return $this->collection->map(function ($bankTransfer) use ($request) { + return $this->collection->map(function ($item) use ($request) { $data = [ - 'id' => $bankTransfer->getKey(), - 'source_country_id' => $bankTransfer->source_country_id ?? null, - 'source_country_name' => null, - 'destination_country_id' => $bankTransfer->destination_country_id ?? null, - 'destination_country_name' => null, - 'parent_id' => $bankTransfer->parent_id ?? null, - 'sender_receiver_id' => $bankTransfer->sender_receiver_id ?? null, - 'sender_receiver_name' => null, - 'user_id' => $bankTransfer->user_id ?? null, - 'user_name' => null, - 'assigned_user_id' => $bankTransfer->assigned_user_id ?? null, - 'assigned_user_name' => null, - 'service_id' => $bankTransfer->service_id ?? null, - 'service_name' => null, - 'service_vendor_id' => $bankTransfer->service_vendor_id ?? config('fintech.business.default_vendor'), - 'service_vendor_name' => null, - 'vendor' => $bankTransfer->vendor ?? config('fintech.business.default_vendor_name'), - 'transaction_form_id' => $bankTransfer->transaction_form_id ?? null, - 'transaction_form_name' => $bankTransfer->transaction_form_name ?? null, - 'ordered_at' => $bankTransfer->ordered_at ?? null, - 'amount' => $bankTransfer->amount ?? null, - 'currency' => $bankTransfer->currency ?? null, - 'converted_amount' => $bankTransfer->converted_amount ?? null, - 'converted_currency' => $bankTransfer->converted_currency ?? null, - 'order_number' => $bankTransfer->order_number ?? null, - 'risk_profile' => $bankTransfer->risk_profile ?? null, - 'notes' => $bankTransfer->notes ?? null, - 'is_refunded' => $bankTransfer->is_refunded ?? null, - 'order_data' => $bankTransfer->order_data ?? new stdClass, - 'status' => $bankTransfer->status ?? null, - 'created_at' => $bankTransfer->created_at ?? null, - 'updated_at' => $bankTransfer->updated_at ?? null, - ] + $bankTransfer->commonAttributes(); - - $data['amount_formatted'] = currency($data['amount'], $data['currency'])->format(); - $data['converted_amount_formatted'] = currency($data['converted_amount'], $data['converted_currency'])->format(); - - if (Core::packageExists('MetaData')) { - $data['source_country_name'] = $bankTransfer->sourceCountry?->name ?? null; - $data['destination_country_name'] = $bankTransfer->destinationCountry?->name ?? null; - } - if (Core::packageExists('Auth')) { - $data['user_name'] = $bankTransfer->user?->name ?? null; - $data['sender_receiver_name'] = $bankTransfer->senderReceiver?->name ?? null; - $data['assigned_user_name'] = $bankTransfer->assignedUser?->name ?? null; - } - if (Core::packageExists('Business')) { - $data['service_vendor_name'] = $bankTransfer->serviceVendor?->service_vendor_name ?? null; - $data['service_name'] = $bankTransfer->service?->service_name ?? null; - } - if (Core::packageExists('Transaction')) { - $data['transaction_form_name'] = $bankTransfer->transactionForm?->name ?? null; - } - - $data['assignable'] = ($data['assigned_user_id'] == null || $data['assigned_user_id'] == $request->user()->getKey()); - - $data['trackable'] = $data['service_vendor_id'] != config('fintech.business.default_vendor'); - - $this->renderPolicyData($data['order_data']); + 'risk' => $item->risk ?? null, + 'is_refunded' => $item->is_refunded ?? null, + 'order_data' => $item->order_data ?? null, + 'assigned_user_name' => $item->assignedUser?->name ?? null, + 'assignable' => ($item->assigned_user_id == null || $item->assigned_user_id == $request->user()->getKey()), + 'trackable' => $item->service_vendor_id != config('fintech.business.default_vendor'), + ] + $item->commonAttributes(); + + $this->renderPolicyData($item->order_data); return $data; })->toArray(); diff --git a/src/Http/Resources/BankTransferResource.php b/src/Http/Resources/BankTransferResource.php index d6c35f3..6b202d9 100644 --- a/src/Http/Resources/BankTransferResource.php +++ b/src/Http/Resources/BankTransferResource.php @@ -22,67 +22,17 @@ class BankTransferResource extends JsonResource */ public function toArray($request) { - $data = [ - 'id' => $this->getKey(), - 'source_country_id' => $this->source_country_id ?? null, - 'source_country_name' => null, - 'destination_country_id' => $this->destination_country_id ?? null, - 'destination_country_name' => null, - 'parent_id' => $this->parent_id ?? null, - 'sender_receiver_id' => $this->sender_receiver_id ?? null, - 'sender_receiver_name' => null, - 'user_id' => $this->user_id ?? null, - 'user_name' => null, - 'assigned_user_id' => $this->assigned_user_id ?? null, - 'assigned_user_name' => null, - 'service_id' => $this->service_id ?? null, - 'service_name' => null, - 'service_vendor_id' => $this->service_vendor_id ?? config('fintech.business.default_vendor'), - 'service_vendor_name' => null, - 'vendor' => $this->vendor ?? config('fintech.business.default_vendor_name'), - 'transaction_form_id' => $this->transaction_form_id ?? null, - 'transaction_form_name' => $this->transaction_form_name ?? null, - 'ordered_at' => $this->ordered_at ?? null, - 'amount' => $this->amount ?? null, - 'currency' => $this->currency ?? null, - 'converted_amount' => $this->converted_amount ?? null, - 'converted_currency' => $this->converted_currency ?? null, - 'order_number' => $this->order_number ?? null, - 'risk_profile' => $this->risk_profile ?? null, - 'notes' => $this->notes ?? null, - 'is_refunded' => $this->is_refunded ?? false, - 'order_data' => $this->order_data ?? new stdClass, - 'status' => $this->status ?? null, - 'created_at' => $this->created_at ?? null, - 'updated_at' => $this->updated_at ?? null, - 'timeline' => $this->timeline ?? [], - ] + $this->commonAttributes(); - - $data['amount_formatted'] = currency($data['amount'], $data['currency'])->format(); - $data['converted_amount_formatted'] = currency($data['converted_amount'], $data['converted_currency'])->format(); - - if (Core::packageExists('MetaData')) { - $data['source_country_name'] = $this->sourceCountry?->name ?? null; - $data['destination_country_name'] = $this->destinationCountry?->name ?? null; - } - if (Core::packageExists('Auth')) { - $data['user_name'] = $this->user?->name ?? null; - $data['sender_receiver_name'] = $this->senderReceiver?->name ?? null; - $data['assigned_user_name'] = $this->assignedUser?->name ?? null; - } - if (Core::packageExists('Transaction')) { - $data['transaction_form_name'] = $this->transactionForm?->name ?? null; - } - - if (Core::packageExists('Business')) { - $data['service_vendor_name'] = $this->serviceVendor?->service_vendor_name ?? null; - $data['service_name'] = $this->service?->service_name ?? null; - } - $data['assignable'] = ($data['assigned_user_id'] == null || $data['assigned_user_id'] == $request->user()->getKey()); - $data['trackable'] = $data['service_vendor_id'] != config('fintech.business.default_vendor'); - - $this->renderPolicyData($data['order_data']); - - return $data; + $data = [ + 'risk' => $this->risk ?? null, + 'is_refunded' => $this->is_refunded ?? null, + 'order_data' => $this->order_data ?? null, + 'assigned_user_name' => $this->assignedUser?->name ?? null, + 'assignable' => ($this->assigned_user_id == null || $this->assigned_user_id == $request->user()->getKey()), + 'trackable' => $this->service_vendor_id != config('fintech.business.default_vendor'), + ] + $this->commonAttributes(); + + $this->renderPolicyData($this->order_data); + + return $data; } } diff --git a/src/Http/Resources/CashPickupCollection.php b/src/Http/Resources/CashPickupCollection.php index a0afa48..13a990a 100644 --- a/src/Http/Resources/CashPickupCollection.php +++ b/src/Http/Resources/CashPickupCollection.php @@ -23,67 +23,17 @@ class CashPickupCollection extends ResourceCollection */ public function toArray($request) { - return $this->collection->map(function ($cashPickup) use ($request) { + return $this->collection->map(function ($item) use ($request) { $data = [ - 'id' => $cashPickup->getKey(), - 'source_country_id' => $cashPickup->source_country_id ?? null, - 'source_country_name' => null, - 'destination_country_id' => $cashPickup->destination_country_id ?? null, - 'destination_country_name' => null, - 'parent_id' => $cashPickup->parent_id ?? null, - 'sender_receiver_id' => $cashPickup->sender_receiver_id ?? null, - 'sender_receiver_name' => null, - 'user_id' => $cashPickup->user_id ?? null, - 'user_name' => null, - 'assigned_user_id' => $cashPickup->assigned_user_id ?? null, - 'assigned_user_name' => null, - 'service_id' => $cashPickup->service_id ?? null, - 'service_name' => null, - 'service_vendor_id' => $cashPickup->service_vendor_id ?? config('fintech.business.default_vendor'), - 'service_vendor_name' => null, - 'vendor' => $cashPickup->vendor ?? config('fintech.business.default_vendor_name'), - 'transaction_form_id' => $cashPickup->transaction_form_id ?? null, - 'transaction_form_name' => $cashPickup->transaction_form_name ?? null, - 'ordered_at' => $cashPickup->ordered_at ?? null, - 'amount' => $cashPickup->amount ?? null, - 'currency' => $cashPickup->currency ?? null, - 'converted_amount' => $cashPickup->converted_amount ?? null, - 'converted_currency' => $cashPickup->converted_currency ?? null, - 'order_number' => $cashPickup->order_number ?? null, - 'risk_profile' => $cashPickup->risk_profile ?? null, - 'notes' => $cashPickup->notes ?? null, - 'is_refunded' => $cashPickup->is_refunded ?? null, - 'order_data' => $cashPickup->order_data ?? new stdClass, - 'status' => $cashPickup->status ?? null, - 'created_at' => $cashPickup->created_at ?? null, - 'updated_at' => $cashPickup->updated_at ?? null, - ] + $cashPickup->commonAttributes(); - - $data['amount_formatted'] = currency($data['amount'], $data['currency'])->format(); - $data['converted_amount_formatted'] = currency($data['converted_amount'], $data['converted_currency'])->format(); - - if (Core::packageExists('MetaData')) { - $data['source_country_name'] = $cashPickup->sourceCountry?->name ?? null; - $data['destination_country_name'] = $cashPickup->destinationCountry?->name ?? null; - } - if (Core::packageExists('Auth')) { - $data['user_name'] = $cashPickup->user?->name ?? null; - $data['sender_receiver_name'] = $cashPickup->senderReceiver?->name ?? null; - $data['assigned_user_name'] = $cashPickup->assignedUser?->name ?? null; - } - - if (Core::packageExists('Transaction')) { - $data['transaction_form_name'] = $cashPickup->transactionForm?->name ?? null; - } - - if (Core::packageExists('Business')) { - $data['service_vendor_name'] = $cashPickup->serviceVendor?->service_vendor_name ?? null; - $data['service_name'] = $cashPickup->service?->service_name ?? null; - } - $data['assignable'] = ($data['assigned_user_id'] == null || $data['assigned_user_id'] == $request->user()->getKey()); - $data['trackable'] = $data['service_vendor_id'] != config('fintech.business.default_vendor'); - - $this->renderPolicyData($data['order_data']); + 'risk' => $item->risk ?? null, + 'is_refunded' => $item->is_refunded ?? null, + 'order_data' => $item->order_data ?? null, + 'assigned_user_name' => $item->assignedUser?->name ?? null, + 'assignable' => ($item->assigned_user_id == null || $item->assigned_user_id == $request->user()->getKey()), + 'trackable' => $item->service_vendor_id != config('fintech.business.default_vendor'), + ] + $item->commonAttributes(); + + $this->renderPolicyData($item->order_data); return $data; })->toArray(); diff --git a/src/Http/Resources/CashPickupResource.php b/src/Http/Resources/CashPickupResource.php index a80e0ca..91b2711 100644 --- a/src/Http/Resources/CashPickupResource.php +++ b/src/Http/Resources/CashPickupResource.php @@ -23,66 +23,15 @@ class CashPickupResource extends JsonResource public function toArray($request) { $data = [ - 'id' => $this->getKey(), - 'source_country_id' => $this->source_country_id ?? null, - 'source_country_name' => null, - 'destination_country_id' => $this->destination_country_id ?? null, - 'destination_country_name' => null, - 'parent_id' => $this->parent_id ?? null, - 'sender_receiver_id' => $this->sender_receiver_id ?? null, - 'sender_receiver_name' => null, - 'user_id' => $this->user_id ?? null, - 'user_name' => null, - 'assigned_user_id' => $this->assigned_user_id ?? null, - 'assigned_user_name' => null, - 'service_id' => $this->service_id ?? null, - 'service_name' => null, - 'service_vendor_id' => $this->service_vendor_id ?? config('fintech.business.default_vendor'), - 'service_vendor_name' => null, - 'vendor' => $this->vendor ?? config('fintech.business.default_vendor_name'), - 'transaction_form_id' => $this->transaction_form_id ?? null, - 'transaction_form_name' => $this->transaction_form_name ?? null, - 'ordered_at' => $this->ordered_at ?? null, - 'amount' => $this->amount ?? null, - 'currency' => $this->currency ?? null, - 'converted_amount' => $this->converted_amount ?? null, - 'converted_currency' => $this->converted_currency ?? null, - 'order_number' => $this->order_number ?? null, - 'risk_profile' => $this->risk_profile ?? null, - 'notes' => $this->notes ?? null, - 'is_refunded' => $this->is_refunded ?? null, - 'order_data' => $this->order_data ?? new stdClass, - 'status' => $this->status ?? null, - 'created_at' => $this->created_at ?? null, - 'updated_at' => $this->updated_at ?? null, - 'timeline' => $this->timeline ?? [], - ] + $this->commonAttributes(); - - $data['amount_formatted'] = currency($data['amount'], $data['currency'])->format(); - $data['converted_amount_formatted'] = currency($data['converted_amount'], $data['converted_currency'])->format(); - - if (Core::packageExists('MetaData')) { - $data['source_country_name'] = $this->sourceCountry?->name ?? null; - $data['destination_country_name'] = $this->destinationCountry?->name ?? null; - } - if (Core::packageExists('Auth')) { - $data['user_name'] = $this->user?->name ?? null; - $data['sender_receiver_name'] = $this->senderReceiver?->name ?? null; - $data['assigned_user_name'] = $this->assignedUser?->name ?? null; - } - - if (Core::packageExists('Transaction')) { - $data['transaction_form_name'] = $this->transactionForm?->name ?? null; - } - - if (Core::packageExists('Business')) { - $data['service_vendor_name'] = $this->serviceVendor?->service_vendor_name ?? null; - $data['service_name'] = $this->service?->service_name ?? null; - } - $data['assignable'] = ($data['assigned_user_id'] == null || $data['assigned_user_id'] == $request->user()->getKey()); - $data['trackable'] = $data['service_vendor_id'] != config('fintech.business.default_vendor'); - - $this->renderPolicyData($data['order_data']); + 'risk' => $this->risk ?? null, + 'is_refunded' => $this->is_refunded ?? null, + 'order_data' => $this->order_data ?? null, + 'assigned_user_name' => $this->assignedUser?->name ?? null, + 'assignable' => ($this->assigned_user_id == null || $this->assigned_user_id == $request->user()->getKey()), + 'trackable' => $this->service_vendor_id != config('fintech.business.default_vendor'), + ] + $this->commonAttributes(); + + $this->renderPolicyData($this->order_data); return $data; } diff --git a/src/Http/Resources/WalletTransferCollection.php b/src/Http/Resources/WalletTransferCollection.php index c6082b2..34a2e11 100644 --- a/src/Http/Resources/WalletTransferCollection.php +++ b/src/Http/Resources/WalletTransferCollection.php @@ -23,67 +23,17 @@ class WalletTransferCollection extends ResourceCollection */ public function toArray($request) { - return $this->collection->map(function ($walletTransfer) use ($request) { + return $this->collection->map(function ($item) use ($request) { $data = [ - 'id' => $walletTransfer->getKey(), - 'source_country_id' => $walletTransfer->source_country_id ?? null, - 'source_country_name' => null, - 'destination_country_id' => $walletTransfer->destination_country_id ?? null, - 'destination_country_name' => null, - 'parent_id' => $walletTransfer->parent_id ?? null, - 'sender_receiver_id' => $walletTransfer->sender_receiver_id ?? null, - 'sender_receiver_name' => null, - 'user_id' => $walletTransfer->user_id ?? null, - 'user_name' => null, - 'assigned_user_id' => $walletTransfer->assigned_user_id ?? null, - 'assigned_user_name' => null, - 'service_id' => $walletTransfer->service_id ?? null, - 'service_name' => null, - 'service_vendor_id' => $walletTransfer->service_vendor_id ?? config('fintech.business.default_vendor'), - 'service_vendor_name' => null, - 'vendor' => $walletTransfer->vendor ?? config('fintech.business.default_vendor_name'), - 'transaction_form_id' => $walletTransfer->transaction_form_id ?? null, - 'transaction_form_name' => $walletTransfer->transaction_form_name ?? null, - 'ordered_at' => $walletTransfer->ordered_at ?? null, - 'amount' => $walletTransfer->amount ?? null, - 'currency' => $walletTransfer->currency ?? null, - 'converted_amount' => $walletTransfer->converted_amount ?? null, - 'converted_currency' => $walletTransfer->converted_currency ?? null, - 'order_number' => $walletTransfer->order_number ?? null, - 'risk_profile' => $walletTransfer->risk_profile ?? null, - 'notes' => $walletTransfer->notes ?? null, - 'is_refunded' => $walletTransfer->is_refunded ?? null, - 'order_data' => $walletTransfer->order_data ?? new stdClass, - 'status' => $walletTransfer->status ?? null, - 'created_at' => $walletTransfer->created_at ?? null, - 'updated_at' => $walletTransfer->updated_at ?? null, - ] + $walletTransfer->commonAttributes(); - - $data['amount_formatted'] = currency($data['amount'], $data['currency'])->format(); - $data['converted_amount_formatted'] = currency($data['converted_amount'], $data['converted_currency'])->format(); - - if (Core::packageExists('MetaData')) { - $data['source_country_name'] = $walletTransfer->sourceCountry?->name ?? null; - $data['destination_country_name'] = $walletTransfer->destinationCountry?->name ?? null; - } - if (Core::packageExists('Auth')) { - $data['user_name'] = $walletTransfer->user?->name ?? null; - $data['sender_receiver_name'] = $walletTransfer->senderReceiver?->name ?? null; - $data['assigned_user_name'] = $walletTransfer->assignedUser?->name ?? null; - } - - if (Core::packageExists('Transaction')) { - $data['transaction_form_name'] = $walletTransfer->transactionForm?->name ?? null; - } - - if (Core::packageExists('Business')) { - $data['service_vendor_name'] = $this->serviceVendor?->service_vendor_name ?? null; - $data['service_name'] = $this->service?->service_name ?? null; - } - $data['assignable'] = ($data['assigned_user_id'] == null || $data['assigned_user_id'] == $request->user()->getKey()); - $data['trackable'] = $data['service_vendor_id'] != config('fintech.business.default_vendor'); - - $this->renderPolicyData($data['order_data']); + 'risk' => $item->risk ?? null, + 'is_refunded' => $item->is_refunded ?? null, + 'order_data' => $item->order_data ?? null, + 'assigned_user_name' => $item->assignedUser?->name ?? null, + 'assignable' => ($item->assigned_user_id == null || $item->assigned_user_id == $request->user()->getKey()), + 'trackable' => $item->service_vendor_id != config('fintech.business.default_vendor'), + ] + $item->commonAttributes(); + + $this->renderPolicyData($item->order_data); return $data; })->toArray(); diff --git a/src/Http/Resources/WalletTransferResource.php b/src/Http/Resources/WalletTransferResource.php index 3047fec..ff76259 100644 --- a/src/Http/Resources/WalletTransferResource.php +++ b/src/Http/Resources/WalletTransferResource.php @@ -23,67 +23,15 @@ class WalletTransferResource extends JsonResource public function toArray($request) { $data = [ - 'id' => $this->getKey(), - 'source_country_id' => $this->source_country_id ?? null, - 'source_country_name' => null, - 'destination_country_id' => $this->destination_country_id ?? null, - 'destination_country_name' => null, - 'parent_id' => $this->parent_id ?? null, - 'sender_receiver_id' => $this->sender_receiver_id ?? null, - 'sender_receiver_name' => null, - 'user_id' => $this->user_id ?? null, - 'user_name' => null, - 'assigned_user_id' => $this->assigned_user_id ?? null, - 'assigned_user_name' => null, - 'service_id' => $this->service_id ?? null, - 'service_name' => null, - 'service_vendor_id' => $this->service_vendor_id ?? config('fintech.business.default_vendor'), - 'service_vendor_name' => null, - 'vendor' => $this->vendor ?? config('fintech.business.default_vendor_name'), - 'transaction_form_id' => $this->transaction_form_id ?? null, - 'transaction_form_name' => $this->transaction_form_name ?? null, - 'ordered_at' => $this->ordered_at ?? null, - 'amount' => $this->amount ?? null, - 'currency' => $this->currency ?? null, - 'converted_amount' => $this->converted_amount ?? null, - 'converted_currency' => $this->converted_currency ?? null, - 'order_number' => $this->order_number ?? null, - 'risk_profile' => $this->risk_profile ?? null, - 'notes' => $this->notes ?? null, - 'is_refunded' => $this->is_refunded ?? null, - 'order_data' => $this->order_data ?? new stdClass, - 'status' => $this->status ?? null, - 'created_at' => $this->created_at ?? null, - 'updated_at' => $this->updated_at ?? null, - 'timeline' => $this->timeline ?? [], - ] + $this->commonAttributes(); - - $data['amount_formatted'] = currency($data['amount'], $data['currency'])->format(); - $data['converted_amount_formatted'] = currency($data['converted_amount'], $data['converted_currency'])->format(); - - if (Core::packageExists('MetaData')) { - $data['source_country_name'] = $this->sourceCountry?->name ?? null; - $data['destination_country_name'] = $this->destinationCountry?->name ?? null; - } - if (Core::packageExists('Auth')) { - $data['user_name'] = $this->user?->name ?? null; - $data['sender_receiver_name'] = $this->senderReceiver?->name ?? null; - $data['assigned_user_name'] = $this->assignedUser?->name ?? null; - } - - if (Core::packageExists('Transaction')) { - $data['transaction_form_name'] = $this->transactionForm?->name ?? null; - } - - if (Core::packageExists('Business')) { - $data['service_vendor_name'] = $this->serviceVendor?->service_vendor_name ?? null; - $data['service_name'] = $this->service?->service_name ?? null; - } - - $data['assignable'] = ($data['assigned_user_id'] == null || $data['assigned_user_id'] == $request->user()->getKey()); - $data['trackable'] = $data['service_vendor_id'] != config('fintech.business.default_vendor'); - - $this->renderPolicyData($data['order_data']); + 'risk' => $this->risk ?? null, + 'is_refunded' => $this->is_refunded ?? null, + 'order_data' => $this->order_data ?? null, + 'assigned_user_name' => $this->assignedUser?->name ?? null, + 'assignable' => ($this->assigned_user_id == null || $this->assigned_user_id == $request->user()->getKey()), + 'trackable' => $this->service_vendor_id != config('fintech.business.default_vendor'), + ] + $this->commonAttributes(); + + $this->renderPolicyData($this->order_data); return $data; }