Browse Source

move validator to model, init separated config file in JSON format #14

main
ghost 1 year ago
parent
commit
9b0bfcb76c
  1. 3
      .gitignore
  2. 189
      src/app/model/validator.php
  3. 14
      src/config/bootstrap.php
  4. 37
      src/config/validator.json

3
.gitignore vendored

@ -8,7 +8,8 @@ @@ -8,7 +8,8 @@
/src/public/api/*.json
/src/config/*
!/src/config/bootstrap.json
!/src/config/bootstrap.php
!/src/config/validator.json
!/src/config/nodes.json
!/src/config/trackers.json
!/src/config/peers.json

189
src/library/valid.php → src/app/model/validator.php

@ -1,9 +1,78 @@ @@ -1,9 +1,78 @@
<?php
class Valid
class AppModelValidator
{
private $_config;
public function __construct(object $config)
{
// @TODO validate config
$this->_config = $config;
}
// Page
/// Page title
public function getPageTitleLengthMin() : int
{
return $this->_config->page->title->length->min;
}
public function getPageTitleLengthMax() : int
{
return $this->_config->page->title->length->max;
}
public function getPageTitleRegex() : string
{
return $this->_config->page->title->regex;
}
/// Page description
public function getPageDescriptionLengthMin() : int
{
return $this->_config->page->description->length->min;
}
public function getPageDescriptionLengthMax() : int
{
return $this->_config->page->description->length->max;
}
public function getPageDescriptionRegex() : string
{
return $this->_config->page->description->regex;
}
/// Page keywords
public function getPageKeywordsLengthMin() : int
{
return $this->_config->page->keywords->length->min;
}
public function getPageKeywordsLengthMax() : int
{
return $this->_config->page->keywords->length->max;
}
public function getPageKeywordsQuantityMin() : int
{
return $this->_config->page->keywords->quantity->min;
}
public function getPageKeywordsQuantityMax() : int
{
return $this->_config->page->keywords->quantity->max;
}
public function getPageKeywordsRegex() : string
{
return $this->_config->page->keywords->regex;
}
// Common
public static function host(mixed $value, array &$error = []) : bool
public function host(mixed $value, array &$error = []) : bool
{
if (!is_string($value))
{
@ -45,7 +114,7 @@ class Valid @@ -45,7 +114,7 @@ class Valid
return true;
}
public static function url(mixed $value, array &$error = []) : bool
public function url(mixed $value, array &$error = []) : bool
{
if (!is_string($value))
{
@ -101,7 +170,7 @@ class Valid @@ -101,7 +170,7 @@ class Valid
}
// User
public static function user(mixed $value, array &$error = []) : bool
public function user(mixed $value, array &$error = []) : bool
{
if (!is_object($value))
{
@ -133,7 +202,7 @@ class Valid @@ -133,7 +202,7 @@ class Valid
return true;
}
public static function userId(mixed $value, array &$error = []) : bool
public function userId(mixed $value, array &$error = []) : bool
{
if (!is_int($value))
{
@ -148,7 +217,7 @@ class Valid @@ -148,7 +217,7 @@ class Valid
return true;
}
public static function userAddress(mixed $value, array &$error = []) : bool
public function userAddress(mixed $value, array &$error = []) : bool
{
if (!is_string($value))
{
@ -176,7 +245,7 @@ class Valid @@ -176,7 +245,7 @@ class Valid
return true;
}
public static function userTimeAdded(mixed $value, array &$error = []) : bool
public function userTimeAdded(mixed $value, array &$error = []) : bool
{
if (!is_int($value))
{
@ -201,7 +270,7 @@ class Valid @@ -201,7 +270,7 @@ class Valid
return true;
}
public static function userTimeUpdated(mixed $value, array &$error = []) : bool
public function userTimeUpdated(mixed $value, array &$error = []) : bool
{
if (!(is_int($value) || is_bool($value)))
{
@ -226,7 +295,7 @@ class Valid @@ -226,7 +295,7 @@ class Valid
return true;
}
public static function userApproved(mixed $value, array &$error = []) : bool
public function userApproved(mixed $value, array &$error = []) : bool
{
if (!is_bool($value))
{
@ -241,7 +310,7 @@ class Valid @@ -241,7 +310,7 @@ class Valid
return true;
}
public static function userPublic(mixed $value, array &$error = []) : bool
public function userPublic(mixed $value, array &$error = []) : bool
{
if (!is_bool($value))
{
@ -257,7 +326,7 @@ class Valid @@ -257,7 +326,7 @@ class Valid
}
// Magnet
public static function magnet(mixed $value, array &$error = []) : bool
public function magnet(mixed $value, array &$error = []) : bool
{
if (!is_object($value))
{
@ -309,7 +378,7 @@ class Valid @@ -309,7 +378,7 @@ class Valid
return true;
}
public static function magnetId(mixed $value, array &$error = []) : bool
public function magnetId(mixed $value, array &$error = []) : bool
{
if (!is_int($value))
{
@ -324,7 +393,7 @@ class Valid @@ -324,7 +393,7 @@ class Valid
return true;
}
public static function magnetTitle(mixed $value, array &$error = []) : bool
public function magnetTitle(mixed $value, array &$error = []) : bool
{
if (!is_string($value))
{
@ -367,7 +436,7 @@ class Valid @@ -367,7 +436,7 @@ class Valid
return true;
}
public static function magnetPreview(mixed $value, array &$error = []) : bool
public function magnetPreview(mixed $value, array &$error = []) : bool
{
if (!is_string($value))
{
@ -410,7 +479,7 @@ class Valid @@ -410,7 +479,7 @@ class Valid
return true;
}
public static function magnetDescription(mixed $value, array &$error = []) : bool
public function magnetDescription(mixed $value, array &$error = []) : bool
{
if (!is_string($value))
{
@ -453,7 +522,7 @@ class Valid @@ -453,7 +522,7 @@ class Valid
return true;
}
public static function magnetComments(mixed $value, array &$error = []) : bool
public function magnetComments(mixed $value, array &$error = []) : bool
{
if (!is_bool($value))
{
@ -468,7 +537,7 @@ class Valid @@ -468,7 +537,7 @@ class Valid
return true;
}
public static function magnetPublic(mixed $value, array &$error = []) : bool
public function magnetPublic(mixed $value, array &$error = []) : bool
{
if (!is_bool($value))
{
@ -483,7 +552,7 @@ class Valid @@ -483,7 +552,7 @@ class Valid
return true;
}
public static function magnetApproved(mixed $value, array &$error = []) : bool
public function magnetApproved(mixed $value, array &$error = []) : bool
{
if (!is_bool($value))
{
@ -498,7 +567,7 @@ class Valid @@ -498,7 +567,7 @@ class Valid
return true;
}
public static function magnetSensitive(mixed $value, array &$error = []) : bool
public function magnetSensitive(mixed $value, array &$error = []) : bool
{
if (!is_bool($value))
{
@ -513,7 +582,7 @@ class Valid @@ -513,7 +582,7 @@ class Valid
return true;
}
public static function magnetTimeAdded(mixed $value, array &$error = []) : bool
public function magnetTimeAdded(mixed $value, array &$error = []) : bool
{
if (!is_int($value))
{
@ -538,7 +607,7 @@ class Valid @@ -538,7 +607,7 @@ class Valid
return true;
}
public static function magnetTimeUpdated(mixed $value, array &$error = []) : bool
public function magnetTimeUpdated(mixed $value, array &$error = []) : bool
{
if (!(is_int($value) || is_bool($value)))
{
@ -563,7 +632,7 @@ class Valid @@ -563,7 +632,7 @@ class Valid
return true;
}
public static function magnetDn(mixed $value, array &$error = []) : bool
public function magnetDn(mixed $value, array &$error = []) : bool
{
if (!is_string($value))
{
@ -606,7 +675,7 @@ class Valid @@ -606,7 +675,7 @@ class Valid
return true;
}
public static function magnetXl(mixed $value, array &$error = []) : bool
public function magnetXl(mixed $value, array &$error = []) : bool
{
if (!(is_int($value) || is_float($value)))
{
@ -621,7 +690,7 @@ class Valid @@ -621,7 +690,7 @@ class Valid
return true;
}
public static function magnetKt(mixed $value, array &$error = []) : bool
public function magnetKt(mixed $value, array &$error = []) : bool
{
if (!is_object($value))
{
@ -696,7 +765,7 @@ class Valid @@ -696,7 +765,7 @@ class Valid
return true;
}
public static function magnetXt(mixed $value, array &$error = []) : bool
public function magnetXt(mixed $value, array &$error = []) : bool
{
if (!is_object($value))
{
@ -794,7 +863,7 @@ class Valid @@ -794,7 +863,7 @@ class Valid
return true;
}
public static function magnetTr(mixed $value, array &$error = []) : bool
public function magnetTr(mixed $value, array &$error = []) : bool
{
if (!is_object($value))
{
@ -844,7 +913,7 @@ class Valid @@ -844,7 +913,7 @@ class Valid
return true;
}
public static function magnetAs(mixed $value, array &$error = []) : bool
public function magnetAs(mixed $value, array &$error = []) : bool
{
if (!is_object($value))
{
@ -894,7 +963,7 @@ class Valid @@ -894,7 +963,7 @@ class Valid
return true;
}
public static function magnetWs(mixed $value, array &$error = []) : bool
public function magnetWs(mixed $value, array &$error = []) : bool
{
if (!is_object($value))
{
@ -945,7 +1014,7 @@ class Valid @@ -945,7 +1014,7 @@ class Valid
}
// Magnet comment
public static function magnetComment(mixed $value, array &$error = []) : bool
public function magnetComment(mixed $value, array &$error = []) : bool
{
if (!is_object($value))
{
@ -979,7 +1048,7 @@ class Valid @@ -979,7 +1048,7 @@ class Valid
return true;
}
public static function magnetCommentId(mixed $value, array &$error = []) : bool
public function magnetCommentId(mixed $value, array &$error = []) : bool
{
if (!is_int($value))
{
@ -994,7 +1063,7 @@ class Valid @@ -994,7 +1063,7 @@ class Valid
return true;
}
public static function magnetCommentIdParent(mixed $value, array &$error = []) : bool
public function magnetCommentIdParent(mixed $value, array &$error = []) : bool
{
if (!(is_null($value) || is_int($value)))
{
@ -1014,7 +1083,7 @@ class Valid @@ -1014,7 +1083,7 @@ class Valid
return true;
}
public static function magnetCommentTimeAdded(mixed $value, array &$error = []) : bool
public function magnetCommentTimeAdded(mixed $value, array &$error = []) : bool
{
if (!is_int($value))
{
@ -1039,7 +1108,7 @@ class Valid @@ -1039,7 +1108,7 @@ class Valid
return true;
}
public static function magnetCommentApproved(mixed $value, array &$error = []) : bool
public function magnetCommentApproved(mixed $value, array &$error = []) : bool
{
if (!is_bool($value))
{
@ -1054,7 +1123,7 @@ class Valid @@ -1054,7 +1123,7 @@ class Valid
return true;
}
public static function magnetCommentPublic(mixed $value, array &$error = []) : bool
public function magnetCommentPublic(mixed $value, array &$error = []) : bool
{
if (!is_bool($value))
{
@ -1069,7 +1138,7 @@ class Valid @@ -1069,7 +1138,7 @@ class Valid
return true;
}
public static function magnetCommentValue(mixed $value, array &$error = []) : bool
public function magnetCommentValue(mixed $value, array &$error = []) : bool
{
if (!is_string($value))
{
@ -1100,7 +1169,7 @@ class Valid @@ -1100,7 +1169,7 @@ class Valid
}
// Magnet download
public static function magnetDownload(mixed $value, array &$error = []) : bool
public function magnetDownload(mixed $value, array &$error = []) : bool
{
if (!is_object($value))
{
@ -1129,7 +1198,7 @@ class Valid @@ -1129,7 +1198,7 @@ class Valid
return true;
}
public static function magnetDownloadId(mixed $value, array &$error = []) : bool
public function magnetDownloadId(mixed $value, array &$error = []) : bool
{
if (!is_int($value))
{
@ -1144,7 +1213,7 @@ class Valid @@ -1144,7 +1213,7 @@ class Valid
return true;
}
public static function magnetDownloadTimeAdded(mixed $value, array &$error = []) : bool
public function magnetDownloadTimeAdded(mixed $value, array &$error = []) : bool
{
if (!is_int($value))
{
@ -1170,7 +1239,7 @@ class Valid @@ -1170,7 +1239,7 @@ class Valid
}
// Magnet star
public static function magnetStar(mixed $value, array &$error = []) : bool
public function magnetStar(mixed $value, array &$error = []) : bool
{
if (!is_object($value))
{
@ -1200,7 +1269,7 @@ class Valid @@ -1200,7 +1269,7 @@ class Valid
return true;
}
public static function magnetStarId(mixed $value, array &$error = []) : bool
public function magnetStarId(mixed $value, array &$error = []) : bool
{
if (!is_int($value))
{
@ -1215,7 +1284,7 @@ class Valid @@ -1215,7 +1284,7 @@ class Valid
return true;
}
public static function magnetStarValue(mixed $value, array &$error = []) : bool
public function magnetStarValue(mixed $value, array &$error = []) : bool
{
if (!is_bool($value))
{
@ -1230,7 +1299,7 @@ class Valid @@ -1230,7 +1299,7 @@ class Valid
return true;
}
public static function magnetStarTimeAdded(mixed $value, array &$error = []) : bool
public function magnetStarTimeAdded(mixed $value, array &$error = []) : bool
{
if (!is_int($value))
{
@ -1256,7 +1325,7 @@ class Valid @@ -1256,7 +1325,7 @@ class Valid
}
// Magnet view
public static function magnetView(mixed $value, array &$error = []) : bool
public function magnetView(mixed $value, array &$error = []) : bool
{
if (!is_object($value))
{
@ -1285,7 +1354,7 @@ class Valid @@ -1285,7 +1354,7 @@ class Valid
return true;
}
public static function magnetViewId(mixed $value, array &$error = []) : bool
public function magnetViewId(mixed $value, array &$error = []) : bool
{
if (!is_int($value))
{
@ -1300,7 +1369,7 @@ class Valid @@ -1300,7 +1369,7 @@ class Valid
return true;
}
public static function magnetViewTimeAdded(mixed $value, array &$error = []) : bool
public function magnetViewTimeAdded(mixed $value, array &$error = []) : bool
{
if (!is_int($value))
{
@ -1326,7 +1395,7 @@ class Valid @@ -1326,7 +1395,7 @@ class Valid
}
// Torrent
public static function torrentAnnounce(mixed $value, array &$error = []) : bool
public function torrentAnnounce(mixed $value, array &$error = []) : bool
{
if (!is_string($value))
{
@ -1354,7 +1423,7 @@ class Valid @@ -1354,7 +1423,7 @@ class Valid
return true;
}
public static function torrentAnnounceList(mixed $value, array &$error = []) : bool
public function torrentAnnounceList(mixed $value, array &$error = []) : bool
{
if (!is_array($value))
{
@ -1417,7 +1486,7 @@ class Valid @@ -1417,7 +1486,7 @@ class Valid
return true;
}
public static function torrentComment(mixed $value, array &$error = []) : bool
public function torrentComment(mixed $value, array &$error = []) : bool
{
if (!is_string($value))
{
@ -1460,7 +1529,7 @@ class Valid @@ -1460,7 +1529,7 @@ class Valid
return true;
}
public static function torrentCreatedBy(mixed $value, array &$error = []) : bool
public function torrentCreatedBy(mixed $value, array &$error = []) : bool
{
if (!is_string($value))
{
@ -1503,7 +1572,7 @@ class Valid @@ -1503,7 +1572,7 @@ class Valid
return true;
}
public static function torrentCreationDate(mixed $value, array &$error = []) : bool
public function torrentCreationDate(mixed $value, array &$error = []) : bool
{
if (!is_int($value))
{
@ -1528,7 +1597,7 @@ class Valid @@ -1528,7 +1597,7 @@ class Valid
return true;
}
public static function torrentInfo(mixed $value, array &$error = []) : bool
public function torrentInfo(mixed $value, array &$error = []) : bool
{
if (!is_array($value))
{
@ -1705,7 +1774,7 @@ class Valid @@ -1705,7 +1774,7 @@ class Valid
return true;
}
public static function torrentInfoName(mixed $value, array &$error = []) : bool
public function torrentInfoName(mixed $value, array &$error = []) : bool
{
if (!is_string($value))
{
@ -1748,7 +1817,7 @@ class Valid @@ -1748,7 +1817,7 @@ class Valid
return true;
}
public static function torrentInfoSource(mixed $value, array &$error = []) : bool
public function torrentInfoSource(mixed $value, array &$error = []) : bool
{
if (!is_string($value))
{
@ -1793,7 +1862,7 @@ class Valid @@ -1793,7 +1862,7 @@ class Valid
return true;
}
public static function torrentInfoFileDuration(mixed $value, array &$error = []) : bool
public function torrentInfoFileDuration(mixed $value, array &$error = []) : bool
{
if (!is_int($value))
{
@ -1818,7 +1887,7 @@ class Valid @@ -1818,7 +1887,7 @@ class Valid
return true;
}
public static function torrentInfoPieceLength(mixed $value, array &$error = []) : bool
public function torrentInfoPieceLength(mixed $value, array &$error = []) : bool
{
if (!is_int($value))
{
@ -1843,14 +1912,14 @@ class Valid @@ -1843,14 +1912,14 @@ class Valid
return true;
}
public static function torrentInfoPieces(mixed $value, array &$error = []) : bool
public function torrentInfoPieces(mixed $value, array &$error = []) : bool
{
// @TODO
return true;
}
public static function torrentInfoPrivate(mixed $value, array &$error = []) : bool
public function torrentInfoPrivate(mixed $value, array &$error = []) : bool
{
if (!is_int($value))
{
@ -1875,21 +1944,21 @@ class Valid @@ -1875,21 +1944,21 @@ class Valid
return true;
}
public static function torrentInfoProfiles(mixed $value, array &$error = []) : bool
public function torrentInfoProfiles(mixed $value, array &$error = []) : bool
{
// @TODO
return true;
}
public static function torrentInfoFileMedia(mixed $value, array &$error = []) : bool
public function torrentInfoFileMedia(mixed $value, array &$error = []) : bool
{
// @TODO
return true;
}
public static function torrentInfoFiles(mixed $value, array &$error = []) : bool
public function torrentInfoFiles(mixed $value, array &$error = []) : bool
{
// @TODO

14
src/config/bootstrap.php

@ -98,9 +98,21 @@ if (isset($request['_route_'])) @@ -98,9 +98,21 @@ if (isset($request['_route_']))
case 'submit':
require_once(__DIR__ . '/../app/model/validator.php');
$validator = new AppModelValidator(
json_decode(
file_get_contents(
__DIR__ . '/../config/validator.json'
)
)
);
require_once(__DIR__ . '/../app/controller/submit.php');
$controller = new AppControllerSubmit();
$controller = new AppControllerSubmit(
$validator
);
break;

37
src/config/validator.json

@ -0,0 +1,37 @@ @@ -0,0 +1,37 @@
{
"page":
{
"title":
{
"length":
{
"min": 10,
"max": 255
},
"regex": "/.*/ui"
},
"description":
{
"length":
{
"min": 0,
"max": 10000
},
"regex": "/.*/ui"
},
"keywords":
{
"quantity":
{
"min": 0,
"max": 20
},
"length":
{
"min": 0,
"max": 140
},
"regex": "/[\\w]+/ui"
}
}
}
Loading…
Cancel
Save