1
0
mirror of https://github.com/nerzhul/ocsms.git synced 2025-06-06 23:46:18 +00:00

Add a new call to get the current message count for a user

This commit is contained in:
Loic Blot 2016-07-21 23:31:52 +02:00
parent 55ca445ff7
commit 78eae0600c
3 changed files with 25 additions and 2 deletions

View File

@ -36,6 +36,7 @@ $application->registerRoutes($this, array('routes' => array(
// API v2
array('name' => 'api#get_all_stored_phone_numbers', 'url' => '/api/v2/phones/list', 'verb' => 'GET'), // Android APIv2
array('name' => 'api#fetch_messages', 'url' => '/api/v2/messages/{start}/{limit}', 'verb' => 'GET'), // Android APIv2
array('name' => 'api#fetch_messages_count', 'url' => '/api/v2/messages/count', 'verb' => 'GET'), // Android APIv2
array('name' => 'api#fetch_messages_for_number', 'url' => '/api/v2/messages/{phonenumber}/{start}/{limit}', 'verb' => 'GET'), // Android APIv2
array('name' => 'api#fetch_messages_to_send', 'url' => '/api/v2/messages/sendqueue', 'verb' => 'GET'), // Android APIv2

View File

@ -165,6 +165,18 @@ class ApiController extends Controller {
return new JSONResponse(array("phoneList" => $phoneList));
}
/**
* @NoAdminRequired
* @NoCSRFRequired
*
* APIv2
* @param $start
* @param $limit
* @return JSONResponse
*/
public function fetchMessagesCount() {
return new JSONResponse(array("count" => $this->smsMapper->getMessageCount($this->userId)));
}
/**
* @NoAdminRequired
* @NoCSRFRequired
@ -184,8 +196,7 @@ class ApiController extends Controller {
return new JSONResponse(array("msg" => "Too many messages requested"), 413);
}
$messages = $this->smsMapper->getMessages($this->userId, $start, $limit);
return new JSONResponse(array("messages" => $messages));
return new JSONResponse(array("messages" => $this->smsMapper->getMessages($this->userId, $start, $limit)));
}
/**

View File

@ -134,6 +134,17 @@ class SmsMapper extends Mapper {
return $messageList;
}
public function getMessageCount ($userId) {
$query = \OCP\DB::prepare('SELECT count(*) AS count FROM ' .
'*PREFIX*ocsms_smsdatas WHERE user_id = ?');
$result = $query->execute(array($userId));
if ($row = $result->fetchRow()) {
return $row["count"];
}
return 0;
}
public function getMessages ($userId, $start, $limit) {
$messageList = array();