diff --git a/database/database.sql b/database/database.sql index 5f440b31..ae7858e0 100644 --- a/database/database.sql +++ b/database/database.sql @@ -6,6 +6,7 @@ DROP TABLE IF EXISTS `tasks`; CREATE TABLE IF NOT EXISTS `tasks` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL, + `description` text, `status` tinyint(1) NOT NULL DEFAULT '0', `userId` int(11) NOT NULL, `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, diff --git a/extras/bin/restart-api.sh b/extras/bin/restart-api.sh index 3b71a812..7efef7d5 100755 --- a/extras/bin/restart-api.sh +++ b/extras/bin/restart-api.sh @@ -4,7 +4,7 @@ echo -e "Reading environment variables..." source .env echo -e "Restarting demo database..." -mysql -u$DB_USERNAME -p$DB_PASSWORD -h$DB_HOSTNAME -e 'DROP DATABASE IF EXISTS $DB_DATABASE ; CREATE DATABASE $DB_DATABASE' 2> /dev/null +mysql -u$DB_USERNAME -p$DB_PASSWORD -h$DB_HOSTNAME -e "DROP DATABASE IF EXISTS $DB_DATABASE ; CREATE DATABASE $DB_DATABASE" 2> /dev/null echo -e "Creating testing data..." mysql -u$DB_USERNAME -p$DB_PASSWORD -h$DB_HOSTNAME $DB_DATABASE < database/database.sql 2> /dev/null diff --git a/src/Controller/DefaultController.php b/src/Controller/DefaultController.php index 86f3baa1..13d711c5 100644 --- a/src/Controller/DefaultController.php +++ b/src/Controller/DefaultController.php @@ -8,7 +8,7 @@ class DefaultController extends BaseController { - const API_VERSION = '0.21.3'; + const API_VERSION = '0.22.0'; public function __construct(Container $container) { diff --git a/src/Repository/TaskRepository.php b/src/Repository/TaskRepository.php index 26317874..11bdeaf3 100644 --- a/src/Repository/TaskRepository.php +++ b/src/Repository/TaskRepository.php @@ -54,9 +54,13 @@ public function searchTasks(string $tasksName, int $userId): array public function createTask($task) { - $query = 'INSERT INTO tasks (name, status, userId) VALUES (:name, :status, :userId)'; + $query = ' + INSERT INTO tasks (name, description, status, userId) + VALUES (:name, :description, :status, :userId) + '; $statement = $this->getDb()->prepare($query); $statement->bindParam('name', $task->name); + $statement->bindParam('description', $task->description); $statement->bindParam('status', $task->status); $statement->bindParam('userId', $task->userId); $statement->execute(); @@ -66,10 +70,15 @@ public function createTask($task) public function updateTask($task) { - $query = 'UPDATE tasks SET name=:name, status=:status WHERE id=:id AND userId = :userId'; + $query = ' + UPDATE tasks + SET name=:name, description=:description, status=:status + WHERE id=:id AND userId = :userId + '; $statement = $this->getDb()->prepare($query); $statement->bindParam('id', $task->id); $statement->bindParam('name', $task->name); + $statement->bindParam('description', $task->description); $statement->bindParam('status', $task->status); $statement->bindParam('userId', $task->userId); $statement->execute(); diff --git a/src/Service/TaskService.php b/src/Service/TaskService.php index c8f05d58..5b85ee7b 100644 --- a/src/Service/TaskService.php +++ b/src/Service/TaskService.php @@ -50,6 +50,10 @@ public function createTask(array $input) throw new TaskException('The field "name" is required.', 400); } $task->name = self::validateTaskName($data->name); + $task->description = null; + if (isset($data->description)) { + $task->description = $data->description; + } $task->status = 0; if (isset($data->status)) { $task->status = self::validateTaskStatus($data->status); @@ -69,6 +73,9 @@ public function updateTask(array $input, int $taskId) if (isset($data->name)) { $task->name = self::validateTaskName($data->name); } + if (isset($data->description)) { + $task->description = $data->description; + } if (isset($data->status)) { $task->status = self::validateTaskStatus($data->status); }