Files
animethemes-server/app/Http/Api/Field/Base/CreatedAtField.php
T
2025-10-01 17:18:31 -03:00

44 lines
1.2 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Http\Api\Field\Base;
use App\Http\Api\Criteria\Field\Criteria;
use App\Http\Api\Field\DateField;
use App\Http\Api\Query\Query;
use App\Http\Api\Schema\Schema;
use App\Models\BaseModel;
class CreatedAtField extends DateField
{
public function __construct(Schema $schema)
{
parent::__construct($schema, BaseModel::ATTRIBUTE_CREATED_AT);
}
/**
* Determine if the field should be displayed to the user.
*
* @noinspection PhpMissingParentCallCommonInspection
*/
public function shouldRender(Query $query): bool
{
$criteria = $query->getFieldCriteria($this->schema->type());
return $criteria instanceof Criteria && $criteria->isAllowedField($this->getKey());
}
/**
* Determine if the field should be included in the select clause of our query.
*
* @noinspection PhpMissingParentCallCommonInspection
*/
public function shouldSelect(Query $query, Schema $schema): bool
{
$criteria = $query->getFieldCriteria($this->schema->type());
return $criteria instanceof Criteria && $criteria->isAllowedField($this->getKey());
}
}