add customer api

This commit is contained in:
2019-10-08 22:33:25 +02:00
committed by Roland Schneider
parent 9aee187d11
commit 1300bfc752
33 changed files with 1164 additions and 246 deletions

View File

@@ -0,0 +1,67 @@
<?php
/**
* Created by IntelliJ IDEA.
* User: rocho
* Date: 2018.08.29.
* Time: 21:58
*/
namespace customerapi\controllers;
use common\manager\EventRegistrationManager;
use common\models\CardEventRegistrationForm;
use common\models\Customer;
use customerapi\models\available\EventInterval;
use customerapi\models\available\EventRegistrationAvailable;
use Throwable;
use Yii;
/** @noinspection PhpUnused */
class EventRegistrationController extends CustomerApiController
{
/** @noinspection PhpUnused */
public function actionIndex()
{
$interval = EventInterval::createInterval();
$registrations = EventRegistrationAvailable::find()
->innerJoinWith('event')
->andWhere(['and',
['>=', 'event.start', $interval->firstActiveDate->getTimestamp()],
['<', 'event.start', $interval->lastActiveDate->getTimestamp()],
['id_customer' => Yii::$app->user->getId()]
])->all();
return $this->asJson(
$registrations
);
}
/**
* @noinspection PhpUnused
* @param $idEvent
* @throws Throwable
*/
public function actionRegister($idEvent) {
/** @var Customer $customer */
$customer = Yii::$app->user->getIdentity();
$card =$customer->card;
$form = new CardEventRegistrationForm();
$form->event_id = $idEvent;
$form->card_number = $card->number;
$manager = new EventRegistrationManager();
$manager->registerCard($form);
return $form->registration;
}
}