ProviderBankAccountResource.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. namespace App\Http\Resources;
  3. use App\Models\ProviderBankAccount;
  4. use Illuminate\Http\Request;
  5. use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
  6. use Illuminate\Http\Resources\Json\JsonResource;
  7. class ProviderBankAccountResource extends JsonResource
  8. {
  9. /**
  10. * @return array<string, mixed>
  11. */
  12. public function toArray(Request $request): array
  13. {
  14. return [
  15. 'id' => $this->id,
  16. 'provider_id' => $this->provider_id,
  17. 'bank_id' => $this->bank_id,
  18. 'bank_code' => $this->bank_code,
  19. 'bank_name' => $this->bank?->name ?? $this->bank_name,
  20. 'holder_name' => $this->holder_name,
  21. 'holder_document' => $this->holder_document,
  22. 'type' => $this->type,
  23. 'branch_number' => $this->branch_number,
  24. 'branch_check_digit' => $this->branch_check_digit,
  25. 'account_number' => $this->account_number,
  26. 'account_check_digit' => $this->account_check_digit,
  27. 'is_primary' => $this->is_primary,
  28. 'is_active' => $this->is_active,
  29. 'synced' => $this->isSyncedWithGateway(),
  30. 'created_at' => $this->created_at?->format('d/m/Y H:i'),
  31. 'updated_at' => $this->updated_at?->format('d/m/Y H:i'),
  32. ];
  33. }
  34. /**
  35. * @param \Illuminate\Database\Eloquent\Collection<ProviderBankAccount> $resource
  36. * @return \Illuminate\Http\Resources\Json\AnonymousResourceCollection<ProviderBankAccountResource>
  37. */
  38. public static function collection($resource): AnonymousResourceCollection
  39. {
  40. return parent::collection($resource);
  41. }
  42. }