. */ declare(strict_types=1); namespace FireflyIII\Transformers; use FireflyIII\Models\Note; use League\CommonMark\CommonMarkConverter; use League\Fractal\TransformerAbstract; use Symfony\Component\HttpFoundation\ParameterBag; /** * Class NoteTransformer */ class NoteTransformer extends TransformerAbstract { /** * List of resources possible to include * * @var array */ protected $availableIncludes = []; /** * List of resources to automatically include * * @var array */ protected $defaultIncludes = []; /** @var ParameterBag */ protected $parameters; /** * CurrencyTransformer constructor. * * @codeCoverageIgnore * * @param ParameterBag $parameters */ public function __construct(ParameterBag $parameters) { $this->parameters = $parameters; } /** * Transform the note. * * @param Note $note * * @return array */ public function transform(Note $note): array { $converter = new CommonMarkConverter; $data = [ 'id' => (int)$note->id, 'updated_at' => $note->updated_at->toAtomString(), 'created_at' => $note->created_at->toAtomString(), 'title' => $note->title, 'text' => $note->text, 'markdown' => $converter->convertToHtml($note->text), 'links' => [ [ 'rel' => 'self', 'uri' => '/notes/' . $note->id, ], ], ]; return $data; } }