mirror of
https://github.com/nextcloud/ocsms.git
synced 2026-08-11 16:32:55 +00:00
Use mapper properly on controller. Need tests
This commit is contained in:
@@ -15,15 +15,19 @@ namespace OCA\OcSms\Controller;
|
||||
use \OCP\IRequest;
|
||||
use \OCP\AppFramework\Http\TemplateResponse;
|
||||
use \OCP\AppFramework\Controller;
|
||||
use OCA\OcSms\Db\SmsMapper;
|
||||
use \OCA\MyApp\Db\SmsMapper;
|
||||
|
||||
class SmsController extends Controller {
|
||||
|
||||
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);
|
||||
$this->userId = $userId;
|
||||
$this->smsMapper = $mapper;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -39,8 +43,18 @@ class SmsController extends Controller {
|
||||
* @NoAdminRequired
|
||||
*/
|
||||
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)) {
|
||||
return "Error: sms count invalid";
|
||||
$this->errorMsg = "Error: sms count invalid";
|
||||
return false;
|
||||
}
|
||||
|
||||
foreach ($smsDatas as $sms) {
|
||||
@@ -48,35 +62,38 @@ class SmsController extends Controller {
|
||||
!array_key_exists("draft", $sms) ||
|
||||
!array_key_exists("date", $sms) || !array_key_exists("seen", $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"])) {
|
||||
return "Error: Invalid SMS ID";
|
||||
$this->errorMsg = "Error: Invalid SMS ID";
|
||||
return 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") {
|
||||
return "Error: Invalid SMS Seen state";
|
||||
$this->errorMsg = "Error: Invalid SMS Seen state";
|
||||
return 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) {
|
||||
return "Error: Invalid SMS date";
|
||||
$this->errorMsg = "Error: Invalid SMS date";
|
||||
return false;
|
||||
}
|
||||
|
||||
// @ TODO: test address and body ?
|
||||
}
|
||||
|
||||
$smsMgr = new SmsMapper();
|
||||
$smsMgr->saveAll($smsDAtas);
|
||||
return "OK";
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user