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(ISummitService::class, SummitService::class); App::singleton(ISpeakerService::class, SpeakerService::class); App::singleton(IPresentationService::class, PresentationService::class); App::singleton('services\model\IChatTeamService', 'services\model\ChatTeamService'); App::singleton(IEventbriteAPI::class, function(){ $api = new EventbriteAPI(); $api->setCredentials(array('token' => Config::get("server.eventbrite_oauth2_personal_token", null))); return $api; }); App::singleton(IPushNotificationApi::class, function(){ $api = new FireBaseGCMApi(Config::get("server.firebase_gcm_server_key", null)); return $api; }); App::singleton ( IAttendeeService::class, AttendeeService::class ); App::singleton ( ICalendarSyncRemoteFacadeFactory::class, CalendarSyncRemoteFacadeFactory::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' ); App::singleton( IMemberService::class, MemberService::class ); App::singleton ( ISummitPromoCodeService::class, SummitPromoCodeService::class ); App::singleton ( ISummitEventTypeService::class, SummitEventTypeService::class ); App::singleton ( ISummitTrackService::class, SummitTrackService::class ); App::singleton ( ILocationService::class, SummitLocationService::class ); App::singleton ( IFolderService::class, FolderService::class ); App::singleton ( IRSVPTemplateService::class, RSVPTemplateService::class ); App::singleton ( ISummitTicketTypeService::class, SummitTicketTypeService::class ); App::singleton ( IPresentationCategoryGroupService::class, PresentationCategoryGroupService::class ); App::singleton( ISummitPushNotificationService::class, SummitPushNotificationService::class ); App::singleton(IGeoCodingAPI::class, function(){ return new GoogleGeoCodingAPI ( Config::get("server.google_geocoding_api_key", null) ); }); App::singleton( ISummitSelectionPlanService::class, SummitSelectionPlanService::class ); } }