mirror of
https://github.com/Karaka-Management/oms-News.git
synced 2026-02-16 16:38:41 +00:00
Routing
This commit is contained in:
parent
fd09b26911
commit
b1bb03f216
|
|
@ -27,4 +27,11 @@ return [
|
||||||
'verb' => RouteVerb::GET,
|
'verb' => RouteVerb::GET,
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
|
|
||||||
|
'^.*/api/news.*$' => [
|
||||||
|
[
|
||||||
|
'dest' => '\Modules\News\Controller:apiNewsCreate',
|
||||||
|
'verb' => RouteVerb::SET,
|
||||||
|
],
|
||||||
|
],
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -162,30 +162,30 @@ class Controller extends ModuleAbstract implements WebInterface
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creating news.
|
* @param RequestAbstract $request Request
|
||||||
*
|
* @param ResponseAbstract $response Response
|
||||||
* @param array $articleElements Article elements
|
* @param mixed $data Generic data
|
||||||
*
|
|
||||||
* @return NewsArticle
|
|
||||||
*
|
*
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||||
*/
|
*/
|
||||||
public function createNews(...$articleElements)
|
public function apiNewsCreate(RequestAbstract $request, ResponseAbstract $response, $data = null)
|
||||||
{
|
{
|
||||||
$newsArticle = new NewsArticle();
|
$newsArticle = new NewsArticle();
|
||||||
$newsArticle->setCreatedBy($articleElements[0]);
|
$newsArticle->setCreatedBy($requst->getAccount()->getId());
|
||||||
$newsArticle->setCreatedAt($articleElements[1]);
|
$newsArticle->setCreatedAt(new \DateTime('now'));
|
||||||
$newsArticle->setPublish($articleElements[2]);
|
$newsArticle->setPublish((bool) ($request->getData('publish') ?? false));
|
||||||
$newsArticle->setTitle($articleElements[3]);
|
$newsArticle->setTitle($request->getData('title') ?? '');
|
||||||
$newsArticle->setPlain($articleElements[4]);
|
$newsArticle->setPlain($request->getData('plain') ?? '');
|
||||||
$newsArticle->setContent($articleElements[5]);
|
$newsArticle->setContent($request->getData('content') ?? '');
|
||||||
$newsArticle->setLanguage($articleElements[6]);
|
$newsArticle->setLanguage($request->getData('lang') ?? $request->getL11n()->getLanguage());
|
||||||
$newsArticle->setType($articleElements[7]);
|
$newsArticle->setType((int) ($requst->getData('type') ?? 1));
|
||||||
$newsArticle->setStatus($articleElements[8]);
|
$newsArticle->setStatus((int) ($request->getData('status') ?? 1));
|
||||||
$newsArticle->setFeatured($articleElements[9]);
|
$newsArticle->setFeatured((bool) ($request->getData('featured') ?? true));
|
||||||
|
|
||||||
return NewsArticleMapper::create($newsArticle);
|
NewsArticleMapper::create($newsArticle);
|
||||||
|
|
||||||
|
$response->set('news', $newsArticle->jsonSerialize());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ use phpOMS\Localization\ISO639x1Enum;
|
||||||
* @link http://orange-management.com
|
* @link http://orange-management.com
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
class NewsArticle
|
class NewsArticle implements ArrayableInterface, \JsonSerializable
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -362,4 +362,30 @@ class NewsArticle
|
||||||
{
|
{
|
||||||
$this->featured = $featured;
|
$this->featured = $featured;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function toArray() : array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'id' => $this->id,
|
||||||
|
'title' => $this->title,
|
||||||
|
'plain' => $this->plain,
|
||||||
|
'content' => $this->content,
|
||||||
|
'type' => $this->type,
|
||||||
|
'status' => $this->status,
|
||||||
|
'featured' => $this->featured,
|
||||||
|
'publish' => $this->publish,
|
||||||
|
'createdAt' => $this->createdAt,
|
||||||
|
'createdBy' => $this->createdBy,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function __toString()
|
||||||
|
{
|
||||||
|
return $this->jsonSerialize();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function jsonSerialize()
|
||||||
|
{
|
||||||
|
return json_encode($this->toArray());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user