Skip to content

Commit

Permalink
data mapping improved
Browse files Browse the repository at this point in the history
  • Loading branch information
hafijul233 committed Jan 15, 2025
1 parent 112fcce commit ff83b9c
Show file tree
Hide file tree
Showing 6 changed files with 61 additions and 364 deletions.
72 changes: 11 additions & 61 deletions src/Http/Resources/BankTransferCollection.php
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down
74 changes: 12 additions & 62 deletions src/Http/Resources/BankTransferResource.php
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
}
70 changes: 10 additions & 60 deletions src/Http/Resources/CashPickupCollection.php
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down
69 changes: 9 additions & 60 deletions src/Http/Resources/CashPickupResource.php
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down
Loading

0 comments on commit ff83b9c

Please sign in to comment.