Added per-component subscriptions. Closes #734

This commit is contained in:
James Brooks
2016-01-10 15:54:54 +00:00
committed by James Brooks
parent e5c137f82b
commit ac3888f7c8
29 changed files with 620 additions and 17 deletions

View File

@@ -13,7 +13,9 @@ namespace CachetHQ\Cachet\Http\Controllers\Api;
use CachetHQ\Cachet\Bus\Commands\Subscriber\SubscribeSubscriberCommand;
use CachetHQ\Cachet\Bus\Commands\Subscriber\UnsubscribeSubscriberCommand;
use CachetHQ\Cachet\Bus\Commands\Subscriber\UnsubscribeSubscriptionCommand;
use CachetHQ\Cachet\Models\Subscriber;
use CachetHQ\Cachet\Models\Subscription;
use GrahamCampbell\Binput\Facades\Binput;
use Illuminate\Database\QueryException;
use Illuminate\Support\Facades\Request;
@@ -41,7 +43,7 @@ class SubscriberController extends AbstractApiController
public function postSubscribers()
{
try {
$subscriber = dispatch(new SubscribeSubscriberCommand(Binput::get('email'), Binput::get('verify', false)));
$subscriber = dispatch(new SubscribeSubscriberCommand(Binput::get('email'), Binput::get('verify', false), null));
} catch (QueryException $e) {
throw new BadRequestHttpException();
}
@@ -62,4 +64,18 @@ class SubscriberController extends AbstractApiController
return $this->noContent();
}
/**
* Delete a subscriber.
*
* @param \CachetHQ\Cachet\Models\Subscriber $subscriber
*
* @return \Illuminate\Http\JsonResponse
*/
public function deleteSubscription(Subscription $subscriber)
{
dispatch(new UnsubscribeSubscriptionCommand($subscriber));
return $this->noContent();
}
}