SuiteCRM-Core/public/legacy/Api/V8/Param/PageParams.php
Clemente Raposo 5aa0daf046 Merge next into suite 8
Merge commit 'de4bf25cb3' into release/8.4.0-beta

# Conflicts:
#	public/legacy/data/SugarBean.php
#	public/legacy/include/Smarty/plugins/function.sugarvar.php
#	public/legacy/include/SugarDateTime.php
#	public/legacy/include/database/MysqliManager.php
#	public/legacy/modules/Alerts/metadata/listviewdefs.php
#	public/legacy/modules/SugarFeed/Dashlets/SugarFeedDashlet/SugarFeedDashlet.php
#	public/legacy/modules/Trackers/metadata/SearchFields.php
#	public/legacy/modules/Trackers/metadata/listviewdefs.php
#	public/legacy/modules/UpgradeWizard/SugarMerge/EditViewMerge.php
#	public/legacy/suitecrm_version.php
2023-07-21 15:22:52 +01:00

46 lines
1.2 KiB
PHP

<?php
namespace Api\V8\Param;
use Api\V8\BeanDecorator\BeanManager;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Validator\Constraints as Assert;
#[\AllowDynamicProperties]
class PageParams extends BaseParam
{
/**
* @return integer
*/
public function getSize()
{
return isset($this->parameters['size']) ? (int)$this->parameters['size'] : BeanManager::DEFAULT_ALL_RECORDS;
}
/**
* @return integer
*/
public function getNumber()
{
return isset($this->parameters['number']) ? (int)$this->parameters['number'] : BeanManager::DEFAULT_OFFSET;
}
/**
* @inheritdoc
*/
protected function configureParameters(OptionsResolver $resolver)
{
$resolver
->setDefined('size')
->setAllowedTypes('size', 'string')
->setAllowedValues('size', $this->validatorFactory->createClosure([
new Assert\GreaterThan(0),
]));
$resolver
->setDefined('number')
->setAllowedTypes('number', 'string')
->setAllowedValues('number', $this->validatorFactory->createClosure([
new Assert\GreaterThan(0),
]));
}
}