Doc added

parent eacc520e
This diff is collapsed.
......@@ -23,6 +23,7 @@ class App
protected $ci = null;
protected $client = null;
protected $logger = null;
private $username = '';
private $password = '';
private $sender_id = -1;
......@@ -39,6 +40,9 @@ class App
'NO_SAFE_CURL' => (isset($settings['NO_SAFE_CURL']) ? $settings['NO_SAFE_CURL'] : false),
'base_uri' => (isset($settings['base_uri']) ? $settings['base_uri'] : 'https://protocoltest.minedu.gov.gr:443/openpapyros/api')
]);
if (($logger = $this->ci->get('logger')) != null) {
$this->logger = $logger;
}
}
/**
......@@ -61,12 +65,22 @@ class App
return $jsonResponse;
}
protected function setting($name)
protected function log($msg)
{
throw new \Exception("Not implemented");
if ($this->logger) {
$this->logger->info($msg);
}
}
public function ping($req, $res, $args)
/**
* Provide information about default values used in app.
*
* @param Psr\Http\Message\ServerRequestInterface $req
* @param Psr\Http\Message\ResponseInterface $res
* @param array $args
* @return Response
*/
public function defaults($req, $res, $args)
{
return $res->withJson([
'username' => $this->username,
......@@ -94,7 +108,10 @@ class App
/**
* Λήψη κλειδιού πιστοποίησης.
*
* @throws \Exception
* @param Psr\Http\Message\ServerRequestInterface $req
* @param Psr\Http\Message\ResponseInterface $res
* @param array $args
* @return Response
*/
public function apiKey($req, $res, $args)
{
......@@ -109,10 +126,13 @@ class App
/**
* Ανάκτηση πληροφοριών εγγράφου.
*
* @param Psr\Http\Message\ServerRequestInterface $req
* @param Psr\Http\Message\ResponseInterface $res
* @param string[] $args Πίνακας με παραμέτρους από το call:
* 'hashid' Το μοναδικό hashid του εγγράφου
* 'apikey' (προεραιτικό) Κλειδί αυθεντικοποίησης
* @throws \Exception
* @return Response
*/
public function docData($req, $res, $args)
{
......@@ -135,11 +155,14 @@ class App
* 'date_to' (προεραιτικό) Ημερομηνία αναζήτησης - Έως σε μορφή DATE_W3C
* κατά προτίμηση (μπορεί να είναι και YYYY-MM-DD ή άλλο)
* Η προκαθορισμένη τιμή είναι η χρονική στιγμή της κλήσης
* @param Psr\Http\Message\ServerRequestInterface $req
* @param Psr\Http\Message\ResponseInterface $res
* @param string[] $args Πίνακας με παραμέτρους από το call:
* 'doc_type' (προεραιτικό) Δείτε App::DOCUMENT_INCOMING, App::DOCUMENT_OUTGOING
* App::DOCUMENT_INCOMING_STR, App::DOCUMENT_OUTGOING_STR
* 'apikey' (προεραιτικό) Κλειδί αυθεντικοποίησης
* @throws \Exception
* @return Response
*/
public function searchDocuments($req, $res, $args)
{
......@@ -151,7 +174,7 @@ class App
$doc_type = self::DOCUMENT_OUTGOING;
}
}
$apikey = (isset($args['apikey']) ? $args['apikey'] : $this->getApiKey());
$apikey = $req->getQueryParam('apikey', $this->getApiKey());
$payload = json_encode([
'senderId' => $req->getQueryParam('sender_id', $this->sender_id),
......@@ -169,10 +192,13 @@ class App
/**
* Λήψη πληροφοριών αρχείου
*
* @param Psr\Http\Message\ServerRequestInterface $req
* @param Psr\Http\Message\ResponseInterface $res
* @param string[] $args Πίνακας με παραμέτρους από το call:
* 'hashid' Το μοναδικό hashid του εγγράφου
* 'apikey' (προεραιτικό) Κλειδί αυθεντικοποίησης
* @throws \Exception
* @return Response
*/
public function pdfData($req, $res, $args)
{
......@@ -185,10 +211,13 @@ class App
/**
* Λήψη - μεταφόρτωση αρχείου
*
* @param Psr\Http\Message\ServerRequestInterface $req
* @param Psr\Http\Message\ResponseInterface $res
* @param string[] $args Πίνακας με παραμέτρους από το call:
* 'hashid' Το μοναδικό hashid του εγγράφου
* 'apikey' (προεραιτικό) Κλειδί αυθεντικοποίησης
* @throws \Exception
* @return Response
*/
public function pdfDownload($req, $res, $args)
{
......@@ -209,6 +238,14 @@ class App
->withHeader('Pragma', 'public');
}
/**
* Αποστολή αρχείου/ων και λήψη πρωτοκόλλου.
*
* @param Psr\Http\Message\ServerRequestInterface $req
* @param Psr\Http\Message\ResponseInterface $res
* @param array $args
* @return Response
*/
public function postProtocol($req, $res, $args)
{
$apikey = (isset($args['apikey']) ? $args['apikey'] : $this->getApiKey());
......@@ -244,6 +281,7 @@ class App
'docCategory' => $req->getParam('docCategory', 20),
'mainDoc' => $mainDoc,
'attachedDoc' => (count($attachedDocs) > 0 ? $attachedDocs : null)
// αντίστοιχα εδώ μπορούν να προστεθούν και όλες οι υπόλοιπες παράμετροι, π.χ. ADA
];
$payload = json_encode($payload_items);
......
......@@ -113,10 +113,10 @@ class Client
if (curl_errno($ch)) {
throw new Exception("Λάθος κατά την κλήση του {$uri}. Curl error: " . curl_error($ch) . " Curl info: " . var_export(curl_getinfo($ch), true));
}
// if (intval(($http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE)) / 100) != 2) {
if (intval(($http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE)) / 100) != 2) {
// πραγματοποιήθηκε κλήση αλλά δεν ήταν "επιτυχής"
// throw new Exception("Αποτυχημένη κλήση. HTTP STATUS {$http_code}. Η απάντηση ήταν: {$result}", $http_code);
// }
throw new Exception("Αποτυχημένη κλήση. HTTP STATUS {$http_code}. Η απάντηση ήταν: {$result}", $http_code);
}
curl_close($ch);
return $result;
}
......@@ -136,10 +136,10 @@ class Client
if (curl_errno($ch)) {
throw new Exception("Λάθος κατά την κλήση του {$uri}. Curl error: " . curl_error($ch) . " Curl info: ", var_export(curl_getinfo($ch), true));
}
// if (intval(($http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE)) / 100) != 2) {
if (intval(($http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE)) / 100) != 2) {
// πραγματοποιήθηκε κλήση αλλά δεν ήταν "επιτυχής"
// throw new Exception("Αποτυχημένη κλήση. HTTP STATUS {$http_code}. Η απάντηση ήταν: {$result}", $http_code);
// }
throw new Exception("Αποτυχημένη κλήση. HTTP STATUS {$http_code}. Η απάντηση ήταν: {$result}", $http_code);
}
curl_close($ch);
return $result;
}
......@@ -163,10 +163,10 @@ class Client
if (curl_errno($ch)) {
throw new Exception("Λάθος κατά την κλήση του {$uri}. Curl error: " . curl_error($ch) . " Curl info: ", var_export(curl_getinfo($ch), true));
}
// if (intval(($http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE)) / 100) != 2) {
if (intval(($http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE)) / 100) != 2) {
// πραγματοποιήθηκε κλήση αλλά δεν ήταν "επιτυχής"
// throw new Exception("Αποτυχημένη κλήση. HTTP STATUS {$http_code}. Η απάντηση ήταν: {$result}", $http_code);
// }
throw new Exception("Αποτυχημένη κλήση. HTTP STATUS {$http_code}. Η απάντηση ήταν: {$result}", $http_code);
}
curl_close($ch);
return $result;
}
......
<?php
$app->get('/ping', '\Gr\Gov\Minedu\Osteam\Slim\App:ping');
$app->get('/defaults', '\Gr\Gov\Minedu\Osteam\Slim\App:defaults');
$app->get('/apikey', '\Gr\Gov\Minedu\Osteam\Slim\App:apiKey');
$app->get('/docdata/{hashid}[/{apikey}]', '\Gr\Gov\Minedu\Osteam\Slim\App:docData');
$app->get('/search[/{doc_type}]', '\Gr\Gov\Minedu\Osteam\Slim\App:searchDocuments');
......
......@@ -3,6 +3,6 @@
curl -v -X POST \
--header "User-Agent: MINEDU OSTEAM Tester" \
-F "theme=Title" \
-F "mainDoc=@test3-minimal.pdf" \
-F "mainDoc=@test2-minimal.pdf" \
-F "otherDoc=@test3-minimal.pdf" \
"http://localhost/devel/OpenApi-Papyros-PHP-Clients/slim-app/public/protocol"
"http://generic.local.dev/public/protocol"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment