mirror of
https://github.com/nerzhul/ocsms.git
synced 2025-06-07 16:06:15 +00:00
Use mapper properly on controller. Need tests
This commit is contained in:
parent
43d122a6b8
commit
b853362683
@ -35,7 +35,8 @@ class Application extends App {
|
|||||||
return new SmsController(
|
return new SmsController(
|
||||||
$c->query('AppName'),
|
$c->query('AppName'),
|
||||||
$c->query('Request'),
|
$c->query('Request'),
|
||||||
$c->query('UserId')
|
$c->query('UserId'),
|
||||||
|
$c->query('SmsMapper')
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -15,15 +15,19 @@ namespace OCA\OcSms\Controller;
|
|||||||
use \OCP\IRequest;
|
use \OCP\IRequest;
|
||||||
use \OCP\AppFramework\Http\TemplateResponse;
|
use \OCP\AppFramework\Http\TemplateResponse;
|
||||||
use \OCP\AppFramework\Controller;
|
use \OCP\AppFramework\Controller;
|
||||||
use OCA\OcSms\Db\SmsMapper;
|
use \OCA\MyApp\Db\SmsMapper;
|
||||||
|
|
||||||
class SmsController extends Controller {
|
class SmsController extends Controller {
|
||||||
|
|
||||||
private $userId;
|
private $userId;
|
||||||
|
private $smsMapper;
|
||||||
|
// TMP
|
||||||
|
private $errorMsg;
|
||||||
|
|
||||||
public function __construct($appName, IRequest $request, $userId){
|
public function __construct($appName, IRequest $request, $userId, SmsMapper $mapper){
|
||||||
parent::__construct($appName, $request);
|
parent::__construct($appName, $request);
|
||||||
$this->userId = $userId;
|
$this->userId = $userId;
|
||||||
|
$this->smsMapper = $mapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -39,8 +43,18 @@ class SmsController extends Controller {
|
|||||||
* @NoAdminRequired
|
* @NoAdminRequired
|
||||||
*/
|
*/
|
||||||
public function push ($smsCount, $smsDatas) {
|
public function push ($smsCount, $smsDatas) {
|
||||||
|
if ($this->checkPushStructure($smsCount, $smsDatas) === false) {
|
||||||
|
return $this->errorMsg;
|
||||||
|
}
|
||||||
|
|
||||||
|
$smsMapper->saveAll($this->userId, $smsDatas);
|
||||||
|
return "OK";
|
||||||
|
}
|
||||||
|
|
||||||
|
private function checkPushStructure($smsCount, $smsDatas) {
|
||||||
if ($smsCount != count($smsDatas)) {
|
if ($smsCount != count($smsDatas)) {
|
||||||
return "Error: sms count invalid";
|
$this->errorMsg = "Error: sms count invalid";
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($smsDatas as $sms) {
|
foreach ($smsDatas as $sms) {
|
||||||
@ -48,35 +62,38 @@ class SmsController extends Controller {
|
|||||||
!array_key_exists("draft", $sms) ||
|
!array_key_exists("draft", $sms) ||
|
||||||
!array_key_exists("date", $sms) || !array_key_exists("seen", $sms) ||
|
!array_key_exists("date", $sms) || !array_key_exists("seen", $sms) ||
|
||||||
!array_key_exists("body", $sms) || !array_key_exists("address", $sms)) {
|
!array_key_exists("body", $sms) || !array_key_exists("address", $sms)) {
|
||||||
return "Error: bad SMS entry";
|
$this->errorMsg = "Error: bad SMS entry";
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!is_numeric($sms["id"])) {
|
if (!is_numeric($sms["id"])) {
|
||||||
return "Error: Invalid SMS ID";
|
$this->errorMsg = "Error: Invalid SMS ID";
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($sms["read"] !== "true" && $sms["read"] !== "false") {
|
if ($sms["read"] !== "true" && $sms["read"] !== "false") {
|
||||||
return "Error: Invalid SMS Read state";
|
$this->errorMsg = "Error: Invalid SMS Read state";
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($sms["seen"] !== "true" && $sms["seen"] !== "false") {
|
if ($sms["seen"] !== "true" && $sms["seen"] !== "false") {
|
||||||
return "Error: Invalid SMS Seen state";
|
$this->errorMsg = "Error: Invalid SMS Seen state";
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($sms["draft"] !== "true" && $sms["draft"] !== "false") {
|
if ($sms["draft"] !== "true" && $sms["draft"] !== "false") {
|
||||||
return "Error: Invalid SMS Draft state";
|
$this->errorMsg = "Error: Invalid SMS Draft state";
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!is_numeric($sms["date"]) && $sms["date"] != 0 && $sms["date"] != 1) {
|
if (!is_numeric($sms["date"]) && $sms["date"] != 0 && $sms["date"] != 1) {
|
||||||
return "Error: Invalid SMS date";
|
$this->errorMsg = "Error: Invalid SMS date";
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// @ TODO: test address and body ?
|
// @ TODO: test address and body ?
|
||||||
}
|
}
|
||||||
|
return true;
|
||||||
$smsMgr = new SmsMapper();
|
|
||||||
$smsMgr->saveAll($smsDAtas);
|
|
||||||
return "OK";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -21,16 +21,16 @@ class SmsMapper extends Mapper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// @TODO
|
// @TODO
|
||||||
public function saveAll($smsList) {
|
public function saveAll($userId, $smsList) {
|
||||||
foreach ($smsList as $sms) {
|
foreach ($smsList as $sms) {
|
||||||
$query = \OC_DB::prepare('INSERT INTO *PREFIX*ocsms_smsdatas ' .
|
$query = \OC_DB::prepare('INSERT INTO *PREFIX*ocsms_smsdatas ' .
|
||||||
'(user_id, added, lastmodified, sms_read, sms_seen, sms_date,' .
|
'(user_id, added, lastmodified, sms_read, sms_seen, sms_date,' .
|
||||||
'sms_draft, sms_id, sms_address, sms_msg) VALUES ' .
|
'sms_draft, sms_id, sms_address, sms_msg) VALUES ' .
|
||||||
'(?,?,?,?,?,?,?,?,?,?)');
|
'(?,?,?,?,?,?,?,?,?,?)');
|
||||||
$result = $query->execute(array(
|
$result = $query->execute(array(
|
||||||
\OCP\User::getUser(),"NOW()","NOW()",
|
$userId, "NOW()", "NOW()",
|
||||||
$sms["read"] === "true", $sms["seen"] === "true",
|
$sms["read"] === "true", $sms["seen"] === "true",
|
||||||
$sms["date"], $sms["draft"] === "true", $sms["id"],
|
(int) $sms["date"], $sms["draft"] === "true", $sms["id"],
|
||||||
$sms["address"], $sms["body"]
|
$sms["address"], $sms["body"]
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user