mirror of
https://github.com/Karaka-Management/oms-Calendar.git
synced 2026-02-01 17:28:42 +00:00
new datamapper mostly implemented
This commit is contained in:
parent
12aa50a37e
commit
870050c601
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?: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<string, array{mapper:string, table:string, self?:?string, external?:?string, column?:string}>
|
||||
* @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';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?: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<string, array{mapper:string, external:string, by?:string, column?:string, conditional?:bool}>
|
||||
* @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<string, array{mapper:string, external:string}>
|
||||
* @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<string, array{mapper:string, table:string, self?:?string, external?:?string, column?:string}>
|
||||
* @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';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?: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<string, array{mapper:string, external:string}>
|
||||
* @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';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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/';
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user