From 18e6796726d73d7dc90ecdd16c181493941f5487 Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Thu, 15 Dec 2016 10:13:00 +0100 Subject: REST API structure using Slim framework * REST API routes are handle by Slim. * Every API controller go through ApiMiddleware which handles security. * First service implemented `/info`, for tests purpose. --- application/api/controllers/ApiController.php | 54 +++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 application/api/controllers/ApiController.php (limited to 'application/api/controllers/ApiController.php') diff --git a/application/api/controllers/ApiController.php b/application/api/controllers/ApiController.php new file mode 100644 index 00000000..1dd47f17 --- /dev/null +++ b/application/api/controllers/ApiController.php @@ -0,0 +1,54 @@ +ci = $ci; + $this->conf = $ci->get('conf'); + $this->linkDb = $ci->get('db'); + if ($this->conf->get('dev.debug', false)) { + $this->jsonStyle = JSON_PRETTY_PRINT; + } else { + $this->jsonStyle = null; + } + } +} -- cgit v1.2.3 From 68016e37983b882c51c6ac92da6f6cc1250676e5 Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Thu, 5 Jan 2017 15:58:24 +0100 Subject: REST API: implement POST link service --- application/api/controllers/ApiController.php | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'application/api/controllers/ApiController.php') diff --git a/application/api/controllers/ApiController.php b/application/api/controllers/ApiController.php index 1dd47f17..f35b923a 100644 --- a/application/api/controllers/ApiController.php +++ b/application/api/controllers/ApiController.php @@ -51,4 +51,14 @@ abstract class ApiController $this->jsonStyle = null; } } + + /** + * Get the container. + * + * @return Container + */ + public function getCi() + { + return $this->ci; + } } -- cgit v1.2.3 From 813849e5216cb87121e0f778a734575be6a36052 Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Sun, 7 May 2017 16:50:20 +0200 Subject: Add history entries for API endpoint CHANGED: datetime is now store as an object in history store file --- application/api/controllers/ApiController.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'application/api/controllers/ApiController.php') diff --git a/application/api/controllers/ApiController.php b/application/api/controllers/ApiController.php index f35b923a..3be85b98 100644 --- a/application/api/controllers/ApiController.php +++ b/application/api/controllers/ApiController.php @@ -2,6 +2,7 @@ namespace Shaarli\Api\Controllers; +use Shaarli\Config\ConfigManager; use \Slim\Container; /** @@ -19,7 +20,7 @@ abstract class ApiController protected $ci; /** - * @var \ConfigManager + * @var ConfigManager */ protected $conf; @@ -28,6 +29,11 @@ abstract class ApiController */ protected $linkDb; + /** + * @var \History + */ + protected $history; + /** * @var int|null JSON style option. */ @@ -45,6 +51,7 @@ abstract class ApiController $this->ci = $ci; $this->conf = $ci->get('conf'); $this->linkDb = $ci->get('db'); + $this->history = $ci->get('history'); if ($this->conf->get('dev.debug', false)) { $this->jsonStyle = JSON_PRETTY_PRINT; } else { -- cgit v1.2.3