cleanup and tests added for ci/cd

This commit is contained in:
Dennis Eichhorn 2019-11-20 22:28:04 +01:00
parent ddd0148e21
commit f3666290cf
3 changed files with 158 additions and 0 deletions

View File

@ -35,6 +35,19 @@ use phpOMS\Utils\Parser\Markdown\Markdown;
final class ApiController extends Controller
{
/**
* Api method to create a wiki entry
*
* @param RequestAbstract $request Request
* @param ResponseAbstract $response Response
* @param mixed $data Generic data
*
* @return void
*
* @api
*
* @since 1.0.0
*/
public function apiWikiDocCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
{
if (!empty($val = $this->validateWikiDocCreate($request))) {
@ -48,6 +61,15 @@ final class ApiController extends Controller
$response->set('doc', $doc->jsonSerialize());
}
/**
* Method to create a wiki entry from request.
*
* @param RequestAbstract $request Request
*
* @return WikiDoc
*
* @since 1.0.0
*/
public function createWikiDocFromRquest(RequestAbstract $request) : WikiDoc
{
$mardkownParser = new Markdown();
@ -61,6 +83,15 @@ final class ApiController extends Controller
return $doc;
}
/**
* Method to validate wiki entry creation from request
*
* @param RequestAbstract $request Request
*
* @return array<string, bool>
*
* @since 1.0.0
*/
private function validateWikiDocCreate(RequestAbstract $request) : array
{
$val = [];
@ -78,6 +109,19 @@ final class ApiController extends Controller
return [];
}
/**
* Api method to create a wiki category
*
* @param RequestAbstract $request Request
* @param ResponseAbstract $response Response
* @param mixed $data Generic data
*
* @return void
*
* @api
*
* @since 1.0.0
*/
public function apiWikiCategoryCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
{
if (!empty($val = $this->validateWikiCategoryCreate($request))) {
@ -91,6 +135,15 @@ final class ApiController extends Controller
$response->set('category', $category->jsonSerialize());
}
/**
* Method to create a wiki category from request.
*
* @param RequestAbstract $request Request
*
* @return WikiCategory
*
* @since 1.0.0
*/
public function createWikiCategoryFromRquest(RequestAbstract $request) : WikiCategory
{
$mardkownParser = new Markdown();
@ -102,6 +155,15 @@ final class ApiController extends Controller
return $category;
}
/**
* Method to validate wiki category creation from request
*
* @param RequestAbstract $request Request
*
* @return array<string, bool>
*
* @since 1.0.0
*/
private function validateWikiCategoryCreate(RequestAbstract $request) : array
{
$val = [];

View File

@ -80,11 +80,27 @@ class WikiCategory implements \JsonSerializable
$this->name = $name;
}
/**
* Get parent category
*
* @return null|int
*
* @since 1.0.0
*/
public function getParent() : ?int
{
return $this->parent;
}
/**
* Set parent category
*
* @param int $parent Parent category
*
* @return void
*
* @since 1.0.0
*/
public function setParent(int $parent) : void
{
$this->parent = $parent;

View File

@ -76,11 +76,27 @@ class WikiDoc implements \JsonSerializable
return $this->id;
}
/**
* Get language
*
* @return string
*
* @since 1.0.0
*/
public function getLanguage() : string
{
return $this->language;
}
/**
* Set language
*
* @param string $language Language
*
* @return void
*
* @since 1.0.0
*/
public function setLanguage(string $language) : void
{
$this->language = $language;
@ -112,31 +128,79 @@ class WikiDoc implements \JsonSerializable
$this->name = $name;
}
/**
* Get content
*
* @return string
*
* @since 1.0.0
*/
public function getDoc() : string
{
return $this->doc;
}
/**
* Set content
*
* @param string $doc Document content
*
* @return void
*
* @since 1.0.0
*/
public function setDoc(string $doc) : void
{
$this->doc = $doc;
}
/**
* Get status
*
* @return int
*
* @since 1.0.0
*/
public function getStatus() : int
{
return $this->status;
}
/**
* Set status
*
* @param int $status Status
*
* @return void
*
* @since 1.0.0
*/
public function setStatus(int $status) : void
{
$this->status = $status;
}
/**
* Get category
*
* @return mixed
*
* @since 1.0.0
*/
public function getCategory()
{
return $this->category;
}
/**
* Set cateogry
*
* @param int $category Category
*
* @return void
*
* @since 1.0.0
*/
public function setCategory(int $category) : void
{
$this->category = $category;
@ -180,11 +244,27 @@ class WikiDoc implements \JsonSerializable
return $this->createdAt;
}
/**
* Get badges
*
* @return array
*
* @since 1.0.0
*/
public function getBadges() : array
{
return $this->badges;
}
/**
* Add badge
*
* @param mixed $badge Badge
*
* @return void
*
* @since 1.0.0
*/
public function addBadge($badge) : void
{
$this->badges[] = $badge;