59 lines
1.7 KiB
PHP
59 lines
1.7 KiB
PHP
<?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->validateOnly, $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";
|
|
}
|
|
|
|
public function actionCheckoutKey($cardNumber, $keyNumber){
|
|
$doorManager = new DoorManager();
|
|
$doorManager->checkoutKey($cardNumber,$keyNumber);
|
|
}
|
|
|
|
public function actionRevokeKey($cardNumber, $keyNumber){
|
|
$doorManager = new DoorManager();
|
|
$doorManager->revokeKey($cardNumber,$keyNumber);
|
|
}
|
|
|
|
}
|