door manager
This commit is contained in:
49
rest/controllers/DoorController.php
Normal file
49
rest/controllers/DoorController.php
Normal file
@@ -0,0 +1,49 @@
|
||||
<?php /** @noinspection PhpUnused */
|
||||
|
||||
namespace rest\controllers;
|
||||
|
||||
use common\manager\DoorManager;
|
||||
use rest\models\DoorMoveForm;
|
||||
use Yii;
|
||||
use yii\web\BadRequestHttpException;
|
||||
|
||||
class DoorController extends RestController
|
||||
{
|
||||
|
||||
public function actionMove()
|
||||
{
|
||||
$formModel = new DoorMoveForm();
|
||||
if ($formModel->load(Yii::$app->request->post(),"") ) {
|
||||
if ( !$formModel->validate()){
|
||||
$keys = array_keys($formModel->getFirstErrors());
|
||||
throw new BadRequestHttpException("Invalid move request:". $formModel->getFirstErrors()[$keys[0]]);
|
||||
}
|
||||
$doorManager = new DoorManager();
|
||||
$doorManager->move($formModel->cardNumber,$formModel->device,$formModel->direction, $formModel->createdAt, $formModel->date);
|
||||
}
|
||||
return $formModel;
|
||||
}
|
||||
|
||||
public function actionReset($cardNumber){
|
||||
$doorManager = new DoorManager();
|
||||
$doorManager->resetLogs($cardNumber);
|
||||
}
|
||||
|
||||
|
||||
public function actionInfo($cardNumber){
|
||||
$doorManager = new DoorManager();
|
||||
return $doorManager->getInfo($cardNumber);
|
||||
}
|
||||
|
||||
public function actionCreateDoorLog(){
|
||||
$doorManager = new DoorManager();
|
||||
return $doorManager->createLog();
|
||||
}
|
||||
|
||||
public function actionPing(){
|
||||
\Yii::$app->response->statusCode = 204;
|
||||
echo "hello";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
24
rest/models/DoorMoveForm.php
Normal file
24
rest/models/DoorMoveForm.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace rest\models;
|
||||
|
||||
use yii\base\Model;
|
||||
|
||||
class DoorMoveForm extends Model
|
||||
{
|
||||
|
||||
public $cardNumber;
|
||||
public $device;
|
||||
public $direction;
|
||||
public $test;
|
||||
public $createdAt;
|
||||
public $date;
|
||||
|
||||
public function rules( ) {
|
||||
return [
|
||||
[ ['cardNumber', 'device', 'direction' ], 'required'],
|
||||
[ ['createdAt', 'date' ], 'string']
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user