Files
thetempusproject/app/plugins/todo/controllers/api/tasks.php
2024-08-04 21:15:59 -04:00

63 lines
1.8 KiB
PHP

<?php
/**
* app/plugins/todo/controllers/tasts.php
*
* This is the tasks' API controller.
*
* @package TP ToDo
* @version 3.0
* @author Joey Kimsey <Joey@thetempusproject.com>
* @link https://TheTempusProject.com
* @license https://opensource.org/licenses/MIT [MIT LICENSE]
*/
namespace TheTempusProject\Controllers\Api;
use TheTempusProject\Models\Tasks as TaskModel;
use TheTempusProject\Classes\ApiController;
use TheTempusProject\Houdini\Classes\Views;
class Tasks extends ApiController {
protected static $tasks;
public function __construct() {
parent::__construct();
self::$tasks = new TaskModel;
}
public function complete( $id = null ) {
$task = self::$tasks->get( $id );
if ( ! $task ) {
$responseType = 'error';
$response = 'No task found.';
} else {
$responseType = 'data';
$response = self::$tasks->complete( $id );
}
Views::view( 'api.response', ['response' => json_encode( [ $responseType => $response ], true )]);
}
public function delete( $id = null ) {
$task = self::$tasks->get( $id );
if ( ! $task ) {
$responseType = 'error';
$response = 'No task found.';
} else {
$responseType = 'data';
$response = self::$tasks->delete( $id );
}
Views::view( 'api.response', ['response' => json_encode( [ $responseType => $response ], true )]);
}
public function home( $id = null ) {
$task = self::$tasks->get( $id );
if ( ! $task ) {
$responseType = 'error';
$response = 'No task found.';
} else {
$responseType = 'data';
$response = $task;
}
Views::view( 'api.response', ['response' => json_encode( [ $responseType => $response ], true )]);
}
}