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 */
$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->plain = $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->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->plain = $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;
use Modules\Dashboard\Models\DashboardElementInterface;
use Modules\News\Models\NewsArticle;
use Modules\News\Models\NewsArticleMapper;
use Modules\News\Models\NewsSeen;
use Modules\News\Models\NewsSeenMapper;

View File

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

View File

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

View File

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