. */ declare(strict_types=1); namespace FireflyIII\Transformers; use FireflyIII\Models\ObjectGroup; use FireflyIII\Repositories\ObjectGroup\ObjectGroupRepositoryInterface; use Log; /** * Class AccountTransformer */ class ObjectGroupTransformer extends AbstractTransformer { protected ObjectGroupRepositoryInterface $repository; /** * * AccountTransformer constructor. * * @codeCoverageIgnore */ public function __construct() { if ('testing' === config('app.env')) { Log::warning(sprintf('%s should not be instantiated in the TEST environment!', get_class($this))); } $this->repository = app(ObjectGroupRepositoryInterface::class); } /** * Transform the account. * * @param ObjectGroup $objectGroup * * @return array */ public function transform(ObjectGroup $objectGroup): array { $this->repository->setUser($objectGroup->user); return [ 'id' => (int) $objectGroup->id, 'created_at' => $objectGroup->created_at->toAtomString(), 'updated_at' => $objectGroup->updated_at->toAtomString(), 'title' => $objectGroup->title, 'order' => $objectGroup->order, 'links' => [ [ 'rel' => 'self', 'uri' => '/groups/' . $objectGroup->id, ], ], ]; } }