src/app/shared.module.ts
import { ReportService } from './providers/services/report.service';
import { PhoneService } from './providers/services/phones.service';
import { BankAccountService } from './providers/services/bank-account.service';
import { CommonModule } from '@angular/common';
import { HttpClientModule } from '@angular/common/http';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
import { JwtHelperService } from '@auth0/angular-jwt';
import { AtmInputComponent } from './components/atm-input/atm-input.component';
import { AuthenticateInputComponent } from './components/authenticate-input/authenticate-input.component';
import { AuthenticateMethodComponent } from './components/authenticate-method/authenticate-method.component';
import { AuthenticateRepeatComponent } from './components/authenticate-repeat/authenticate-repeat.component';
import { AuthenticateRequestComponent } from './components/authenticate-request/authenticate-request.component';
import { LoaderModule } from './components/loader/loader.module';
import { LoaderStore } from './components/loader/loader.store';
import { NoExternalAccountsComponent } from './components/no-external-accounts/no-external-accounts.component';
import { SsoComponent } from './components/sso/sso.component';
import { TemplateLabelComponent } from './components/templates/template-label/template-label.component';
import { TemplateMicroDepositNotificationComponent } from './components/templates/template-micro-deposit-notification';
import { HideDirective } from './directives/hide.directive';
import { MaskPipe, PaymentsFilterPipe, PhonePipe, TemplatesFilterPipe } from './pipes';
import { AppStateGuard } from './providers/guards/app-state.guard';
import { AuthGuard } from './providers/guards/auth.guard';
import { LimitsGuard } from './providers/guards/limits.guard';
import { LogOutGuard } from './providers/guards/log-out.guard';
import { PaymentRequiredGuard } from './providers/guards/payment-required.guard';
import { PlaidGuard } from './providers/guards/plaid.guard';
import { RequireMultiFactorGuard } from './providers/guards/require-multi-factor.guard';
import { SkipLoginGuard } from './providers/guards/skip-login.guard';
import { SsoGuard } from './providers/guards/sso.guard';
import { AuthService } from './providers/services/auth.service';
import { DeviceService } from './providers/services/device.service';
import { LimitsService } from './providers/services/limits.service';
import { LogService } from './providers/services/log.service';
import { MaterialService } from './providers/services/material.service';
import { MultiFactorService } from './providers/services/multi-factor.service';
import { PaymentStatusService } from './providers/services/payment-status.service';
import { PaymentService } from './providers/services/payment.service';
import { PlaidService } from './providers/services/plaid.service';
import { RoutingLookupService } from './providers/services/routing-lookup.service';
import { StorageService } from './providers/services/storage.service';
import { TemplateService } from './providers/services/template.service';
import { AppStateStore } from './providers/stores/app-state.store';
import { ErrorStore } from './providers/stores/error.store';
import { SessionStore } from './providers/stores/session.store';
import { FILogoService } from './providers/services/fi-logo.service';
import { DuplicatePaymentGuard } from './providers/guards/duplicate-payment.guard';
import { DeliveryDateService } from './providers/services/delivery-date.service';
import { CompositeRouteGuard } from './providers/guards/composite-route-guard';
const helper = new JwtHelperService();
@NgModule({
imports: [CommonModule, FormsModule, HttpClientModule, LoaderModule, RouterModule],
declarations: [
MaskPipe,
PaymentsFilterPipe,
PhonePipe,
TemplatesFilterPipe,
AuthenticateRepeatComponent,
AuthenticateRequestComponent,
AuthenticateMethodComponent,
AuthenticateInputComponent,
TemplateLabelComponent,
TemplateMicroDepositNotificationComponent,
SsoComponent,
NoExternalAccountsComponent,
HideDirective,
AtmInputComponent,
],
exports: [
MaskPipe,
PaymentsFilterPipe,
PhonePipe,
TemplatesFilterPipe,
AuthenticateRepeatComponent,
AuthenticateRequestComponent,
AuthenticateMethodComponent,
AuthenticateInputComponent,
TemplateLabelComponent,
TemplateMicroDepositNotificationComponent,
SsoComponent,
HideDirective,
NoExternalAccountsComponent,
AtmInputComponent,
],
providers: [
{ provide: JwtHelperService, useValue: helper },
MaskPipe,
LimitsService,
LimitsGuard,
PlaidGuard,
SkipLoginGuard,
SsoGuard,
DeviceService,
LogService,
AppStateGuard,
AuthGuard,
LogOutGuard,
ErrorStore,
RequireMultiFactorGuard,
DuplicatePaymentGuard,
PaymentRequiredGuard,
CompositeRouteGuard,
SessionStore,
AuthService,
MaterialService,
StorageService,
LoaderStore,
TemplateService,
AppStateStore,
PaymentService,
MultiFactorService,
PaymentStatusService,
PlaidService,
RoutingLookupService,
FILogoService,
DeliveryDateService,
BankAccountService,
PhoneService,
ReportService,
],
})
export class SharedModule {}