unioil-mobile-api/app/Providers/AppServiceProvider.php

149 lines
5.5 KiB
PHP

<?php
namespace App\Providers;
//use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;
use Laravel\Passport\Passport;
use Illuminate\Support\Facades\Gate;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* The policy mappings for the application.
*
* @var array
*/
protected $policies = [
'App\Model' => 'App\Policies\ModelPolicy',
];
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Schema::defaultStringLength(128);
$this->registerPolicies();
// Passport::routes();
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//for HTTP Status Code module
$this->app->bind('App\Contracts\HttpStatusCodeInterface', 'App\Helpers\HttpStatusCode');
//for USER module
$this->app->bind('App\Contracts\UserResourceInterface', 'App\Services\UserService');
//for ADMIN module
$this->app->bind('App\Contracts\AdminResourceInterface', 'App\Services\AdminService');
//for Password Logs module
$this->app->bind('App\Contracts\PasswordLogsResourceInterface', 'App\Services\PasswordLogsService');
//for SystemPreference module
$this->app->bind('App\Contracts\SystemPreferenceResourceInterface', 'App\Services\SystemPreferenceService');
//for Loyalty Card module
$this->app->bind('App\Contracts\LoyaltyCardResourceInterface', 'App\Services\LoyaltyCardService');
//for Personal Details module
$this->app->bind('App\Contracts\PersonalDetailsResourceInterface', 'App\Services\PersonalDetailsService');
//for TopUp module
$this->app->bind('App\Contracts\TopUpResourceInterface', 'App\Services\TopUpService');
//for Admin Logs
$this->app->bind('App\Contracts\AdminActionLogsInterface', 'App\Services\AdminActionLogsService');
//for Card Type module
$this->app->bind('App\Contracts\CardTypeResourceInterface', 'App\Services\CardTypeService');
//for Promotion module
$this->app->bind('App\Contracts\PromotionResourceInterface', 'App\Services\PromotionService');
//for Station module
$this->app->bind('App\Contracts\StationResourceInterface', 'App\Services\StationService');
//for Promotion Stations module
$this->app->bind('App\Contracts\PromotionStationsInterface', 'App\Services\PromotionStationsService');
//for Payment module
$this->app->bind('App\Contracts\PaymentResourceInterface', 'App\Services\PaymentService');
//for Ratings module
$this->app->bind('App\Contracts\RatingsResourceInterface', 'App\Services\RatingsService');
//for Photo Slider module
$this->app->bind('App\Contracts\PhotoSliderResourceInterface', 'App\Services\PhotoSliderService');
//for Terms And Privacy
$this->app->bind('App\Contracts\TermsAndPrivacyResourceInterface', 'App\Services\TermsAndPrivacyService');
//for Mobile Usage module
$this->app->bind('App\Contracts\MobileAnalyticsResourceInterface', 'App\Services\MabileAnalyticsService');
//for Registration
$this->app->bind('App\Contracts\RegistrationResourceInterface', 'App\Services\RegistrationService');
//for OTP Logs
$this->app->bind('App\Contracts\OtpLogResourceInterface', 'App\Services\OtpLogService');
//for Lcard Action Logs
$this->app->bind('App\Contracts\LcardActionLogsInterface', 'App\Services\LcardActionLogsService');
//for Otp Attempts
$this->app->bind('App\Contracts\OtpAttemptsResourceInterface', 'App\Services\OtpAttemptsService');
//for City And Province
$this->app->bind('App\Contracts\CityAndProvinceResourceInterface', 'App\Services\CityAndProvinceService');
//for Vehicle Own
$this->app->bind('App\Contracts\CodeVehicleOwnResourceInterface', 'App\Services\CodeVehicleOwnService');
//for Fuel Type
$this->app->bind('App\Contracts\CodeFuelTypeResourceInterface', 'App\Services\CodeFuelTypeService');
//for Civil Status
$this->app->bind('App\Contracts\CodeCivilStatusResourceInterface', 'App\Services\CodeCivilStatusService');
//for Gender
$this->app->bind('App\Contracts\CodeGenderResourceInterface', 'App\Services\CodeGenderService');
//for fuel tracker
$this->app->bind('App\Contracts\FuelTrackerResourceInterface', 'App\Services\FuelTrackerService');
//for Station Favorites
$this->app->bind('App\Contracts\StationFavoriteResourceInterface', 'App\Services\StationFavoriteService');
//for Products
$this->app->bind('App\Contracts\ProductDetailsResourceInterface', 'App\Services\ProductDetailsService');
//for Loyalty Card Sign up
$this->app->bind('App\Contracts\LoyaltyCardSignUpInterface', 'App\Services\LoyaltyCardSignUpService');
//for ID Number Type
$this->app->bind('App\Contracts\IDNumberTypeInterface', 'App\Services\IDNumberTypeService');
//for Sign Up API Calls
$this->app->bind('App\Contracts\SignUpAPICallsInterface', 'App\Services\SignUpAPICallsService');
//for Station Fuel Prices Interface
$this->app->bind('App\Contracts\StationFuelPricesInterface', 'App\Services\StationFuelPricesService');
//for Mpin Interface
$this->app->bind('App\Contracts\MpinCodesResourceInterface', 'App\Services\MpinCodesService');
}
}