From 870050c6019c1e81a28a2dafb9d4359b01507a03 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Sat, 11 Dec 2021 11:54:16 +0100 Subject: [PATCH] new datamapper mostly implemented --- Controller/BackendController.php | 4 ++-- Models/CalendarMapper.php | 14 +++++++------- Models/EventMapper.php | 18 +++++++++--------- Models/ScheduleMapper.php | 14 +++++++------- tests/Bootstrap.php | 4 ++-- tests/Models/CalendarMapperTest.php | 4 ++-- tests/Models/EventMapperTest.php | 4 ++-- 7 files changed, 31 insertions(+), 31 deletions(-) diff --git a/Controller/BackendController.php b/Controller/BackendController.php index 76fcfdc..44744a6 100755 --- a/Controller/BackendController.php +++ b/Controller/BackendController.php @@ -57,7 +57,7 @@ final class BackendController extends Controller implements DashboardElementInte $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1001201001, $request, $response)); /** @var \Modules\Calendar\Models\Calendar $calendar */ - $calendar = CalendarMapper::get(1); + $calendar = CalendarMapper::get()->where('id', 1)->execute(); $calendar->date = new SmartDateTime((string) ($request->getData('date') ?? 'now')); $view->addData('calendar', $calendar); @@ -85,7 +85,7 @@ final class BackendController extends Controller implements DashboardElementInte $view->addData('calendar', $calendarView); /** @var \Modules\Calendar\Models\Calendar $calendar */ - $calendar = CalendarMapper::get(1); + $calendar = CalendarMapper::get()->where('id', 1)->execute(); $calendar->date = new SmartDateTime((string) ($request->getData('date') ?? 'now')); $view->addData('cal', $calendar); diff --git a/Models/CalendarMapper.php b/Models/CalendarMapper.php index 8ef3147..871587f 100755 --- a/Models/CalendarMapper.php +++ b/Models/CalendarMapper.php @@ -14,7 +14,7 @@ declare(strict_types=1); namespace Modules\Calendar\Models; -use phpOMS\DataStorage\Database\DataMapperAbstract; +use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; /** * Mapper class. @@ -24,7 +24,7 @@ use phpOMS\DataStorage\Database\DataMapperAbstract; * @link https://orange-management.org * @since 1.0.0 */ -final class CalendarMapper extends DataMapperAbstract +final class CalendarMapper extends DataMapperFactory { /** * Columns. @@ -32,7 +32,7 @@ final class CalendarMapper extends DataMapperAbstract * @var array * @since 1.0.0 */ - protected static array $columns = [ + public const COLUMNS = [ 'calendar_id' => ['name' => 'calendar_id', 'type' => 'int', 'internal' => 'id'], 'calendar_name' => ['name' => 'calendar_name', 'type' => 'string', 'internal' => 'name'], 'calendar_description' => ['name' => 'calendar_description', 'type' => 'string', 'internal' => 'description'], @@ -45,7 +45,7 @@ final class CalendarMapper extends DataMapperAbstract * @var array * @since 1.0.0 */ - protected static array $hasMany = [ + public const HAS_MANY = [ 'events' => [ 'mapper' => EventMapper::class, 'table' => 'calendar_event', @@ -60,7 +60,7 @@ final class CalendarMapper extends DataMapperAbstract * @var string * @since 1.0.0 */ - protected static string $table = 'calendar'; + public const TABLE = 'calendar'; /** * Created at. @@ -68,7 +68,7 @@ final class CalendarMapper extends DataMapperAbstract * @var string * @since 1.0.0 */ - protected static string $createdAt = 'calendar_created_at'; + public const CREATED_AT = 'calendar_created_at'; /** * Primary field name. @@ -76,5 +76,5 @@ final class CalendarMapper extends DataMapperAbstract * @var string * @since 1.0.0 */ - protected static string $primaryField = 'calendar_id'; + public const PRIMARYFIELD ='calendar_id'; } diff --git a/Models/EventMapper.php b/Models/EventMapper.php index 8363d71..2aa9789 100755 --- a/Models/EventMapper.php +++ b/Models/EventMapper.php @@ -16,7 +16,7 @@ namespace Modules\Calendar\Models; use Modules\Admin\Models\AccountMapper; use Modules\Tag\Models\TagMapper; -use phpOMS\DataStorage\Database\DataMapperAbstract; +use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; /** * Mapper class. @@ -26,7 +26,7 @@ use phpOMS\DataStorage\Database\DataMapperAbstract; * @link https://orange-management.org * @since 1.0.0 */ -final class EventMapper extends DataMapperAbstract +final class EventMapper extends DataMapperFactory { /** * Columns. @@ -34,7 +34,7 @@ final class EventMapper extends DataMapperAbstract * @var array * @since 1.0.0 */ - protected static array $columns = [ + public const COLUMNS = [ 'calendar_event_id' => ['name' => 'calendar_event_id', 'type' => 'int', 'internal' => 'id'], 'calendar_event_name' => ['name' => 'calendar_event_name', 'type' => 'string', 'internal' => 'name'], 'calendar_event_description' => ['name' => 'calendar_event_description', 'type' => 'string', 'internal' => 'description'], @@ -53,7 +53,7 @@ final class EventMapper extends DataMapperAbstract * @var array * @since 1.0.0 */ - protected static array $ownsOne = [ + public const OWNS_ONE = [ 'schedule' => [ 'mapper' => ScheduleMapper::class, 'external' => 'calendar_event_schedule', @@ -66,7 +66,7 @@ final class EventMapper extends DataMapperAbstract * @var array * @since 1.0.0 */ - protected static array $belongsTo = [ + public const BELONGS_TO = [ 'createdBy' => [ 'mapper' => AccountMapper::class, 'external' => 'calendar_event_created_by', @@ -79,7 +79,7 @@ final class EventMapper extends DataMapperAbstract * @var array * @since 1.0.0 */ - protected static array $hasMany = [ + public const HAS_MANY = [ 'tags' => [ 'mapper' => TagMapper::class, 'table' => 'calendar_event_tag', @@ -94,7 +94,7 @@ final class EventMapper extends DataMapperAbstract * @var string * @since 1.0.0 */ - protected static string $table = 'calendar_event'; + public const TABLE = 'calendar_event'; /** * Created at. @@ -102,7 +102,7 @@ final class EventMapper extends DataMapperAbstract * @var string * @since 1.0.0 */ - protected static string $createdAt = 'calendar_event_created_at'; + public const CREATED_AT = 'calendar_event_created_at'; /** * Primary field name. @@ -110,5 +110,5 @@ final class EventMapper extends DataMapperAbstract * @var string * @since 1.0.0 */ - protected static string $primaryField = 'calendar_event_id'; + public const PRIMARYFIELD ='calendar_event_id'; } diff --git a/Models/ScheduleMapper.php b/Models/ScheduleMapper.php index 3811b53..37ac08d 100755 --- a/Models/ScheduleMapper.php +++ b/Models/ScheduleMapper.php @@ -15,7 +15,7 @@ declare(strict_types=1); namespace Modules\Calendar\Models; use Modules\Admin\Models\AccountMapper; -use phpOMS\DataStorage\Database\DataMapperAbstract; +use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; /** * Mapper class. @@ -25,7 +25,7 @@ use phpOMS\DataStorage\Database\DataMapperAbstract; * @link https://orange-management.org * @since 1.0.0 */ -final class ScheduleMapper extends DataMapperAbstract +final class ScheduleMapper extends DataMapperFactory { /** * Columns. @@ -33,7 +33,7 @@ final class ScheduleMapper extends DataMapperAbstract * @var array * @since 1.0.0 */ - protected static array $columns = [ + public const COLUMNS = [ 'schedule_id' => ['name' => 'schedule_id', 'type' => 'int', 'internal' => 'id'], 'schedule_uid' => ['name' => 'schedule_uid', 'type' => 'string', 'internal' => 'uid'], 'schedule_status' => ['name' => 'schedule_status', 'type' => 'int', 'internal' => 'status'], @@ -55,7 +55,7 @@ final class ScheduleMapper extends DataMapperAbstract * @var array * @since 1.0.0 */ - protected static array $belongsTo = [ + public const BELONGS_TO = [ 'createdBy' => [ 'mapper' => AccountMapper::class, 'external' => 'schedule_created_by', @@ -68,7 +68,7 @@ final class ScheduleMapper extends DataMapperAbstract * @var string * @since 1.0.0 */ - protected static string $table = 'schedule'; + public const TABLE = 'schedule'; /** * Created at. @@ -76,7 +76,7 @@ final class ScheduleMapper extends DataMapperAbstract * @var string * @since 1.0.0 */ - protected static string $createdAt = 'schedule_created_at'; + public const CREATED_AT = 'schedule_created_at'; /** * Primary field name. @@ -84,5 +84,5 @@ final class ScheduleMapper extends DataMapperAbstract * @var string * @since 1.0.0 */ - protected static string $primaryField = 'schedule_id'; + public const PRIMARYFIELD ='schedule_id'; } diff --git a/tests/Bootstrap.php b/tests/Bootstrap.php index f5fc99c..252a62f 100755 --- a/tests/Bootstrap.php +++ b/tests/Bootstrap.php @@ -12,7 +12,7 @@ require_once __DIR__ . '/../vendor/autoload.php'; require_once __DIR__ . '/Autoloader.php'; use phpOMS\DataStorage\Database\DatabasePool; -use phpOMS\DataStorage\Database\DataMapperAbstract; +use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; use phpOMS\DataStorage\Session\HttpSession; $CONFIG = [ @@ -329,7 +329,7 @@ $GLOBALS['dbpool']->create('delete', $CONFIG['db']['core']['masters']['delete']) $GLOBALS['dbpool']->create('insert', $CONFIG['db']['core']['masters']['insert']); $GLOBALS['dbpool']->create('schema', $CONFIG['db']['core']['masters']['schema']); -DataMapperAbstract::setConnection($GLOBALS['dbpool']->get()); +DataMapperFactory::db($GLOBALS['dbpool']->get()); $GLOBALS['frameworkpath'] = '/phpOMS/'; diff --git a/tests/Models/CalendarMapperTest.php b/tests/Models/CalendarMapperTest.php index 49350c2..efdeaa4 100755 --- a/tests/Models/CalendarMapperTest.php +++ b/tests/Models/CalendarMapperTest.php @@ -49,11 +49,11 @@ final class CalendarMapperTest extends \PHPUnit\Framework\TestCase $calendarEvent2->schedule->createdBy = new NullAccount(1); $calendar->addEvent($calendarEvent2); - $id = CalendarMapper::create($calendar); + $id = CalendarMapper::create()->execute($calendar); self::assertGreaterThan(0, $calendar->getId()); self::assertEquals($id, $calendar->getId()); - $calendarR = CalendarMapper::get($calendar->getId()); + $calendarR = CalendarMapper::get()->with('events')->where('id', $calendar->getId())->execute(); self::assertEquals($calendar->createdAt->format('Y-m-d'), $calendarR->createdAt->format('Y-m-d')); self::assertEquals($calendar->description, $calendarR->description); self::assertEquals($calendar->name, $calendarR->name); diff --git a/tests/Models/EventMapperTest.php b/tests/Models/EventMapperTest.php index 80d741a..a1ca97b 100755 --- a/tests/Models/EventMapperTest.php +++ b/tests/Models/EventMapperTest.php @@ -37,11 +37,11 @@ final class EventMapperTest extends \PHPUnit\Framework\TestCase $calendarEvent1->schedule->createdBy = new NullAccount(1); $calendarEvent1->calendar = 1; - $id = EventMapper::create($calendarEvent1); + $id = EventMapper::create()->execute($calendarEvent1); self::assertGreaterThan(0, $calendarEvent1->getId()); self::assertEquals($id, $calendarEvent1->getId()); - $eventR = EventMapper::get($calendarEvent1->getId()); + $eventR = EventMapper::get()->where('id', $calendarEvent1->getId())->execute(); self::assertEquals($calendarEvent1->getCreatedBy()->getId(), $eventR->getCreatedBy()->getId()); self::assertEquals($calendarEvent1->description, $eventR->description); }