Improve API to return id instead of a boolean

This commit is contained in:
Frédéric Guillot
2014-11-22 18:22:10 -05:00
parent 15038cdb10
commit 77e10d2582
13 changed files with 270 additions and 310 deletions

View File

@@ -94,11 +94,18 @@ class Category extends Base
*
* @access public
* @param array $values Form values
* @return bool
* @return bool|integer
*/
public function create(array $values)
{
return $this->db->table(self::TABLE)->save($values);
return $this->db->transaction(function($db) use ($values) {
if (! $db->table(Category::TABLE)->save($values)) {
return false;
}
return (int) $db->getConnection()->getLastId();
});
}
/**

View File

@@ -99,20 +99,25 @@ class Comment extends Base
*
* @access public
* @param array $values Form values
* @return boolean
* @return boolean|integer
*/
public function create(array $values)
{
$values['date'] = time();
if ($this->db->table(self::TABLE)->save($values)) {
return $this->db->transaction(function($db) use ($values) {
if (! $db->table(Comment::TABLE)->save($values)) {
return false;
}
$comment_id = (int) $db->getConnection()->getLastId();
$values['id'] = $comment_id;
$values['id'] = $this->db->getConnection()->getLastId();
$this->event->trigger(self::EVENT_CREATE, $values);
return true;
}
return false;
return $comment_id;
});
}
/**

View File

@@ -138,19 +138,25 @@ class SubTask extends Base
*
* @access public
* @param array $values Form values
* @return bool
* @return bool|integer
*/
public function create(array $values)
{
$this->prepare($values);
$result = $this->db->table(self::TABLE)->save($values);
if ($result) {
$values['id'] = $this->db->getConnection()->getLastId();
return $this->db->transaction(function($db) use ($values) {
if (! $db->table(SubTask::TABLE)->save($values)) {
return false;
}
$subtask_id = (int) $db->getConnection()->getLastId();
$values['id'] = $subtask_id;
$this->event->trigger(self::EVENT_CREATE, $values);
}
return $result;
return $subtask_id;
});
}
/**

View File

@@ -255,12 +255,20 @@ class User extends Base
*
* @access public
* @param array $values Form values
* @return boolean
* @return boolean|integer
*/
public function create(array $values)
{
$this->prepare($values);
return $this->db->table(self::TABLE)->save($values);
return $this->db->transaction(function($db) use ($values) {
if (! $db->table(User::TABLE)->save($values)) {
return false;
}
return (int) $db->getConnection()->getLastId();
});
}
/**