regex types in API

This commit is contained in:
2024-04-22 13:05:35 +02:00
parent a80b34e78f
commit 8036edec5a
4 changed files with 14 additions and 35 deletions

View File

@@ -11,6 +11,7 @@ namespace Core\API {
namespace Core\API\Database {
use Core\API\DatabaseAPI;
use Core\API\Parameter\RegexType;
use Core\API\Parameter\StringType;
use Core\Driver\SQL\Query\Insert;
use Core\Objects\Context;
@@ -40,16 +41,12 @@ namespace Core\API\Database {
class Migrate extends DatabaseAPI {
public function __construct(Context $context, bool $externalCall = false) {
parent::__construct($context, $externalCall, [
"className" => new StringType("className", 256)
"className" => new RegexType("className", "[a-zA-Z][a-zA-Z0-9]{0,256}")
]);
}
protected function _execute(): bool {
$className = $this->getParam("className");
if (!preg_match("/[a-zA-Z0-9]+/", $className)) {
return $this->createError("Invalid class name");
}
$class = null;
foreach (["Site", "Core"] as $baseDir) {
$classPath = "\\$baseDir\\Objects\\DatabaseEntity\\$className";