type fixes
This commit is contained in:
@@ -95,7 +95,7 @@ class FilterFactory
|
||||
}
|
||||
|
||||
/**
|
||||
* @return class-string
|
||||
* @return class-string<Filter>
|
||||
*/
|
||||
private function getClassName(string $entityType, string $name): ?string
|
||||
{
|
||||
@@ -103,6 +103,7 @@ class FilterFactory
|
||||
throw new Error("Empty access control filter name.");
|
||||
}
|
||||
|
||||
/** @var ?class-string<Filter> */
|
||||
$className = $this->metadata->get(
|
||||
[
|
||||
'selectDefs',
|
||||
@@ -119,6 +120,9 @@ class FilterFactory
|
||||
return $this->getDefaultClassName($name);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return class-string<Filter>
|
||||
*/
|
||||
private function getDefaultClassName(string $name): ?string
|
||||
{
|
||||
$className = 'Espo\\Core\\Select\\AccessControl\\Filters\\' . ucfirst($name);
|
||||
@@ -127,6 +131,7 @@ class FilterFactory
|
||||
return null;
|
||||
}
|
||||
|
||||
/** @var class-string<Filter> */
|
||||
return $className;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,20 +90,22 @@ class FilterResolverFactory
|
||||
}
|
||||
|
||||
/**
|
||||
* @return class-string
|
||||
* @return class-string<FilterResolver>
|
||||
*/
|
||||
private function getClassName(string $entityType): string
|
||||
{
|
||||
/** @var class-string<FilterResolver> */
|
||||
return $this->metadata->get([
|
||||
'selectDefs', $entityType, 'accessControlFilterResolverClassName'
|
||||
]) ?? DefaultFilterResolver::class;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return class-string
|
||||
* @return class-string<FilterResolver>
|
||||
*/
|
||||
private function getPortalClassName(string $entityType): string
|
||||
{
|
||||
/** @var class-string<FilterResolver> */
|
||||
return $this->metadata->get([
|
||||
'selectDefs', $entityType, 'portalAccessControlFilterResolverClassName'
|
||||
]) ?? DefaultPortalFilterResolver::class;
|
||||
|
||||
@@ -50,7 +50,7 @@ class Additional
|
||||
}
|
||||
|
||||
/**
|
||||
* @param class-string[] $classNameList
|
||||
* @param class-string<AdditionalApplier>[] $classNameList
|
||||
*/
|
||||
public function apply(array $classNameList, QueryBuilder $queryBuilder, SearchParams $searchParams): void
|
||||
{
|
||||
@@ -62,7 +62,7 @@ class Additional
|
||||
}
|
||||
|
||||
/**
|
||||
* @param class-string $className
|
||||
* @param class-string<AdditionalApplier> $className
|
||||
*/
|
||||
private function createApplier(string $className): AdditionalApplier
|
||||
{
|
||||
|
||||
@@ -103,7 +103,7 @@ class Select
|
||||
|
||||
/**
|
||||
* @param string[] $attributeList
|
||||
* @return string[]
|
||||
* @return array<int,array{string,string}|string>
|
||||
*/
|
||||
protected function prepareAttributeList(array $attributeList, SearchParams $searchParams): array
|
||||
{
|
||||
|
||||
@@ -109,10 +109,13 @@ class Factory
|
||||
}
|
||||
|
||||
/**
|
||||
* @return class-string
|
||||
* @return class-string<object>
|
||||
*/
|
||||
protected function getDefaultClassName(string $type): string
|
||||
{
|
||||
return 'Espo\\Core\\Select\\Applier\Appliers\\' . ucfirst($type);
|
||||
/** @var class-string<object> */
|
||||
$className = 'Espo\\Core\\Select\\Applier\Appliers\\' . ucfirst($type);
|
||||
|
||||
return $className;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -82,7 +82,7 @@ class FilterFactory
|
||||
}
|
||||
|
||||
/**
|
||||
* @return class-string|null
|
||||
* @return ?class-string<Filter>
|
||||
*/
|
||||
protected function getClassName(string $entityType, string $name): ?string
|
||||
{
|
||||
@@ -100,6 +100,7 @@ class FilterFactory
|
||||
);
|
||||
|
||||
if ($className) {
|
||||
/** @var ?class-string<Filter> */
|
||||
return $className;
|
||||
}
|
||||
|
||||
@@ -107,13 +108,14 @@ class FilterFactory
|
||||
}
|
||||
|
||||
/**
|
||||
* @return class-string|null
|
||||
* @return ?class-string<Filter>
|
||||
*/
|
||||
protected function getDefaultClassName(string $name): ?string
|
||||
{
|
||||
$className1 = $this->metadata->get(['app', 'select', 'boolFilterClassNameMap', $name]);
|
||||
|
||||
if ($className1) {
|
||||
/** @var ?class-string<Filter> */
|
||||
return $className1;
|
||||
}
|
||||
|
||||
@@ -123,6 +125,7 @@ class FilterFactory
|
||||
return null;
|
||||
}
|
||||
|
||||
/** @var ?class-string<Filter> */
|
||||
return $className;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,10 +66,11 @@ class ItemConverterFactory
|
||||
}
|
||||
|
||||
/**
|
||||
* @return class-string|null
|
||||
* @return ?class-string<ItemConverter>
|
||||
*/
|
||||
private function getClassName(string $entityType, string $field): ?string
|
||||
{
|
||||
/** @var ?class-string<ItemConverter> */
|
||||
$className = $this->metadata->get([
|
||||
'selectDefs', $entityType, 'orderItemConverterClassNameMap', $field
|
||||
]);
|
||||
@@ -86,6 +87,7 @@ class ItemConverterFactory
|
||||
return null;
|
||||
}
|
||||
|
||||
/** @var ?class-string<ItemConverter> */
|
||||
$className = $this->metadata->get([
|
||||
'app', 'select', 'orderItemConverterClassNameMap', $type
|
||||
]);
|
||||
@@ -97,6 +99,7 @@ class ItemConverterFactory
|
||||
$className = 'Espo\\Core\\Select\\Order\\ItemConverters\\' . ucfirst($type) . 'Type';
|
||||
|
||||
if (class_exists($className)) {
|
||||
/** @var class-string<ItemConverter> */
|
||||
return $className;
|
||||
}
|
||||
|
||||
|
||||
@@ -56,9 +56,11 @@ class EnumType implements ItemConverter
|
||||
|
||||
public function convert(Item $item): OrderList
|
||||
{
|
||||
/** @var string */
|
||||
$orderBy = $item->getOrderBy();
|
||||
$order = $item->getOrder() ?? SearchParams::ORDER_ASC;
|
||||
|
||||
/** @var ?string[] */
|
||||
$list = $this->metadata->get([
|
||||
'entityDefs', $this->entityType, 'fields', $orderBy, 'options'
|
||||
]);
|
||||
|
||||
@@ -80,7 +80,7 @@ class FilterFactory
|
||||
}
|
||||
|
||||
/**
|
||||
* @return class-string|null
|
||||
* @return ?class-string<Filter>
|
||||
*/
|
||||
protected function getClassName(string $entityType, string $name): ?string
|
||||
{
|
||||
@@ -104,6 +104,9 @@ class FilterFactory
|
||||
return $this->getDefaultClassName($name);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return ?class-string<Filter>
|
||||
*/
|
||||
protected function getDefaultClassName(string $name): ?string
|
||||
{
|
||||
$className = 'Espo\\Core\\Select\\Primary\\Filters\\' . ucfirst($name);
|
||||
@@ -112,6 +115,7 @@ class FilterFactory
|
||||
return null;
|
||||
}
|
||||
|
||||
/** @var class-string<Filter> */
|
||||
return $className;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
namespace Espo\Core\Select;
|
||||
|
||||
use Espo\Core\Select\Where\Item as WhereItem;
|
||||
use Espo\Core\Utils\Json;
|
||||
|
||||
use InvalidArgumentException;
|
||||
use stdClass;
|
||||
@@ -281,7 +282,7 @@ class SearchParams
|
||||
}
|
||||
|
||||
if ($params instanceof stdClass) {
|
||||
$params = json_decode(json_encode($params), true);
|
||||
$params = json_decode(Json::encode($params), true);
|
||||
}
|
||||
|
||||
$object = new self();
|
||||
|
||||
@@ -89,7 +89,7 @@ class SelectBuilder
|
||||
private bool $applyComplexExpressionsForbidden = false;
|
||||
|
||||
/**
|
||||
* @var class-string[]
|
||||
* @var class-string<\Espo\Core\Select\Applier\AdditionalApplier>[]
|
||||
*/
|
||||
private array $additionalApplierClassNameList = [];
|
||||
|
||||
@@ -333,9 +333,8 @@ class SelectBuilder
|
||||
|
||||
/**
|
||||
* Apply a list of additional applier class names.
|
||||
* Classes must implement `Applier\AdditionalApplier` interface.
|
||||
*
|
||||
* @param string[] $additionalApplierClassNameList
|
||||
* @param class-string<\Espo\Core\Select\Applier\AdditionalApplier>[] $additionalApplierClassNameList
|
||||
*/
|
||||
public function withAdditionalApplierClassNameList(array $additionalApplierClassNameList): self
|
||||
{
|
||||
@@ -507,6 +506,7 @@ class SelectBuilder
|
||||
|
||||
private function createWhereApplier(): WhereApplier
|
||||
{
|
||||
/** @var WhereApplier */
|
||||
return $this->applierFactory->create(
|
||||
$this->entityType,
|
||||
$this->user,
|
||||
@@ -516,6 +516,7 @@ class SelectBuilder
|
||||
|
||||
private function createSelectApplier(): SelectApplier
|
||||
{
|
||||
/** @var SelectApplier */
|
||||
return $this->applierFactory->create(
|
||||
$this->entityType,
|
||||
$this->user,
|
||||
@@ -525,6 +526,7 @@ class SelectBuilder
|
||||
|
||||
private function createOrderApplier(): OrderApplier
|
||||
{
|
||||
/** @var OrderApplier */
|
||||
return $this->applierFactory->create(
|
||||
$this->entityType,
|
||||
$this->user,
|
||||
@@ -534,6 +536,7 @@ class SelectBuilder
|
||||
|
||||
private function createLimitApplier(): LimitApplier
|
||||
{
|
||||
/** @var LimitApplier */
|
||||
return $this->applierFactory->create(
|
||||
$this->entityType,
|
||||
$this->user,
|
||||
@@ -543,6 +546,7 @@ class SelectBuilder
|
||||
|
||||
private function createAccessControlFilterApplier(): AccessControlFilterApplier
|
||||
{
|
||||
/** @var AccessControlFilterApplier */
|
||||
return $this->applierFactory->create(
|
||||
$this->entityType,
|
||||
$this->user,
|
||||
@@ -552,6 +556,7 @@ class SelectBuilder
|
||||
|
||||
private function createTextFilterApplier(): TextFilterApplier
|
||||
{
|
||||
/** @var TextFilterApplier */
|
||||
return $this->applierFactory->create(
|
||||
$this->entityType,
|
||||
$this->user,
|
||||
@@ -561,6 +566,7 @@ class SelectBuilder
|
||||
|
||||
private function createPrimaryFilterApplier(): PrimaryFilterApplier
|
||||
{
|
||||
/** @var PrimaryFilterApplier */
|
||||
return $this->applierFactory->create(
|
||||
$this->entityType,
|
||||
$this->user,
|
||||
@@ -570,6 +576,7 @@ class SelectBuilder
|
||||
|
||||
private function createBoolFilterListApplier(): BoolFilterListApplier
|
||||
{
|
||||
/** @var BoolFilterListApplier */
|
||||
return $this->applierFactory->create(
|
||||
$this->entityType,
|
||||
$this->user,
|
||||
@@ -579,6 +586,7 @@ class SelectBuilder
|
||||
|
||||
private function createAdditionalApplier(): AdditionalApplier
|
||||
{
|
||||
/** @var AdditionalApplier */
|
||||
return $this->applierFactory->create(
|
||||
$this->entityType,
|
||||
$this->user,
|
||||
|
||||
@@ -84,6 +84,8 @@ class SelectManagerFactory
|
||||
$className = $this->defaultClassName;
|
||||
}
|
||||
|
||||
/** @var class-string<SelectManager> $className */
|
||||
|
||||
if ($user) {
|
||||
$acl = $this->aclManagerProvider->get($user)->createUserAcl($user);
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ class FilterFactory
|
||||
|
||||
public function create(string $entityType, User $user): Filter
|
||||
{
|
||||
/** @var class-string */
|
||||
/** @var class-string<Filter> */
|
||||
$className = $this->metadata->get(['selectDefs', $entityType, 'textFilterClassName']) ??
|
||||
DefaultFilter::class;
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ class FullTextSearchDataComposerFactory
|
||||
}
|
||||
|
||||
/**
|
||||
* @return class-string
|
||||
* @return class-string<FullTextSearchDataComposer>
|
||||
*/
|
||||
private function getClassName(string $entityType): string
|
||||
{
|
||||
|
||||
@@ -131,7 +131,7 @@ class ConverterFactory
|
||||
}
|
||||
|
||||
/**
|
||||
* @return class-string
|
||||
* @return class-string<Converter>
|
||||
*/
|
||||
private function getConverterClassName(string $entityType): string
|
||||
{
|
||||
@@ -145,7 +145,7 @@ class ConverterFactory
|
||||
}
|
||||
|
||||
/**
|
||||
* @return class-string
|
||||
* @return class-string<ItemGeneralConverter>
|
||||
*/
|
||||
private function getItemConverterClassName(string $entityType): string
|
||||
{
|
||||
@@ -159,7 +159,7 @@ class ConverterFactory
|
||||
}
|
||||
|
||||
/**
|
||||
* @return class-string
|
||||
* @return class-string<DateTimeItemTransformer>
|
||||
*/
|
||||
private function getDateTimeItemTransformerClassName(string $entityType): string
|
||||
{
|
||||
|
||||
@@ -142,8 +142,11 @@ class Item
|
||||
*/
|
||||
public function getRaw(): array
|
||||
{
|
||||
/** @var string */
|
||||
$type = $this->type;
|
||||
|
||||
$raw = [
|
||||
'type' => $this->type,
|
||||
'type' => $type,
|
||||
'value' => $this->value,
|
||||
];
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@ class ItemConverterFactory
|
||||
}
|
||||
|
||||
/**
|
||||
* @return class-string|null
|
||||
* @return ?class-string<ItemConverter>
|
||||
*/
|
||||
protected function getClassNameForType(string $type): ?string
|
||||
{
|
||||
@@ -121,7 +121,7 @@ class ItemConverterFactory
|
||||
}
|
||||
|
||||
/**
|
||||
* @return class-string|null
|
||||
* @return ?class-string<ItemConverter>
|
||||
*/
|
||||
protected function getClassName(string $entityType, string $attribute, string $type): ?string
|
||||
{
|
||||
|
||||
@@ -63,7 +63,7 @@ class SenderFactory implements Factory
|
||||
throw new RuntimeException("No `smsProvider` in config.");
|
||||
}
|
||||
|
||||
/** @var ?class-string */
|
||||
/** @var ?class-string<Sender> */
|
||||
$className = $this->metadata->get(['app', 'smsProviders', $provider, 'senderClassName']);
|
||||
|
||||
if (!$className) {
|
||||
|
||||
Reference in New Issue
Block a user