cs
This commit is contained in:
@@ -31,6 +31,7 @@ namespace Espo\Core\ORM;
|
||||
|
||||
use Espo\Core\Utils\Config;
|
||||
use Espo\ORM\DatabaseParams;
|
||||
|
||||
use RuntimeException;
|
||||
|
||||
class DatabaseParamsFactory
|
||||
|
||||
@@ -45,18 +45,14 @@ use RuntimeException;
|
||||
|
||||
class EntityFactory implements EntityFactoryInterface
|
||||
{
|
||||
private ClassFinder $classFinder;
|
||||
private Helper $helper;
|
||||
private InjectableFactory $injectableFactory;
|
||||
private ?EntityManager $entityManager = null;
|
||||
private ?ValueAccessorFactory $valueAccessorFactory = null;
|
||||
|
||||
public function __construct(ClassFinder $classFinder, Helper $helper, InjectableFactory $injectableFactory)
|
||||
{
|
||||
$this->classFinder = $classFinder;
|
||||
$this->helper = $helper;
|
||||
$this->injectableFactory = $injectableFactory;
|
||||
}
|
||||
public function __construct(
|
||||
private ClassFinder $classFinder,
|
||||
private Helper $helper,
|
||||
private InjectableFactory $injectableFactory
|
||||
) {}
|
||||
|
||||
/**
|
||||
* @return ?class-string<Entity>
|
||||
|
||||
@@ -29,11 +29,7 @@
|
||||
|
||||
namespace Espo\Core\ORM;
|
||||
|
||||
use Espo\ORM\{
|
||||
EntityManager as BaseEntityManager,
|
||||
};
|
||||
use Espo\ORM\EntityManager as BaseEntityManager;
|
||||
|
||||
class EntityManager extends BaseEntityManager
|
||||
{
|
||||
|
||||
}
|
||||
{}
|
||||
|
||||
@@ -30,17 +30,12 @@
|
||||
namespace Espo\Core\ORM;
|
||||
|
||||
use Espo\Core\Utils\Config;
|
||||
|
||||
use Espo\ORM\Entity;
|
||||
|
||||
class Helper
|
||||
{
|
||||
private $config;
|
||||
|
||||
public function __construct(Config $config)
|
||||
{
|
||||
$this->config = $config;
|
||||
}
|
||||
public function __construct(private Config $config)
|
||||
{}
|
||||
|
||||
public function formatPersonName(Entity $entity, string $field): ?string
|
||||
{
|
||||
|
||||
@@ -29,23 +29,16 @@
|
||||
|
||||
namespace Espo\Core\ORM;
|
||||
|
||||
use Espo\{
|
||||
Core\Utils\Metadata\OrmMetadataData,
|
||||
Core\Utils\Metadata,
|
||||
ORM\MetadataDataProvider as MetadataDataProviderInterface,
|
||||
};
|
||||
use Espo\Core\Utils\Metadata;
|
||||
use Espo\Core\Utils\Metadata\OrmMetadataData;
|
||||
use Espo\ORM\MetadataDataProvider as MetadataDataProviderInterface;
|
||||
|
||||
class MetadataDataProvider implements MetadataDataProviderInterface
|
||||
{
|
||||
private $ormMetadataData;
|
||||
|
||||
private $metadata;
|
||||
|
||||
public function __construct(OrmMetadataData $ormMetadataData, Metadata $metadata)
|
||||
{
|
||||
$this->ormMetadataData = $ormMetadataData;
|
||||
$this->metadata = $metadata;
|
||||
}
|
||||
public function __construct(
|
||||
private OrmMetadataData $ormMetadataData,
|
||||
private Metadata $metadata
|
||||
) {}
|
||||
|
||||
public function get(): array
|
||||
{
|
||||
|
||||
@@ -32,7 +32,6 @@ namespace Espo\Core\ORM\QueryComposer\Part;
|
||||
use Espo\ORM\QueryComposer\Part\FunctionConverterFactory as FunctionConverterFactoryInterface;
|
||||
use Espo\ORM\QueryComposer\Part\FunctionConverter;
|
||||
use Espo\ORM\DatabaseParams;
|
||||
|
||||
use Espo\Core\Utils\Metadata;
|
||||
use Espo\Core\InjectableFactory;
|
||||
|
||||
@@ -40,26 +39,14 @@ use LogicException;
|
||||
|
||||
class FunctionConverterFactory implements FunctionConverterFactoryInterface
|
||||
{
|
||||
/**
|
||||
* @var array<string,FunctionConverter>
|
||||
*/
|
||||
/** @var array<string, FunctionConverter> */
|
||||
private $hash = [];
|
||||
|
||||
private Metadata $metadata;
|
||||
|
||||
private DatabaseParams $databaseParams;
|
||||
|
||||
private InjectableFactory $injectableFactory;
|
||||
|
||||
public function __construct(
|
||||
Metadata $metadata,
|
||||
InjectableFactory $injectableFactory,
|
||||
DatabaseParams $databaseParams
|
||||
) {
|
||||
$this->metadata = $metadata;
|
||||
$this->injectableFactory = $injectableFactory;
|
||||
$this->databaseParams = $databaseParams;
|
||||
}
|
||||
private Metadata $metadata,
|
||||
private InjectableFactory $injectableFactory,
|
||||
private DatabaseParams $databaseParams
|
||||
) {}
|
||||
|
||||
public function create(string $name): FunctionConverter
|
||||
{
|
||||
@@ -69,9 +56,7 @@ class FunctionConverterFactory implements FunctionConverterFactoryInterface
|
||||
throw new LogicException();
|
||||
}
|
||||
|
||||
$converter = $this->injectableFactory->create($className);
|
||||
|
||||
return $converter;
|
||||
return $this->injectableFactory->create($className);
|
||||
}
|
||||
|
||||
public function isCreatable(string $name): bool
|
||||
|
||||
@@ -43,28 +43,14 @@ use RuntimeException;
|
||||
|
||||
class QueryComposerFactory implements \Espo\ORM\QueryComposer\QueryComposerFactory
|
||||
{
|
||||
private Metadata $metadata;
|
||||
private InjectableFactory $injectableFactory;
|
||||
private PDOProvider $pdoProvider;
|
||||
private OrmMetadata $ormMetadata;
|
||||
private EntityFactory $entityFactory;
|
||||
private FunctionConverterFactory $functionConverterFactory;
|
||||
|
||||
public function __construct(
|
||||
Metadata $metadata,
|
||||
InjectableFactory $injectableFactory,
|
||||
PDOProvider $pdoProvider,
|
||||
OrmMetadata $ormMetadata,
|
||||
EntityFactory $entityFactory,
|
||||
FunctionConverterFactory $functionConverterFactory
|
||||
) {
|
||||
$this->metadata = $metadata;
|
||||
$this->injectableFactory = $injectableFactory;
|
||||
$this->pdoProvider = $pdoProvider;
|
||||
$this->ormMetadata = $ormMetadata;
|
||||
$this->entityFactory = $entityFactory;
|
||||
$this->functionConverterFactory = $functionConverterFactory;
|
||||
}
|
||||
private Metadata $metadata,
|
||||
private InjectableFactory $injectableFactory,
|
||||
private PDOProvider $pdoProvider,
|
||||
private OrmMetadata $ormMetadata,
|
||||
private EntityFactory $entityFactory,
|
||||
private FunctionConverterFactory $functionConverterFactory
|
||||
) {}
|
||||
|
||||
public function create(string $platform): QueryComposer
|
||||
{
|
||||
|
||||
@@ -31,15 +31,12 @@ namespace Espo\Core\ORM\Repositories;
|
||||
|
||||
use Espo\Core\ORM\EntityManager;
|
||||
use Espo\Core\ORM\EntityFactory;
|
||||
|
||||
use Espo\Core\Interfaces\Injectable;
|
||||
|
||||
use Espo\Core\{
|
||||
Utils\Metadata,
|
||||
HookManager,
|
||||
ApplicationState,
|
||||
Utils\Id\RecordIdGenerator,
|
||||
Utils\SystemUser};
|
||||
use Espo\Core\ApplicationState;
|
||||
use Espo\Core\HookManager;
|
||||
use Espo\Core\Utils\Id\RecordIdGenerator;
|
||||
use Espo\Core\Utils\Metadata;
|
||||
use Espo\Core\Utils\SystemUser;
|
||||
|
||||
/**
|
||||
* @deprecated As of v6.0. Not to be extended. Extend Espo\Core\Repositories\Database, or better
|
||||
|
||||
@@ -37,12 +37,8 @@ use Espo\Core\ORM\Repository\Option\SaveOption;
|
||||
|
||||
class HookMediator extends EmptyHookMediator
|
||||
{
|
||||
protected HookManager $hookManager;
|
||||
|
||||
public function __construct(HookManager $hookManager)
|
||||
{
|
||||
$this->hookManager = $hookManager;
|
||||
}
|
||||
public function __construct(protected HookManager $hookManager)
|
||||
{}
|
||||
|
||||
/**
|
||||
* @param ?array<string,mixed> $columnData
|
||||
@@ -101,7 +97,7 @@ class HookMediator extends EmptyHookMediator
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array<string,mixed> $options
|
||||
* @param array<string, mixed> $options
|
||||
*/
|
||||
public function afterMassRelate(Entity $entity, string $relationName, Select $query, array $options): void
|
||||
{
|
||||
|
||||
@@ -31,40 +31,31 @@ namespace Espo\Core\ORM;
|
||||
|
||||
use Espo\Core\Binding\BindingContainerBuilder;
|
||||
use Espo\Core\Binding\ContextualBinder;
|
||||
|
||||
use Espo\Core\InjectableFactory;
|
||||
use Espo\Core\Repositories\Database as DatabaseRepository;
|
||||
use Espo\Core\Utils\ClassFinder;
|
||||
|
||||
use Espo\ORM\Entity as OrmEntity;
|
||||
use Espo\ORM\EntityFactory as EntityFactoryInterface;
|
||||
use Espo\ORM\Repository\Repository;
|
||||
use Espo\ORM\Repository\RepositoryFactory as RepositoryFactoryInterface;
|
||||
|
||||
class RepositoryFactory implements RepositoryFactoryInterface
|
||||
{
|
||||
/** @var class-string<Repository<\Espo\ORM\Entity>> */
|
||||
/** @var class-string<Repository<OrmEntity>> */
|
||||
protected $defaultClassName = DatabaseRepository::class;
|
||||
|
||||
protected EntityFactoryInterface $entityFactory;
|
||||
protected InjectableFactory $injectableFactory;
|
||||
protected ClassFinder $classFinder;
|
||||
|
||||
public function __construct(
|
||||
EntityFactoryInterface $entityFactory,
|
||||
InjectableFactory $injectableFactory,
|
||||
ClassFinder $classFinder
|
||||
) {
|
||||
$this->entityFactory = $entityFactory;
|
||||
$this->injectableFactory = $injectableFactory;
|
||||
$this->classFinder = $classFinder;
|
||||
}
|
||||
protected EntityFactoryInterface $entityFactory,
|
||||
protected InjectableFactory $injectableFactory,
|
||||
protected ClassFinder $classFinder
|
||||
) {}
|
||||
|
||||
/**
|
||||
* @return ?class-string<Repository<\Espo\ORM\Entity>>
|
||||
* @return ?class-string<Repository<OrmEntity>>
|
||||
*/
|
||||
protected function getClassName(string $entityType): ?string
|
||||
{
|
||||
/** @var ?class-string<Repository<\Espo\ORM\Entity>> */
|
||||
/** @var ?class-string<Repository<OrmEntity>> */
|
||||
return $this->classFinder->find('Repositories', $entityType);
|
||||
}
|
||||
|
||||
|
||||
@@ -29,33 +29,21 @@
|
||||
|
||||
namespace Espo\Core\ORM;
|
||||
|
||||
use Espo\Core\{
|
||||
Utils\Metadata,
|
||||
InjectableFactory,
|
||||
};
|
||||
|
||||
use Espo\ORM\{
|
||||
Value\ValueFactoryFactory as ValueFactoryFactoryInteface,
|
||||
Value\ValueFactory,
|
||||
Metadata as OrmMetadata,
|
||||
};
|
||||
use Espo\Core\InjectableFactory;
|
||||
use Espo\Core\Utils\Metadata;
|
||||
use Espo\ORM\Metadata as OrmMetadata;
|
||||
use Espo\ORM\Value\ValueFactory;
|
||||
use Espo\ORM\Value\ValueFactoryFactory as ValueFactoryFactoryInteface;
|
||||
|
||||
use RuntimeException;
|
||||
|
||||
class ValueFactoryFactory implements ValueFactoryFactoryInteface
|
||||
{
|
||||
private Metadata $metadata;
|
||||
|
||||
private OrmMetadata $ormMetadata;
|
||||
|
||||
private InjectableFactory $injectableFactory;
|
||||
|
||||
public function __construct(Metadata $metadata, OrmMetadata $ormMetadata, InjectableFactory $injectableFactory)
|
||||
{
|
||||
$this->metadata = $metadata;
|
||||
$this->ormMetadata = $ormMetadata;
|
||||
$this->injectableFactory = $injectableFactory;
|
||||
}
|
||||
public function __construct(
|
||||
private Metadata $metadata,
|
||||
private OrmMetadata $ormMetadata,
|
||||
private InjectableFactory $injectableFactory
|
||||
) {}
|
||||
|
||||
public function isCreatable(string $entityType, string $field): bool
|
||||
{
|
||||
|
||||
@@ -40,12 +40,8 @@ use Espo\Core\Utils\Metadata;
|
||||
*/
|
||||
class ConfigMetadataCheck implements RebuildAction
|
||||
{
|
||||
private Metadata $metadata;
|
||||
|
||||
public function __construct(Metadata $metadata)
|
||||
{
|
||||
$this->metadata = $metadata;
|
||||
}
|
||||
public function __construct(private Metadata $metadata)
|
||||
{}
|
||||
|
||||
/**
|
||||
* @throws Error
|
||||
|
||||
@@ -30,7 +30,6 @@
|
||||
namespace Espo\Core\Rebuild\Actions;
|
||||
|
||||
use Espo\Core\Rebuild\RebuildAction;
|
||||
|
||||
use Espo\Core\Utils\Metadata;
|
||||
use Espo\Entities\ScheduledJob;
|
||||
use Espo\ORM\EntityManager;
|
||||
@@ -40,14 +39,10 @@ use Espo\ORM\EntityManager;
|
||||
*/
|
||||
class ScheduledJobs implements RebuildAction
|
||||
{
|
||||
private Metadata $metadata;
|
||||
private EntityManager $entityManager;
|
||||
|
||||
public function __construct(Metadata $metadata, EntityManager $entityManager)
|
||||
{
|
||||
$this->metadata = $metadata;
|
||||
$this->entityManager = $entityManager;
|
||||
}
|
||||
public function __construct(
|
||||
private Metadata $metadata,
|
||||
private EntityManager $entityManager
|
||||
) {}
|
||||
|
||||
public function process(): void
|
||||
{
|
||||
|
||||
@@ -34,15 +34,10 @@ use Espo\Core\Utils\Metadata;
|
||||
|
||||
class RebuildActionProcessor
|
||||
{
|
||||
private InjectableFactory $injectableFactory;
|
||||
|
||||
private Metadata $metadata;
|
||||
|
||||
public function __construct(InjectableFactory $injectableFactory, Metadata $metadata)
|
||||
{
|
||||
$this->injectableFactory = $injectableFactory;
|
||||
$this->metadata = $metadata;
|
||||
}
|
||||
public function __construct(
|
||||
private InjectableFactory $injectableFactory,
|
||||
private Metadata $metadata
|
||||
) {}
|
||||
|
||||
public function process(): void
|
||||
{
|
||||
|
||||
@@ -47,8 +47,10 @@ class Collection
|
||||
/**
|
||||
* @param OrmCollection<TEntity> $collection
|
||||
*/
|
||||
public function __construct(private OrmCollection $collection, private ?int $total = null)
|
||||
{}
|
||||
public function __construct(
|
||||
private OrmCollection $collection,
|
||||
private ?int $total = null
|
||||
) {}
|
||||
|
||||
/**
|
||||
* Get a total number of records in DB (that matches applied search parameters).
|
||||
|
||||
@@ -44,12 +44,9 @@ class ServiceContainer
|
||||
{
|
||||
/** @var array<string, Service<Entity>> */
|
||||
private $data = [];
|
||||
private ServiceFactory $serviceFactory;
|
||||
|
||||
public function __construct(ServiceFactory $serviceFactory)
|
||||
{
|
||||
$this->serviceFactory = $serviceFactory;
|
||||
}
|
||||
public function __construct(private ServiceFactory $serviceFactory)
|
||||
{}
|
||||
|
||||
/**
|
||||
* Get a record service by an entity class name.
|
||||
|
||||
@@ -39,7 +39,7 @@ use Espo\ORM\Mapper\BaseMapper;
|
||||
class CategoryTree extends Database
|
||||
{
|
||||
/**
|
||||
* @param array<string,mixed> $options
|
||||
* @param array<string, mixed> $options
|
||||
* @return void
|
||||
*/
|
||||
protected function afterSave(Entity $entity, array $options = [])
|
||||
|
||||
@@ -34,11 +34,9 @@ use Espo\Core\Utils\SystemUser;
|
||||
use Espo\ORM\BaseEntity;
|
||||
use Espo\ORM\Entity;
|
||||
use Espo\ORM\Repository\RDBRepository;
|
||||
|
||||
use Espo\Core\ORM\EntityFactory;
|
||||
use Espo\Core\ORM\EntityManager;
|
||||
use Espo\Core\ORM\Repository\HookMediator;
|
||||
|
||||
use Espo\Core\ApplicationState;
|
||||
use Espo\Core\HookManager;
|
||||
use Espo\Core\Utils\DateTime as DateTimeUtil;
|
||||
|
||||
@@ -33,7 +33,6 @@ use Espo\Core\ORM\Entity as CoreEntity;
|
||||
use Espo\Modules\Crm\Entities\Meeting;
|
||||
use Espo\Modules\Crm\Entities\Reminder;
|
||||
use Espo\ORM\Entity;
|
||||
|
||||
use Espo\Core\Di;
|
||||
use Espo\Core\Utils\DateTime as DateTimeUtil;
|
||||
|
||||
|
||||
@@ -33,6 +33,7 @@ use Espo\Core\Binding\Factory;
|
||||
use Espo\Core\Utils\Config;
|
||||
use Espo\Core\Utils\Metadata;
|
||||
use Espo\Core\InjectableFactory;
|
||||
|
||||
use RuntimeException;
|
||||
|
||||
/**
|
||||
@@ -40,19 +41,11 @@ use RuntimeException;
|
||||
*/
|
||||
class SenderFactory implements Factory
|
||||
{
|
||||
private Config $config;
|
||||
private Metadata $metadata;
|
||||
private InjectableFactory $injectableFactory;
|
||||
|
||||
public function __construct(
|
||||
Config $config,
|
||||
Metadata $metadata,
|
||||
InjectableFactory $injectableFactory
|
||||
) {
|
||||
$this->config = $config;
|
||||
$this->metadata = $metadata;
|
||||
$this->injectableFactory = $injectableFactory;
|
||||
}
|
||||
private Config $config,
|
||||
private Metadata $metadata,
|
||||
private InjectableFactory $injectableFactory
|
||||
) {}
|
||||
|
||||
public function create(): Sender
|
||||
{
|
||||
|
||||
@@ -37,12 +37,8 @@ use Espo\Entities\Sms as SmsEntity;
|
||||
*/
|
||||
class SmsFactory
|
||||
{
|
||||
private EntityManager $entityManager;
|
||||
|
||||
public function __construct(EntityManager $entityManager)
|
||||
{
|
||||
$this->entityManager = $entityManager;
|
||||
}
|
||||
public function __construct(private EntityManager $entityManager)
|
||||
{}
|
||||
|
||||
/**
|
||||
* Create an SMS instance.
|
||||
|
||||
@@ -35,15 +35,10 @@ use Espo\Core\Utils\Config;
|
||||
|
||||
class SmsSender
|
||||
{
|
||||
private $sender;
|
||||
|
||||
private $config;
|
||||
|
||||
public function __construct(Sender $sender, Config $config)
|
||||
{
|
||||
$this->sender = $sender;
|
||||
$this->config = $config;
|
||||
}
|
||||
public function __construct(
|
||||
private Sender $sender,
|
||||
private Config $config
|
||||
) {}
|
||||
|
||||
public function send(SmsEntity $sms): void
|
||||
{
|
||||
|
||||
@@ -29,9 +29,6 @@
|
||||
|
||||
namespace Espo\Core\Templates\Controllers;
|
||||
|
||||
|
||||
class Base extends \Espo\Core\Controllers\Record
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -29,9 +29,6 @@
|
||||
|
||||
namespace Espo\Core\Templates\Controllers;
|
||||
|
||||
|
||||
class BasePlus extends \Espo\Core\Controllers\Record
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -29,9 +29,6 @@
|
||||
|
||||
namespace Espo\Core\Templates\Controllers;
|
||||
|
||||
|
||||
class CategoryTree extends \Espo\Core\Controllers\RecordTree
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -31,5 +31,4 @@ namespace Espo\Core\Templates\Controllers;
|
||||
|
||||
class Company extends \Espo\Core\Controllers\Record
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -31,6 +31,4 @@ namespace Espo\Core\Templates\Controllers;
|
||||
|
||||
class Event extends \Espo\Core\Controllers\Record
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -29,9 +29,6 @@
|
||||
|
||||
namespace Espo\Core\Templates\Controllers;
|
||||
|
||||
|
||||
class Person extends \Espo\Core\Controllers\Record
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -31,6 +31,4 @@ namespace Espo\Core\Templates\Entities;
|
||||
|
||||
class Base extends \Espo\Core\ORM\Entity
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -31,6 +31,4 @@ namespace Espo\Core\Templates\Entities;
|
||||
|
||||
class BasePlus extends \Espo\Core\ORM\Entity
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -31,6 +31,4 @@ namespace Espo\Core\Templates\Entities;
|
||||
|
||||
class CategoryTree extends \Espo\Core\Entities\CategoryTreeItem
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -29,9 +29,6 @@
|
||||
|
||||
namespace Espo\Core\Templates\Repositories;
|
||||
|
||||
|
||||
class Base extends \Espo\Core\ORM\Repositories\RDB
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -29,9 +29,6 @@
|
||||
|
||||
namespace Espo\Core\Templates\Repositories;
|
||||
|
||||
|
||||
class BasePlus extends \Espo\Core\ORM\Repositories\RDB
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -35,5 +35,4 @@ namespace Espo\Core\Templates\Repositories;
|
||||
*/
|
||||
class CategoryTree extends \Espo\Core\Repositories\CategoryTree
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -31,5 +31,4 @@ namespace Espo\Core\Templates\Repositories;
|
||||
|
||||
class Company extends \Espo\Core\ORM\Repositories\RDB
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -29,9 +29,6 @@
|
||||
|
||||
namespace Espo\Core\Templates\Repositories;
|
||||
|
||||
|
||||
class Person extends \Espo\Core\ORM\Repositories\RDB
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -34,5 +34,4 @@ namespace Espo\Core\Templates\Services;
|
||||
*/
|
||||
class CategoryTree extends \Espo\Services\RecordTree
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -29,10 +29,12 @@
|
||||
|
||||
namespace Espo\Core\Templates\Services;
|
||||
|
||||
use Espo\Services\Record;
|
||||
|
||||
/**
|
||||
* @extends \Espo\Services\Record<\Espo\Core\Templates\Entities\Event>
|
||||
* @extends Record<\Espo\Core\Templates\Entities\Event>
|
||||
*/
|
||||
class Event extends \Espo\Services\Record
|
||||
class Event extends Record
|
||||
{
|
||||
protected $validateRequiredSkipFieldList = [
|
||||
'dateEnd'
|
||||
|
||||
@@ -29,10 +29,10 @@
|
||||
|
||||
namespace Espo\Core\Templates\Services;
|
||||
|
||||
/**
|
||||
* @extends \Espo\Services\Record<\Espo\Core\Templates\Entities\Person>
|
||||
*/
|
||||
class Person extends \Espo\Services\Record
|
||||
{
|
||||
use Espo\Services\Record;
|
||||
|
||||
}
|
||||
/**
|
||||
* @extends Record<\Espo\Core\Templates\Entities\Person>
|
||||
*/
|
||||
class Person extends Record
|
||||
{}
|
||||
|
||||
Reference in New Issue
Block a user