import { AbpHttpInterceptor } from '@abp/abpHttpInterceptor';
import { HTTP_INTERCEPTORS } from '@angular/common/http';
import { NgModule } from '@angular/core';
import * as ApiServiceProxies from './service-proxies';

@NgModule({
    providers: [
        ApiServiceProxies.AuditLogServiceProxy,
        ApiServiceProxies.CachingServiceProxy,
        ApiServiceProxies.ChatServiceProxy,
        ApiServiceProxies.CommonLookupServiceProxy,
        ApiServiceProxies.EditionServiceProxy,
        ApiServiceProxies.FriendshipServiceProxy,
        ApiServiceProxies.HostSettingsServiceProxy,
        ApiServiceProxies.InstallServiceProxy,
        ApiServiceProxies.LanguageServiceProxy,
        ApiServiceProxies.NotificationServiceProxy,
        ApiServiceProxies.OrganizationUnitServiceProxy,
        ApiServiceProxies.PermissionServiceProxy,
        ApiServiceProxies.ProfileServiceProxy,
        ApiServiceProxies.RoleServiceProxy,
        ApiServiceProxies.SessionServiceProxy,
        ApiServiceProxies.TenantServiceProxy,
        ApiServiceProxies.TenantDashboardServiceProxy,
        ApiServiceProxies.TenantSettingsServiceProxy,
        ApiServiceProxies.TimingServiceProxy,
        ApiServiceProxies.UserServiceProxy,
        ApiServiceProxies.UserLinkServiceProxy,
        ApiServiceProxies.UserLoginServiceProxy,
        ApiServiceProxies.WebLogServiceProxy,
        ApiServiceProxies.AccountServiceProxy,
        ApiServiceProxies.TokenAuthServiceProxy,
        ApiServiceProxies.TenantRegistrationServiceProxy,
        ApiServiceProxies.HostDashboardServiceProxy,
        ApiServiceProxies.PaymentServiceProxy,
        ApiServiceProxies.DemoUiComponentsServiceProxy,
        ApiServiceProxies.InvoiceServiceProxy,
        ApiServiceProxies.SubscriptionServiceProxy,
        ApiServiceProxies.InstallServiceProxy,
        ApiServiceProxies.UiCustomizationSettingsServiceProxy,
        ApiServiceProxies.PayPalPaymentServiceProxy,
        ApiServiceProxies.StripePaymentServiceProxy,
        
        //for shipping
        
        ApiServiceProxies.TimeZoneServiceProxy,
        ApiServiceProxies.ProximityServiceProxy,
        ApiServiceProxies.VehicleLocationServiceProxy,
        ApiServiceProxies.UserLocationServiceProxy,

        //for shipping

        ApiServiceProxies.VehicleServiceProxy,
        ApiServiceProxies.FleetServiceProxy,
        ApiServiceProxies.FleetUserServiceProxy,
        ApiServiceProxies.FleetVehicleServiceProxy,
       
        ApiServiceProxies.OrderStatusTypeServiceProxy,
        ApiServiceProxies.TagTypeServiceProxy,
        ApiServiceProxies.TagServiceProxy,
        ApiServiceProxies.OrderServiceProxy,
        ApiServiceProxies.LocationServiceProxy,

        // ApiServiceProxies.LocationPackageServiceProxy,
        // ApiServiceProxies.CurrencyServiceProxy,

        ApiServiceProxies.RouteServiceProxy,
        ApiServiceProxies.LocationServiceProxy,
        ApiServiceProxies.VehicleServiceProxy,
        ApiServiceProxies.RouteTemplateServiceProxy,
        ApiServiceProxies.RouteTemplateTypeServiceProxy,
        ApiServiceProxies.AddressTypeServiceProxy,
        ApiServiceProxies.ContactServiceProxy,
        ApiServiceProxies.AddressServiceProxy,
        ApiServiceProxies.OrderPackageServiceProxy,
        ApiServiceProxies.OrderStatusServiceProxy,
        ApiServiceProxies.PhoneServiceProxy,
        ApiServiceProxies.EmailServiceProxy,
        
        ApiServiceProxies.PostalCodeServiceProxy,

        ApiServiceProxies.RouteTemplateTypeServiceProxy,
        ApiServiceProxies.ShippingPackageServiceProxy,

        ApiServiceProxies.EmployeeReviewServiceProxy,
        ApiServiceProxies.TimeSheetServiceProxy,
        ApiServiceProxies.DriverIncidentServiceProxy,
        ApiServiceProxies.IncidentServiceProxy,
        ApiServiceProxies.IncidentImageServiceProxy,
        ApiServiceProxies.ImageServiceProxy,
        ApiServiceProxies.GeocodeServiceProxy,
        ApiServiceProxies.ReviewServiceProxy,
        ApiServiceProxies.DriversServiceProxy,
        ApiServiceProxies.VendorsServiceProxy,

        // ApiServiceProxies.LocationPackageServiceProxy,

        ApiServiceProxies.ControllerRouteServiceProxy,
        { provide: HTTP_INTERCEPTORS, useClass: AbpHttpInterceptor, multi: true }
    ]
})
export class ServiceProxyModule { }
