1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-08 20:22:42 +01:00
invoiceninja/app/Ninja/Transformers/ActivityTransformer.php
2018-09-04 21:22:47 +03:00

45 lines
1.5 KiB
PHP

<?php
namespace App\Ninja\Transformers;
use App\Models\Activity;
/**
* @SWG\Definition(definition="Activity", @SWG\Xml(name="Activity"))
*/
class ActivityTransformer extends EntityTransformer
{
protected $defaultIncludes = [];
/**
* @var array
*/
protected $availableIncludes = [];
/**
* @param Activity $activity
*
* @return array
*/
public function transform(Activity $activity)
{
return [
'id' => $activity->key(),
'activity_type_id' => $activity->activity_type_id,
'client_id' => $activity->client ? $activity->client->public_id : null,
'user_id' => $activity->user->public_id + 1,
'invoice_id' => $activity->invoice ? $activity->invoice->public_id : null,
'payment_id' => $activity->payment ? $activity->payment->public_id : null,
'credit_id' => $activity->credit ? $activity->credit->public_id : null,
'updated_at' => $this->getTimestamp($activity->updated_at),
'expense_id' => $activity->expense_id ? $activity->expense->public_id : null,
'is_system' => $activity->is_system ? (bool) $activity->is_system : null,
'contact_id' => $activity->contact_id ? (int) $activity->contact->public_id : null,
'task_id' => $activity->task_id ? (int) $activity->task->public_id : null,
'notes' => $activity->notes ?: '',
'adjustment' => (float) $activity->adjustment,
'balance' => (float) $activity->balance,
];
}
}