Preparing for query extension

implementing media for task/task elements and preparing for unit parent
display.
This commit is contained in:
Dennis Eichhorn 2016-09-28 22:07:54 +02:00
parent 0aba90fd59
commit 38c31e4780
6 changed files with 75 additions and 14 deletions

View File

@ -69,6 +69,23 @@ class Installer extends InstallerAbstract
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'task_ibfk_2` FOREIGN KEY (`task_created_by`) REFERENCES `' . $dbPool->get('core')->prefix . 'account` (`account_id`);'
)->execute();
$dbPool->get('core')->con->prepare(
'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'task_media` (
`task_media_id` int(11) NOT NULL AUTO_INCREMENT,
`task_media_src` int(11) NULL,
`task_media_dst` int(11) NULL,
PRIMARY KEY (`task_media_id`),
KEY `task_media_src` (`task_media_src`),
KEY `task_media_dst` (`task_media_dst`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;'
)->execute();
$dbPool->get('core')->con->prepare(
'ALTER TABLE `' . $dbPool->get('core')->prefix . 'task_media`
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'task_media_ibfk_1` FOREIGN KEY (`task_media_src`) REFERENCES `' . $dbPool->get('core')->prefix . 'task` (`task_id`),
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'task_media_ibfk_2` FOREIGN KEY (`task_media_dst`) REFERENCES `' . $dbPool->get('core')->prefix . 'media` (`media_id`);'
)->execute();
$dbPool->get('core')->con->prepare(
'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'task_account` (
`task_account_id` int(11) NOT NULL AUTO_INCREMENT,
@ -112,6 +129,23 @@ class Installer extends InstallerAbstract
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'task_element_ibfk_3` FOREIGN KEY (`task_element_forwarded`) REFERENCES `' . $dbPool->get('core')->prefix . 'account` (`account_id`);'
)->execute();
$dbPool->get('core')->con->prepare(
'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'task_element_media` (
`task_element_media_id` int(11) NOT NULL AUTO_INCREMENT,
`task_element_media_src` int(11) NULL,
`task_element_media_dst` int(11) NULL,
PRIMARY KEY (`task_element_media_id`),
KEY `task_element_media_src` (`task_element_media_src`),
KEY `task_element_media_dst` (`task_element_media_dst`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;'
)->execute();
$dbPool->get('core')->con->prepare(
'ALTER TABLE `' . $dbPool->get('core')->prefix . 'task_element_media`
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'task_element_media_ibfk_1` FOREIGN KEY (`task_element_media_src`) REFERENCES `' . $dbPool->get('core')->prefix . 'task_element` (`task_element_id`),
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'task_element_media_ibfk_2` FOREIGN KEY (`task_element_media_dst`) REFERENCES `' . $dbPool->get('core')->prefix . 'media` (`media_id`);'
)->execute();
$dbPool->get('core')->con->commit();
break;
}

18
Admin/Routes/Web/Api.php Normal file
View File

@ -0,0 +1,18 @@
<?php
use phpOMS\Router\RouteVerb;
return [
'^.*/api/task$' => [
[
'dest' => '\Modules\Tasks\Controller:apiTaskCreate',
'verb' => RouteVerb::SET,
],
],
'^.*/api/task/element.*$' => [
[
'dest' => '\Modules\Tasks\Controller:apiTaskElementCreate',
'verb' => RouteVerb::SET,
],
],
];

View File

@ -27,17 +27,4 @@ return [
'verb' => RouteVerb::GET,
],
],
'^.*/api/task$' => [
[
'dest' => '\Modules\Tasks\Controller:apiTaskCreate',
'verb' => RouteVerb::SET,
],
],
'^.*/api/task/element.*$' => [
[
'dest' => '\Modules\Tasks\Controller:apiTaskElementCreate',
'verb' => RouteVerb::SET,
],
],
];

View File

@ -119,6 +119,8 @@ class Task
*/
protected $schedule = null;
protected $media = null;
/**
* Constructor.
*

View File

@ -49,6 +49,21 @@ class TaskElementMapper extends DataMapperAbstract
'task_element_created_at' => ['name' => 'task_element_created_at', 'type' => 'DateTime', 'internal' => 'createdAt'],
];
/**
* Has many relation.
*
* @var array<string, array>
* @since 1.0.0
*/
protected static $hasMany = [
'media' => [
'mapper' => MediaMapper::class,
'table' => 'task_element_media',
'dst' => 'task_element_media_dst',
'src' => 'task_element_media_src',
],
];
/**
* Primary table.
*

View File

@ -64,11 +64,16 @@ class TaskMapper extends DataMapperAbstract
protected static $hasMany = [
'taskElements' => [
'mapper' => TaskElementMapper::class,
'relationmapper' => TaskElementMapper::class,
'table' => 'task_element',
'dst' => 'task_element_task',
'src' => null,
],
'media' => [
'mapper' => MediaMapper::class,
'table' => 'task_media',
'dst' => 'task_media_dst',
'src' => 'task_media_src',
],
];
/**