door manager

This commit is contained in:
Schneider Roland
2022-05-04 19:41:18 +02:00
parent fb39d6599e
commit 946799a598
20 changed files with 8872 additions and 220 deletions

View 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";
}
}

View 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']
];
}
}