openstackid-resources/app/Services/ServicesProvider.php
Sebastian Marcet 1c0b1a24e4 Added new endpoint add attendee by summit
POST /api/v1/summits/{id}/attendees

payload
* member_id ( int | required )
* share_contact_info ( boolean | optional )
* summit_hall_checked_in ( boolean | optional )
* summit_hall_checked_in_date ( epoch | optional )

Change-Id: Ie71d33941f8cc2dbe74446eefc747e306025f17f
2018-01-15 11:35:25 -03:00

124 lines
4.6 KiB
PHP

<?php namespace services;
/**
* Copyright 2015 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\Services\Model\AttendeeService;
use App\Services\Model\IAttendeeService;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\ServiceProvider;
use ModelSerializers\BaseSerializerTypeSelector;
use ModelSerializers\ISerializerTypeSelector;
use services\apis\EventbriteAPI;
use services\apis\FireBaseGCMApi;
/***
* Class ServicesProvider
* @package services
*/
class ServicesProvider extends ServiceProvider
{
protected $defer = false;
public function boot()
{
}
public function register()
{
App::singleton('libs\utils\ICacheService', 'services\utils\RedisCacheService');
App::singleton(\libs\utils\ITransactionService::class, function(){
return new \services\utils\DoctrineTransactionService('ss');
});
App::singleton(\libs\utils\IEncryptionService::class, function(){
return new \services\utils\EncryptionService(
Config::get("server.ss_encrypt_key", ''),
Config::get("server.ss_encrypt_cypher", '')
);
});
// setting facade
$this->app['encryption'] = App::share(function ($app) {
return new \services\utils\EncryptionService(
Config::get("server.ss_encrypt_key", ''),
Config::get("server.ss_encrypt_cypher", '')
);
});
App::singleton(ISerializerTypeSelector::class, BaseSerializerTypeSelector::class);
App::singleton('services\model\ISummitService', 'services\model\SummitService');
App::singleton('services\model\ISpeakerService', 'services\model\SpeakerService');
App::singleton('services\model\IPresentationService', 'services\model\PresentationService');
App::singleton('services\model\IChatTeamService', 'services\model\ChatTeamService');
App::singleton('services\apis\IEventbriteAPI', function(){
$api = new EventbriteAPI();
$api->setCredentials(array('token' => Config::get("server.eventbrite_oauth2_personal_token", null)));
return $api;
});
App::singleton('services\apis\IPushNotificationApi', function(){
$api = new FireBaseGCMApi(Config::get("server.firebase_gcm_server_key", null));
return $api;
});
App::singleton
(
IAttendeeService::class,
AttendeeService::class
);
// work request pre processors
App::singleton
(
'App\Services\Model\Strategies\ICalendarSyncWorkRequestPreProcessorStrategyFactory',
'App\Services\Model\Strategies\CalendarSyncWorkRequestPreProcessorStrategyFactory'
);
App::when('App\Services\Model\MemberActionsCalendarSyncPreProcessor')
->needs('App\Services\Model\ICalendarSyncWorkRequestQueueManager')
->give('App\Services\Model\MemberScheduleWorkQueueManager');
App::when('App\Services\Model\AdminActionsCalendarSyncPreProcessor')
->needs('App\Services\Model\ICalendarSyncWorkRequestQueueManager')
->give('App\Services\Model\AdminScheduleWorkQueueManager');
// work request process services
App::when('App\Services\Model\MemberActionsCalendarSyncProcessingService')
->needs('App\Services\Model\ICalendarSyncWorkRequestPreProcessor')
->give('App\Services\Model\MemberActionsCalendarSyncPreProcessor');
App::singleton
(
'App\Services\Model\IMemberActionsCalendarSyncProcessingService',
'App\Services\Model\MemberActionsCalendarSyncProcessingService'
);
App::when('App\Services\Model\AdminActionsCalendarSyncProcessingService')
->needs('App\Services\Model\ICalendarSyncWorkRequestPreProcessor')
->give('App\Services\Model\AdminActionsCalendarSyncPreProcessor');
App::singleton
(
'App\Services\Model\IAdminActionsCalendarSyncProcessingService',
'App\Services\Model\AdminActionsCalendarSyncProcessingService'
);
}
}