src/app/shared.module.ts
import { ReportService } from './services/report.service';
import { PhoneService } from './services/phone.service';
import { BankAccountService } from './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 { JwtHelperService } from '@auth0/angular-jwt';
import { AccountLabelComponent } from './account-label/account-label.component';
import { AuthenticateInputComponent } from './authenticate-input';
import { AuthenticateMethodComponent } from './authenticate-method';
import { AuthenticateRepeatComponent } from './authenticate-repeat';
import { AuthenticateRequestComponent } from './authenticate-request';
import {
AppStateGuard,
AuthGuard,
LogOutGuard,
RequireMultiFactorGuard,
RequireSecretWordGuard,
SkipSecretWordGuard,
} from './guards';
import { LimitsGuard } from './guards/limits.guard';
import { SkipLoginGuard } from './guards/skip-login.guard';
import { SkipMultiFactorGuard } from './guards/skip-multi-factor.guard';
import { SsoGuard } from './guards/sso.guard';
import { LoaderModule } from './loader/loader.module';
import {
MaskPipe,
PaymentsFilterPipe,
PhonePipe,
TemplateDictionaryFilterPipe,
TemplatesFilterPipe,
} from './pipes';
import {
DeliveryDateService,
MaterialService,
MultiFactorService,
PaymentService,
PaymentStatusService,
StorageService,
FeatureFlagService,
TemplateService,
} from './services';
import { AuthService } from './services/auth.service';
import { DeviceService } from './services/device.service';
import { LimitsService } from './services/limits.service';
import { LogService } from './services/log.service';
import { SsoComponent } from './sso/sso.component';
import { ErrorStore, LoaderStore } from './stores';
import { AppState } from './stores/app-state.store';
import { DuplicatePaymentGuard } from './guards/duplicate-payment.guard';
const helper = new JwtHelperService();
@NgModule({
imports: [CommonModule, FormsModule, HttpClientModule, LoaderModule],
declarations: [
MaskPipe,
PaymentsFilterPipe,
PhonePipe,
TemplateDictionaryFilterPipe,
TemplatesFilterPipe,
AuthenticateRepeatComponent,
AuthenticateRequestComponent,
AuthenticateMethodComponent,
AuthenticateInputComponent,
AccountLabelComponent,
SsoComponent,
],
exports: [
MaskPipe,
PaymentsFilterPipe,
PhonePipe,
TemplateDictionaryFilterPipe,
TemplatesFilterPipe,
AuthenticateRepeatComponent,
AuthenticateRequestComponent,
AuthenticateMethodComponent,
AuthenticateInputComponent,
AccountLabelComponent,
SsoComponent,
],
providers: [
{ provide: JwtHelperService, useValue: helper },
SkipLoginGuard,
SsoGuard,
LogService,
AppStateGuard,
AuthGuard,
LogOutGuard,
ErrorStore,
RequireMultiFactorGuard,
SkipMultiFactorGuard,
RequireSecretWordGuard,
SkipSecretWordGuard,
DuplicatePaymentGuard,
AuthService,
MaterialService,
StorageService,
LoaderStore,
TemplateService,
PaymentService,
MultiFactorService,
PaymentStatusService,
DeviceService,
LimitsService,
LimitsGuard,
BankAccountService,
PhoneService,
ReportService,
DeliveryDateService,
FeatureFlagService
],
})
export class SharedModule {}