bug fixes / dbmapper fixes

This commit is contained in:
Dennis Eichhorn 2021-12-19 20:20:39 +01:00
parent 791ffd110b
commit 46b8229720
5 changed files with 22 additions and 22 deletions

View File

@ -108,7 +108,7 @@ final class ApiController extends Controller
{ {
/** @var NewsArticle $newsArticle */ /** @var NewsArticle $newsArticle */
$newsArticle = NewsArticleMapper::get()->where('id', (int) $request->getData('id'))->execute(); $newsArticle = NewsArticleMapper::get()->where('id', (int) $request->getData('id'))->execute();
$newsArticle->publich = new \DateTime((string) ($request->getData('publish') ?? $newsArticle->publish->format('Y-m-d H:i:s'))); $newsArticle->publish = new \DateTime((string) ($request->getData('publish') ?? $newsArticle->publish->format('Y-m-d H:i:s')));
$newsArticle->title = (string) ($request->getData('title') ?? $newsArticle->title); $newsArticle->title = (string) ($request->getData('title') ?? $newsArticle->title);
$newsArticle->plain = $request->getData('plain') ?? $newsArticle->plain; $newsArticle->plain = $request->getData('plain') ?? $newsArticle->plain;
$newsArticle->content = Markdown::parse((string) ($request->getData('plain') ?? $newsArticle->plain)); $newsArticle->content = Markdown::parse((string) ($request->getData('plain') ?? $newsArticle->plain));
@ -160,7 +160,7 @@ final class ApiController extends Controller
{ {
$newsArticle = new NewsArticle(); $newsArticle = new NewsArticle();
$newsArticle->createdBy = new NullAccount($request->header->account); $newsArticle->createdBy = new NullAccount($request->header->account);
$newsArticle->publich = new \DateTime((string) ($request->getData('publish') ?? 'now')); $newsArticle->publish = new \DateTime((string) ($request->getData('publish') ?? 'now'));
$newsArticle->title = (string) ($request->getData('title') ?? ''); $newsArticle->title = (string) ($request->getData('title') ?? '');
$newsArticle->plain = $request->getData('plain') ?? ''; $newsArticle->plain = $request->getData('plain') ?? '';
$newsArticle->content = Markdown::parse((string) ($request->getData('plain') ?? '')); $newsArticle->content = Markdown::parse((string) ($request->getData('plain') ?? ''));

View File

@ -15,7 +15,6 @@ declare(strict_types=1);
namespace Modules\News\Controller; namespace Modules\News\Controller;
use Modules\Dashboard\Models\DashboardElementInterface; use Modules\Dashboard\Models\DashboardElementInterface;
use Modules\News\Models\NewsArticle;
use Modules\News\Models\NewsArticleMapper; use Modules\News\Models\NewsArticleMapper;
use Modules\News\Models\NewsSeen; use Modules\News\Models\NewsSeen;
use Modules\News\Models\NewsSeenMapper; use Modules\News\Models\NewsSeenMapper;

View File

@ -18,6 +18,7 @@ use Modules\Admin\Models\Account;
use Modules\Admin\Models\NullAccount; use Modules\Admin\Models\NullAccount;
use Modules\Comments\Models\CommentList; use Modules\Comments\Models\CommentList;
use Modules\Media\Models\Media; use Modules\Media\Models\Media;
use Modules\Tag\Models\NullTag;
use Modules\Tag\Models\Tag; use Modules\Tag\Models\Tag;
use phpOMS\Contract\ArrayableInterface; use phpOMS\Contract\ArrayableInterface;
use phpOMS\Localization\ISO639x1Enum; use phpOMS\Localization\ISO639x1Enum;

View File

@ -37,18 +37,18 @@ final class NewsArticleMapper extends DataMapperFactory
* @since 1.0.0 * @since 1.0.0
*/ */
public const COLUMNS = [ public const COLUMNS = [
'news_id' => ['name' => 'news_id', 'type' => 'int', 'internal' => 'id'], 'news_id' => ['name' => 'news_id', 'type' => 'int', 'internal' => 'id'],
'news_publish' => ['name' => 'news_publish', 'type' => 'DateTime', 'internal' => 'publish'], 'news_publish' => ['name' => 'news_publish', 'type' => 'DateTime', 'internal' => 'publish'],
'news_title' => ['name' => 'news_title', 'type' => 'string', 'internal' => 'title'], 'news_title' => ['name' => 'news_title', 'type' => 'string', 'internal' => 'title'],
'news_plain' => ['name' => 'news_plain', 'type' => 'string', 'internal' => 'plain'], 'news_plain' => ['name' => 'news_plain', 'type' => 'string', 'internal' => 'plain'],
'news_content' => ['name' => 'news_content', 'type' => 'string', 'internal' => 'content'], 'news_content' => ['name' => 'news_content', 'type' => 'string', 'internal' => 'content'],
'news_lang' => ['name' => 'news_lang', 'type' => 'string', 'internal' => 'language'], 'news_lang' => ['name' => 'news_lang', 'type' => 'string', 'internal' => 'language'],
'news_status' => ['name' => 'news_status', 'type' => 'int', 'internal' => 'status'], 'news_status' => ['name' => 'news_status', 'type' => 'int', 'internal' => 'status'],
'news_type' => ['name' => 'news_type', 'type' => 'int', 'internal' => 'type'], 'news_type' => ['name' => 'news_type', 'type' => 'int', 'internal' => 'type'],
'news_featured' => ['name' => 'news_featured', 'type' => 'bool', 'internal' => 'isFeatured'], 'news_featured' => ['name' => 'news_featured', 'type' => 'bool', 'internal' => 'isFeatured'],
'news_comment_list' => ['name' => 'news_comment_list', 'type' => 'int', 'internal' => 'comments'], 'news_comment_list' => ['name' => 'news_comment_list', 'type' => 'int', 'internal' => 'comments'],
'news_created_at' => ['name' => 'news_created_at', 'type' => 'DateTimeImmutable', 'internal' => 'createdAt', 'readonly' => true], 'news_created_at' => ['name' => 'news_created_at', 'type' => 'DateTimeImmutable', 'internal' => 'createdAt', 'readonly' => true],
'news_created_by' => ['name' => 'news_created_by', 'type' => 'int', 'internal' => 'createdBy', 'readonly' => true], 'news_created_by' => ['name' => 'news_created_by', 'type' => 'int', 'internal' => 'createdBy', 'readonly' => true],
]; ];
/** /**
@ -59,8 +59,8 @@ final class NewsArticleMapper extends DataMapperFactory
*/ */
public const OWNS_ONE = [ public const OWNS_ONE = [
'comments' => [ 'comments' => [
'mapper' => CommentListMapper::class, 'mapper' => CommentListMapper::class,
'external' => 'news_comment_list', 'external' => 'news_comment_list',
], ],
]; ];
@ -72,8 +72,8 @@ final class NewsArticleMapper extends DataMapperFactory
*/ */
public const BELONGS_TO = [ public const BELONGS_TO = [
'createdBy' => [ 'createdBy' => [
'mapper' => AccountMapper::class, 'mapper' => AccountMapper::class,
'external' => 'news_created_by', 'external' => 'news_created_by',
], ],
]; ];

View File

@ -38,9 +38,9 @@ final class NewsSeenMapper extends DataMapperFactory
* @since 1.0.0 * @since 1.0.0
*/ */
public const COLUMNS = [ public const COLUMNS = [
'news_seen_id' => ['name' => 'news_seen_id', 'type' => 'int', 'internal' => 'id'], 'news_seen_id' => ['name' => 'news_seen_id', 'type' => 'int', 'internal' => 'id'],
'news_seen_at' => ['name' => 'news_seen_at', 'type' => 'DateTime', 'internal' => 'seenAt'], 'news_seen_at' => ['name' => 'news_seen_at', 'type' => 'DateTime', 'internal' => 'seenAt'],
'news_seen_by' => ['name' => 'news_seen_by', 'type' => 'int', 'internal' => 'seenBy'], 'news_seen_by' => ['name' => 'news_seen_by', 'type' => 'int', 'internal' => 'seenBy'],
]; ];
/** /**