Remove model base class

This commit is contained in:
Frederic Guillot
2016-05-28 18:19:15 -04:00
parent e6235afb2d
commit 936376ffe7
60 changed files with 113 additions and 53 deletions

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* Action Model * Action Model
* *

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* Action Parameter Model * Action Parameter Model
* *

View File

@@ -3,6 +3,7 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Exception; use Exception;
use Kanboard\Core\Base;
/** /**
* Avatar File * Avatar File

View File

@@ -1,34 +0,0 @@
<?php
namespace Kanboard\Model;
use PicoDb\Database;
/**
* Base model class
*
* @package model
* @author Frederic Guillot
*/
abstract class Base extends \Kanboard\Core\Base
{
/**
* Save a record in the database
*
* @access public
* @param string $table Table name
* @param array $values Form values
* @return boolean|integer
*/
public function persist($table, array $values)
{
return $this->db->transaction(function (Database $db) use ($table, $values) {
if (! $db->table($table)->save($values)) {
return false;
}
return (int) $db->getLastId();
});
}
}

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* Board model * Board model
* *

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* Category model * Category model
* *
@@ -148,7 +150,7 @@ class Category extends Base
*/ */
public function create(array $values) public function create(array $values)
{ {
return $this->persist(self::TABLE, $values); return $this->db->table(self::TABLE)->persist($values);
} }
/** /**

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* Color model * Color model
* *

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* Column Model * Column Model
* *
@@ -140,7 +142,7 @@ class Column extends Base
'description' => $description, 'description' => $description,
); );
return $this->persist(self::TABLE, $values); return $this->db->table(self::TABLE)->persist($values);
} }
/** /**

View File

@@ -4,6 +4,8 @@ namespace Kanboard\Model;
use Kanboard\Event\CommentEvent; use Kanboard\Event\CommentEvent;
use Kanboard\Core\Base;
/** /**
* Comment model * Comment model
* *
@@ -110,7 +112,7 @@ class Comment extends Base
public function create(array $values) public function create(array $values)
{ {
$values['date_creation'] = time(); $values['date_creation'] = time();
$comment_id = $this->persist(self::TABLE, $values); $comment_id = $this->db->table(self::TABLE)->persist($values);
if ($comment_id) { if ($comment_id) {
$event = new CommentEvent(array('id' => $comment_id) + $values); $event = new CommentEvent(array('id' => $comment_id) + $values);

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* Currency * Currency
* *

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* Custom Filter model * Custom Filter model
* *
@@ -71,7 +73,7 @@ class CustomFilter extends Base
*/ */
public function create(array $values) public function create(array $values)
{ {
return $this->persist(self::TABLE, $values); return $this->db->table(self::TABLE)->persist($values);
} }
/** /**

View File

@@ -3,6 +3,7 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Exception; use Exception;
use Kanboard\Core\Base;
use Kanboard\Core\Thumbnail; use Kanboard\Core\Thumbnail;
use Kanboard\Event\FileEvent; use Kanboard\Event\FileEvent;
use Kanboard\Core\ObjectStorage\ObjectStorageException; use Kanboard\Core\ObjectStorage\ObjectStorageException;

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* Group Model * Group Model
* *
@@ -97,7 +99,7 @@ class Group extends Base
*/ */
public function create($name, $external_id = '') public function create($name, $external_id = '')
{ {
return $this->persist(self::TABLE, array( return $this->db->table(self::TABLE)->persist(array(
'name' => $name, 'name' => $name,
'external_id' => $external_id, 'external_id' => $external_id,
)); ));

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* Group Member Model * Group Member Model
* *

View File

@@ -2,6 +2,7 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
use Kanboard\Core\Translator; use Kanboard\Core\Translator;
/** /**

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* LastLogin model * LastLogin model
* *

View File

@@ -3,6 +3,7 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use PDO; use PDO;
use Kanboard\Core\Base;
/** /**
* Link model * Link model

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* Metadata * Metadata
* *

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* Notification * Notification
* *

View File

@@ -3,6 +3,7 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Pimple\Container; use Pimple\Container;
use Kanboard\Core\Base;
/** /**
* Notification Type * Notification Type

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* Password Reset Model * Password Reset Model
* *

View File

@@ -2,6 +2,7 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
use Kanboard\Core\Security\Token; use Kanboard\Core\Security\Token;
use Kanboard\Core\Security\Role; use Kanboard\Core\Security\Role;

View File

@@ -2,6 +2,7 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
use PicoDb\Table; use PicoDb\Table;
/** /**

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* Project Daily Column Stats * Project Daily Column Stats
* *

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* Project Daily Stats * Project Daily Stats
* *

View File

@@ -2,6 +2,7 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
use Kanboard\Core\Security\Role; use Kanboard\Core\Security\Role;
/** /**

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* Project File Model * Project File Model
* *

View File

@@ -2,6 +2,7 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
use Kanboard\Core\Security\Role; use Kanboard\Core\Security\Role;
/** /**

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* Project Metadata * Project Metadata
* *

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* Project Notification * Project Notification
* *

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* Project Notification Type * Project Notification Type
* *

View File

@@ -2,6 +2,7 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
use Kanboard\Core\Security\Role; use Kanboard\Core\Security\Role;
use Kanboard\Filter\ProjectGroupRoleProjectFilter; use Kanboard\Filter\ProjectGroupRoleProjectFilter;
use Kanboard\Filter\ProjectGroupRoleUsernameFilter; use Kanboard\Filter\ProjectGroupRoleUsernameFilter;

View File

@@ -2,6 +2,7 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
use Kanboard\Core\Security\Role; use Kanboard\Core\Security\Role;
/** /**

View File

@@ -2,6 +2,7 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
use Kanboard\Core\Security\Token; use Kanboard\Core\Security\Token;
/** /**

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* Application Settings * Application Settings
* *

View File

@@ -3,6 +3,7 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use PicoDb\Database; use PicoDb\Database;
use Kanboard\Core\Base;
use Kanboard\Event\SubtaskEvent; use Kanboard\Event\SubtaskEvent;
/** /**
@@ -215,7 +216,7 @@ class Subtask extends Base
public function create(array $values) public function create(array $values)
{ {
$this->prepareCreation($values); $this->prepareCreation($values);
$subtask_id = $this->persist(self::TABLE, $values); $subtask_id = $this->db->table(self::TABLE)->persist($values);
if ($subtask_id) { if ($subtask_id) {
$this->container['dispatcher']->dispatch( $this->container['dispatcher']->dispatch(

View File

@@ -3,6 +3,7 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use DateTime; use DateTime;
use Kanboard\Core\Base;
/** /**
* Subtask timesheet * Subtask timesheet

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* Swimlanes * Swimlanes
* *
@@ -225,8 +227,9 @@ class Swimlane extends Base
if (! $this->project->exists($values['project_id'])) { if (! $this->project->exists($values['project_id'])) {
return 0; return 0;
} }
$values['position'] = $this->getLastPosition($values['project_id']); $values['position'] = $this->getLastPosition($values['project_id']);
return $this->persist(self::TABLE, $values); return $this->db->table(self::TABLE)->persist($values);
} }
/** /**

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* Task model * Task model
* *

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* Task Analytic * Task Analytic
* *

View File

@@ -2,6 +2,7 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
use Kanboard\Event\TaskEvent; use Kanboard\Event\TaskEvent;
/** /**
@@ -28,7 +29,7 @@ class TaskCreation extends Base
$position = empty($values['position']) ? 0 : $values['position']; $position = empty($values['position']) ? 0 : $values['position'];
$this->prepare($values); $this->prepare($values);
$task_id = $this->persist(Task::TABLE, $values); $task_id = $this->db->table(Task::TABLE)->persist($values);
if ($task_id !== false) { if ($task_id !== false) {
if ($position > 0 && $values['position'] > 1) { if ($position > 0 && $values['position'] > 1) {

View File

@@ -4,6 +4,7 @@ namespace Kanboard\Model;
use DateTime; use DateTime;
use DateInterval; use DateInterval;
use Kanboard\Core\Base;
use Kanboard\Event\TaskEvent; use Kanboard\Event\TaskEvent;
/** /**

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* Task External Link Model * Task External Link Model
* *
@@ -69,7 +71,7 @@ class TaskExternalLink extends Base
$values['date_creation'] = time(); $values['date_creation'] = time();
$values['date_modification'] = $values['date_creation']; $values['date_modification'] = $values['date_creation'];
return $this->persist(self::TABLE, $values); return $this->db->table(self::TABLE)->persist($values);
} }
/** /**

View File

@@ -3,6 +3,7 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use PDO; use PDO;
use Kanboard\Core\Base;
/** /**
* Task Finder model * Task Finder model

View File

@@ -2,6 +2,7 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
use Kanboard\Event\TaskLinkEvent; use Kanboard\Event\TaskLinkEvent;
/** /**

View File

@@ -2,6 +2,7 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
use Kanboard\Event\TaskEvent; use Kanboard\Event\TaskEvent;
/** /**

View File

@@ -2,6 +2,7 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
use Kanboard\Event\TaskEvent; use Kanboard\Event\TaskEvent;
/** /**

View File

@@ -2,6 +2,7 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
use Kanboard\Event\TaskEvent; use Kanboard\Event\TaskEvent;
/** /**

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* Class Timezone * Class Timezone
* *

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* Transition * Transition
* *

View File

@@ -3,6 +3,7 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use PicoDb\Database; use PicoDb\Database;
use Kanboard\Core\Base;
use Kanboard\Core\Security\Token; use Kanboard\Core\Security\Token;
use Kanboard\Core\Security\Role; use Kanboard\Core\Security\Role;
@@ -269,7 +270,7 @@ class User extends Base
public function create(array $values) public function create(array $values)
{ {
$this->prepare($values); $this->prepare($values);
return $this->persist(self::TABLE, $values); return $this->db->table(self::TABLE)->persist($values);
} }
/** /**

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* User Locking Model * User Locking Model
* *

View File

@@ -2,6 +2,7 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
use Kanboard\Event\GenericEvent; use Kanboard\Event\GenericEvent;
/** /**

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* User Metadata * User Metadata
* *

View File

@@ -2,6 +2,7 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
use Kanboard\Core\Translator; use Kanboard\Core\Translator;
/** /**

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* User Notification Filter * User Notification Filter
* *

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* User Notification Type * User Notification Type
* *

View File

@@ -2,6 +2,8 @@
namespace Kanboard\Model; namespace Kanboard\Model;
use Kanboard\Core\Base;
/** /**
* User Unread Notification * User Unread Notification
* *

View File

@@ -27,7 +27,7 @@
"eluceo/ical": "0.8.0", "eluceo/ical": "0.8.0",
"erusev/parsedown" : "1.6.0", "erusev/parsedown" : "1.6.0",
"fguillot/json-rpc" : "1.1.0", "fguillot/json-rpc" : "1.1.0",
"fguillot/picodb" : "1.0.11", "fguillot/picodb" : "1.0.12",
"fguillot/simpleLogger" : "1.0.1", "fguillot/simpleLogger" : "1.0.1",
"fguillot/simple-validator" : "1.0.0", "fguillot/simple-validator" : "1.0.0",
"fguillot/simple-queue" : "dev-master", "fguillot/simple-queue" : "dev-master",

19
composer.lock generated
View File

@@ -4,8 +4,8 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"hash": "d9622d90bef6f3316b84a374fc73f1d0", "hash": "1dff423870fc9d85edd75f83ee0b5b97",
"content-hash": "593b137facd6a5d8fc4b8f4838b99ddb", "content-hash": "5a7a28b3dcb87b0be20ff634d989d5b4",
"packages": [ "packages": [
{ {
"name": "christian-riesen/base32", "name": "christian-riesen/base32",
@@ -239,21 +239,24 @@
}, },
{ {
"name": "fguillot/picodb", "name": "fguillot/picodb",
"version": "v1.0.11", "version": "v1.0.12",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/fguillot/picoDb.git", "url": "https://github.com/fguillot/picoDb.git",
"reference": "5f6485c1a930ff22f14bcbf6db8b95d55efe6c52" "reference": "dd088cb75e9035d083f511cdc77b268bc8e110b6"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/fguillot/picoDb/zipball/5f6485c1a930ff22f14bcbf6db8b95d55efe6c52", "url": "https://api.github.com/repos/fguillot/picoDb/zipball/dd088cb75e9035d083f511cdc77b268bc8e110b6",
"reference": "5f6485c1a930ff22f14bcbf6db8b95d55efe6c52", "reference": "dd088cb75e9035d083f511cdc77b268bc8e110b6",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=5.3.0" "php": ">=5.3.0"
}, },
"require-dev": {
"phpunit/phpunit": "4.8.*"
},
"type": "library", "type": "library",
"autoload": { "autoload": {
"psr-0": { "psr-0": {
@@ -267,12 +270,12 @@
"authors": [ "authors": [
{ {
"name": "Frédéric Guillot", "name": "Frédéric Guillot",
"homepage": "http://fredericguillot.com" "homepage": "https://github.com/fguillot/"
} }
], ],
"description": "Minimalist database query builder", "description": "Minimalist database query builder",
"homepage": "https://github.com/fguillot/picoDb", "homepage": "https://github.com/fguillot/picoDb",
"time": "2016-05-15 01:02:48" "time": "2016-05-28 22:00:54"
}, },
{ {
"name": "fguillot/simple-queue", "name": "fguillot/simple-queue",