2020-02-15 10:06:30 +01:00
|
|
|
<?php
|
|
|
|
/**
|
2020-09-06 11:38:10 +02:00
|
|
|
* Invoice Ninja (https://invoiceninja.com).
|
2020-02-15 10:06:30 +01:00
|
|
|
*
|
|
|
|
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
|
|
*
|
2023-01-28 23:21:40 +01:00
|
|
|
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com)
|
2020-02-15 10:06:30 +01:00
|
|
|
*
|
2021-06-16 08:58:16 +02:00
|
|
|
* @license https://www.elastic.co/licensing/elastic-license
|
2020-02-15 10:06:30 +01:00
|
|
|
*/
|
|
|
|
|
|
|
|
namespace App\Transformers;
|
|
|
|
|
|
|
|
use App\Models\Design;
|
|
|
|
use App\Utils\Traits\MakesHash;
|
2020-02-27 00:32:44 +01:00
|
|
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
2020-02-15 10:06:30 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Class DesignTransformer.
|
|
|
|
*/
|
|
|
|
class DesignTransformer extends EntityTransformer
|
|
|
|
{
|
|
|
|
use MakesHash;
|
2020-02-27 00:32:44 +01:00
|
|
|
use SoftDeletes;
|
2022-06-21 11:57:17 +02:00
|
|
|
|
2020-02-15 10:06:30 +01:00
|
|
|
/**
|
|
|
|
* @var array
|
|
|
|
*/
|
2023-08-21 03:29:31 +02:00
|
|
|
protected array $defaultIncludes = [
|
2020-02-15 10:06:30 +01:00
|
|
|
];
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @var array
|
|
|
|
*/
|
2023-08-21 03:29:31 +02:00
|
|
|
protected array $availableIncludes = [
|
2020-02-15 10:06:30 +01:00
|
|
|
];
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param Design $design
|
2020-03-21 06:37:30 +01:00
|
|
|
*
|
2020-02-15 10:06:30 +01:00
|
|
|
* @return array
|
|
|
|
*/
|
|
|
|
public function transform(Design $design)
|
|
|
|
{
|
|
|
|
return [
|
2020-09-06 11:38:10 +02:00
|
|
|
'id' => (string) $this->encodePrimaryKey($design->id),
|
|
|
|
'name' => (string) $design->name,
|
|
|
|
'is_custom' => (bool) $design->is_custom,
|
|
|
|
'is_active' => (bool) $design->is_active,
|
2023-09-21 09:15:51 +02:00
|
|
|
'is_template' => (bool) $design->is_template,
|
2020-02-15 10:06:30 +01:00
|
|
|
'design' => $design->design,
|
2020-09-06 11:38:10 +02:00
|
|
|
'updated_at' => (int) $design->updated_at,
|
|
|
|
'archived_at' => (int) $design->deleted_at,
|
|
|
|
'created_at' => (int) $design->created_at,
|
|
|
|
'is_deleted' => (bool) $design->is_deleted,
|
2021-07-18 12:10:55 +02:00
|
|
|
'is_free' => ($design->id <= 4) ? true : false,
|
2023-09-22 06:46:14 +02:00
|
|
|
'is_template' => (bool) $design->is_template,
|
|
|
|
'entities' => (string) $design->entities ?: '',
|
2020-02-15 10:06:30 +01:00
|
|
|
];
|
|
|
|
}
|
|
|
|
}
|