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;
use Kanboard\Core\Base;
/**
* Action Model
*

View File

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

View File

@ -3,6 +3,7 @@
namespace Kanboard\Model;
use Exception;
use Kanboard\Core\Base;
/**
* 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;
use Kanboard\Core\Base;
/**
* Board model
*

View File

@ -2,6 +2,8 @@
namespace Kanboard\Model;
use Kanboard\Core\Base;
/**
* Category model
*
@ -148,7 +150,7 @@ class Category extends Base
*/
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;
use Kanboard\Core\Base;
/**
* Color model
*

View File

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

View File

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

View File

@ -2,6 +2,8 @@
namespace Kanboard\Model;
use Kanboard\Core\Base;
/**
* Custom Filter model
*
@ -71,7 +73,7 @@ class CustomFilter extends Base
*/
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;
use Exception;
use Kanboard\Core\Base;
use Kanboard\Core\Thumbnail;
use Kanboard\Event\FileEvent;
use Kanboard\Core\ObjectStorage\ObjectStorageException;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -2,6 +2,8 @@
namespace Kanboard\Model;
use Kanboard\Core\Base;
/**
* Swimlanes
*
@ -225,8 +227,9 @@ class Swimlane extends Base
if (! $this->project->exists($values['project_id'])) {
return 0;
}
$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;
use Kanboard\Core\Base;
/**
* Task model
*

View File

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

View File

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

View File

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

View File

@ -2,6 +2,8 @@
namespace Kanboard\Model;
use Kanboard\Core\Base;
/**
* Task External Link Model
*
@ -69,7 +71,7 @@ class TaskExternalLink extends Base
$values['date_creation'] = time();
$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;
use PDO;
use Kanboard\Core\Base;
/**
* Task Finder model

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -3,6 +3,7 @@
namespace Kanboard\Model;
use PicoDb\Database;
use Kanboard\Core\Base;
use Kanboard\Core\Security\Token;
use Kanboard\Core\Security\Role;
@ -269,7 +270,7 @@ class User extends Base
public function create(array $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;
use Kanboard\Core\Base;
/**
* User Locking Model
*

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -27,7 +27,7 @@
"eluceo/ical": "0.8.0",
"erusev/parsedown" : "1.6.0",
"fguillot/json-rpc" : "1.1.0",
"fguillot/picodb" : "1.0.11",
"fguillot/picodb" : "1.0.12",
"fguillot/simpleLogger" : "1.0.1",
"fguillot/simple-validator" : "1.0.0",
"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",
"This file is @generated automatically"
],
"hash": "d9622d90bef6f3316b84a374fc73f1d0",
"content-hash": "593b137facd6a5d8fc4b8f4838b99ddb",
"hash": "1dff423870fc9d85edd75f83ee0b5b97",
"content-hash": "5a7a28b3dcb87b0be20ff634d989d5b4",
"packages": [
{
"name": "christian-riesen/base32",
@ -239,21 +239,24 @@
},
{
"name": "fguillot/picodb",
"version": "v1.0.11",
"version": "v1.0.12",
"source": {
"type": "git",
"url": "https://github.com/fguillot/picoDb.git",
"reference": "5f6485c1a930ff22f14bcbf6db8b95d55efe6c52"
"reference": "dd088cb75e9035d083f511cdc77b268bc8e110b6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/fguillot/picoDb/zipball/5f6485c1a930ff22f14bcbf6db8b95d55efe6c52",
"reference": "5f6485c1a930ff22f14bcbf6db8b95d55efe6c52",
"url": "https://api.github.com/repos/fguillot/picoDb/zipball/dd088cb75e9035d083f511cdc77b268bc8e110b6",
"reference": "dd088cb75e9035d083f511cdc77b268bc8e110b6",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"require-dev": {
"phpunit/phpunit": "4.8.*"
},
"type": "library",
"autoload": {
"psr-0": {
@ -267,12 +270,12 @@
"authors": [
{
"name": "Frédéric Guillot",
"homepage": "http://fredericguillot.com"
"homepage": "https://github.com/fguillot/"
}
],
"description": "Minimalist database query builder",
"homepage": "https://github.com/fguillot/picoDb",
"time": "2016-05-15 01:02:48"
"time": "2016-05-28 22:00:54"
},
{
"name": "fguillot/simple-queue",