openstackid-resources/app/Providers/EventServiceProvider.php
Sebastian Marcet 68cab449dc Added endpoint update track by summit
PUT /api/v1/summits/{id}/tracks/{track_id}

Payload

* title (sometimes|string|max:50)
* description (sometimes|string|max:500)
* code (sometimes|string|max:5)
* session_count (sometimes|integer)
* alternate_count (sometimes|integer)
* lightning_count (sometimes|integer)
* lightning_alternate_count (sometimes|integer)
* voting_visible (sometimes|boolean)
* chair_visible (sometimes|boolean)

Change-Id: I70ef15714b3620a351f138a7ea0bf723b70963f1
2018-02-22 22:56:17 -03:00

145 lines
6.0 KiB
PHP

<?php namespace App\Providers;
/**
* Copyright 2017 OpenStack Foundation
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
**/
use App\EntityPersisters\AdminSummitEventActionSyncWorkRequestPersister;
use App\EntityPersisters\AssetSyncRequestPersister;
use App\EntityPersisters\EntityEventPersister;
use App\Factories\AssetsSyncRequest\FileCreatedAssetSyncRequestFactory;
use App\Factories\CalendarAdminActionSyncWorkRequest\SummitEventDeletedCalendarSyncWorkRequestFactory;
use App\Factories\CalendarAdminActionSyncWorkRequest\SummitEventUpdatedCalendarSyncWorkRequestFactory;
use App\Factories\EntityEvents\MyFavoritesAddEntityEventFactory;
use App\Factories\EntityEvents\MyFavoritesRemoveEntityEventFactory;
use App\Factories\EntityEvents\MyScheduleAddEntityEventFactory;
use App\Factories\EntityEvents\MyScheduleRemoveEntityEventFactory;
use App\Factories\EntityEvents\PresentationMaterialCreatedEntityEventFactory;
use App\Factories\EntityEvents\PresentationMaterialDeletedEntityEventFactory;
use App\Factories\EntityEvents\PresentationMaterialUpdatedEntityEventFactory;
use App\Factories\EntityEvents\PresentationSpeakerCreatedEntityEventFactory;
use App\Factories\EntityEvents\PresentationSpeakerDeletedEntityEventFactory;
use App\Factories\EntityEvents\PresentationSpeakerUpdatedEntityEventFactory;
use App\Factories\EntityEvents\SummitEventCreatedEntityEventFactory;
use App\Factories\EntityEvents\SummitEventDeletedEntityEventFactory;
use App\Factories\EntityEvents\SummitEventUpdatedEntityEventFactory;
use App\Factories\EntityEvents\TrackUpdatedEntityEventFactory;
use App\Services\Utils\SCPFileUploader;
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
use Illuminate\Support\Facades\Event;
/**
* Class EventServiceProvider
* @package App\Providers
*/
final class EventServiceProvider extends ServiceProvider
{
/**
* The event listener mappings for the application.
*
* @var array
*/
protected $listen = [
'Illuminate\Database\Events\QueryExecuted' => [
'App\Listeners\QueryExecutedListener',
],
];
/**
* Register any other events for your application.
* @return void
*/
public function boot()
{
parent::boot();
Event::listen(\App\Events\MyScheduleAdd::class, function($event)
{
EntityEventPersister::persist(MyScheduleAddEntityEventFactory::build($event));
});
Event::listen(\App\Events\MyFavoritesAdd::class, function($event)
{
EntityEventPersister::persist(MyFavoritesAddEntityEventFactory::build($event));
});
Event::listen(\App\Events\MyScheduleRemove::class, function($event)
{
EntityEventPersister::persist(MyScheduleRemoveEntityEventFactory::build($event));
});
Event::listen(\App\Events\MyFavoritesRemove::class, function($event)
{
EntityEventPersister::persist(MyFavoritesRemoveEntityEventFactory::build($event));
});
Event::listen(\App\Events\SummitEventCreated::class, function($event)
{
EntityEventPersister::persist(SummitEventCreatedEntityEventFactory::build($event));
});
Event::listen(\App\Events\SummitEventUpdated::class, function($event)
{
EntityEventPersister::persist(SummitEventUpdatedEntityEventFactory::build($event));
AdminSummitEventActionSyncWorkRequestPersister::persist(SummitEventUpdatedCalendarSyncWorkRequestFactory::build($event));
});
Event::listen(\App\Events\SummitEventDeleted::class, function($event)
{
EntityEventPersister::persist(SummitEventDeletedEntityEventFactory::build($event));
$request = SummitEventDeletedCalendarSyncWorkRequestFactory::build($event);
if(!is_null($request))
AdminSummitEventActionSyncWorkRequestPersister::persist($request);
});
Event::listen(\App\Events\PresentationMaterialCreated::class, function($event)
{
EntityEventPersister::persist(PresentationMaterialCreatedEntityEventFactory::build($event));
});
Event::listen(\App\Events\PresentationMaterialUpdated::class, function($event)
{
EntityEventPersister::persist(PresentationMaterialUpdatedEntityEventFactory::build(($event)));
});
Event::listen(\App\Events\PresentationMaterialDeleted::class, function($event)
{
EntityEventPersister::persist(PresentationMaterialDeletedEntityEventFactory::build($event));
});
Event::listen(\App\Events\FileCreated::class, function($event)
{
SCPFileUploader::upload($event);
AssetSyncRequestPersister::persist(FileCreatedAssetSyncRequestFactory::build($event));
});
Event::listen(\App\Events\PresentationSpeakerCreated::class, function($event)
{
EntityEventPersister::persist_list(PresentationSpeakerCreatedEntityEventFactory::build($event));
});
Event::listen(\App\Events\PresentationSpeakerUpdated::class, function($event)
{
EntityEventPersister::persist_list(PresentationSpeakerUpdatedEntityEventFactory::build($event));
});
Event::listen(\App\Events\PresentationSpeakerDeleted::class, function($event)
{
EntityEventPersister::persist_list(PresentationSpeakerDeletedEntityEventFactory::build($event));
});
Event::listen(\App\Events\TrackUpdated::class, function($event)
{
EntityEventPersister::persist_list(TrackUpdatedEntityEventFactory::build($event));
});
}
}