for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace TarfinLabs\Parasut\Repositories;
use TarfinLabs\Parasut\Enums\ResourceNames;
use TarfinLabs\Parasut\Models\Product;
use TarfinLabs\Parasut\Repositories\Meta\BaseMeta;
use TarfinLabs\Parasut\Repositories\Meta\ProductMeta;
class ProductRepository extends BaseRepository
{
protected string $endpoint = ResourceNames::PRODUCT;
protected string $model = Product::class;
// region Sorts
public function sortById(bool $descending = false): self
return $this->sortByAttribute('id', $descending);
}
public function sortByName(bool $descending = false): self
return $this->sortByAttribute('name', $descending);
// endregion
// region Filters
public function findByName(string $name): self
$this->filters['name'] = $name;
return $this;
public function findByCode(string $code): self
$this->filters['code'] = $code;
// region Includes
public function includeCategory(): self
$this->includes[] = 'category';
// region Meta
protected static function createMeta(array $meta): BaseMeta
return new ProductMeta($meta);