1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-09-20 16:31:33 +02:00
invoiceninja/app/Transformers/ActivityTransformer.php
David Bomba fe5a97e174
Activity API fixes + Payments API (#3076)
* Fixes for Store Payment Validation

* Tests for Payments

* Use custom validator to ensure payments are made ONLY to payable invoices

* Working on custom payment validators

* Update Client balance

* fixes for client balance

* Fixes for activity API
2019-11-18 21:46:01 +11:00

47 lines
1.7 KiB
PHP

<?php
namespace App\Transformers;
use App\Models\Activity;
use App\Utils\Traits\MakesHash;
class ActivityTransformer extends EntityTransformer
{
use MakesHash;
protected $defaultIncludes = [];
/**
* @var array
*/
protected $availableIncludes = [];
/**
* @param Activity $activity
*
* @return array
*/
public function transform(Activity $activity)
{
return [
'id' => (string) $this->encodePrimaryKey($activity->id),
'activity_type_id' => (string) $activity->activity_type_id,
'client_id' => $activity->client ? (string) $this->encodePrimaryKey($activity->client->id) : '',
'company_id' => $activity->company ? (string) $this->encodePrimaryKey($activity->company->id) : '',
'user_id' => (string) $activity->user_id,
'invoice_id' => $activity->invoice ? (string) $this->encodePrimaryKey($activity->invoice->id) : '',
'payment_id' => $activity->payment ? (string) $this->encodePrimaryKey($activity->payment->id) : '',
'credit_id' => $activity->credit ? (string) $this->encodePrimaryKey($activity->credit->id) : '',
'updated_at' => $activity->updated_at,
'expense_id' => $activity->expense_id ? (string) $this->encodePrimaryKey($activity->expense->id) : '',
'is_system' => (bool) $activity->is_system,
'contact_id' => $activity->contact_id ? (string) $this->encodePrimaryKey($activity->contact->id) : '',
'task_id' => $activity->task_id ? (string) $this->encodePrimaryKey($activity->task->id) : '',
'notes' => $activity->notes ? (string) $activity->notes : '',
'ip' => (string) $activity->ip,
];
}
}