2019-07-10 03:42:34 +02:00
|
|
|
<?php
|
|
|
|
/**
|
2020-09-06 11:38:10 +02:00
|
|
|
* Invoice Ninja (https://invoiceninja.com).
|
2019-07-10 03:42:34 +02:00
|
|
|
*
|
|
|
|
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
|
|
*
|
2024-04-12 06:15:41 +02:00
|
|
|
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
|
2019-07-10 03:42:34 +02:00
|
|
|
*
|
2021-06-16 08:58:16 +02:00
|
|
|
* @license https://www.elastic.co/licensing/elastic-license
|
2019-07-10 03:42:34 +02:00
|
|
|
*/
|
|
|
|
|
|
|
|
namespace App\Transformers\Contact;
|
|
|
|
|
|
|
|
use App\Models\Invoice;
|
|
|
|
use App\Transformers\EntityTransformer;
|
|
|
|
use App\Utils\Traits\MakesHash;
|
|
|
|
|
|
|
|
class InvoiceTransformer extends EntityTransformer
|
|
|
|
{
|
|
|
|
use MakesHash;
|
|
|
|
|
2023-08-21 03:29:31 +02:00
|
|
|
protected array $defaultIncludes = [
|
2022-06-21 11:57:17 +02:00
|
|
|
// 'invoice_items',
|
2019-07-10 03:42:34 +02:00
|
|
|
];
|
|
|
|
|
2023-08-21 03:29:31 +02:00
|
|
|
protected array $availableIncludes = [
|
2019-07-10 03:42:34 +02:00
|
|
|
];
|
|
|
|
|
|
|
|
public function transform(Invoice $invoice)
|
|
|
|
{
|
|
|
|
return [
|
|
|
|
'id' => $this->encodePrimaryKey($invoice->id),
|
|
|
|
'amount' => (float) $invoice->amount,
|
|
|
|
'balance' => (float) $invoice->balance,
|
|
|
|
'status_id' => (int) ($invoice->status_id ?: 1),
|
|
|
|
'updated_at' => $invoice->updated_at,
|
|
|
|
'archived_at' => $invoice->deleted_at,
|
2019-11-27 11:27:24 +01:00
|
|
|
'number' => $invoice->number,
|
2019-07-10 03:42:34 +02:00
|
|
|
'discount' => (float) $invoice->discount,
|
|
|
|
'po_number' => $invoice->po_number,
|
2019-11-27 11:27:24 +01:00
|
|
|
'date' => $invoice->date ?: '',
|
2019-07-10 03:42:34 +02:00
|
|
|
'due_date' => $invoice->due_date ?: '',
|
|
|
|
'terms' => $invoice->terms ?: '',
|
|
|
|
'public_notes' => $invoice->public_notes ?: '',
|
|
|
|
'is_deleted' => (bool) $invoice->is_deleted,
|
|
|
|
'tax_name1' => $invoice->tax_name1 ? $invoice->tax_name1 : '',
|
|
|
|
'tax_rate1' => (float) $invoice->tax_rate1,
|
|
|
|
'tax_name2' => $invoice->tax_name2 ? $invoice->tax_name2 : '',
|
|
|
|
'tax_rate2' => (float) $invoice->tax_rate2,
|
2019-10-05 04:28:23 +02:00
|
|
|
'tax_name3' => $invoice->tax_name3 ? $invoice->tax_name3 : '',
|
|
|
|
'tax_rate3' => (float) $invoice->tax_rate3,
|
2019-07-10 03:42:34 +02:00
|
|
|
'is_amount_discount' => (bool) ($invoice->is_amount_discount ?: false),
|
2023-08-07 10:57:25 +02:00
|
|
|
'invoice_footer' => $invoice->footer ?: '',
|
2019-07-10 03:42:34 +02:00
|
|
|
'partial' => (float) ($invoice->partial ?: 0.0),
|
|
|
|
'partial_due_date' => $invoice->partial_due_date ?: '',
|
|
|
|
'custom_value1' => (float) $invoice->custom_value1,
|
|
|
|
'custom_value2' => (float) $invoice->custom_value2,
|
|
|
|
'custom_value3' => (bool) $invoice->custom_value3,
|
|
|
|
'custom_value4' => (bool) $invoice->custom_value4,
|
2023-08-07 10:57:25 +02:00
|
|
|
// 'has_tasks' => (bool) $invoice->has_tasks,
|
|
|
|
// 'has_expenses' => (bool) $invoice->has_expenses,
|
|
|
|
// 'custom_text_value1' => $invoice->custom_text_value1 ?: '',
|
|
|
|
// 'custom_text_value2' => $invoice->custom_text_value2 ?: '',
|
2020-09-06 11:38:10 +02:00
|
|
|
'line_items' => $invoice->line_items,
|
2019-07-10 03:42:34 +02:00
|
|
|
];
|
|
|
|
}
|
2019-12-30 22:59:12 +01:00
|
|
|
}
|