File

libs/rucken/ionic/src/lib/modules/auth-modal/auth-modal.service.ts

Constructor

constructor(authService: AuthService, errorsExtractor: ErrorsExtractor, tokenService: TokenService, modalsService: ModalsService, router: Router, document: any)

Methods

onOauthSignInSuccess
onOauthSignInSuccess(modal: AuthModalComponent, data: RedirectUrlDto)
Returns: void
onSignOutSuccess
onSignOutSuccess(modal: AuthModalComponent)
Returns: void
onSignOutAsync
onSignOutAsync()
Returns: void

Properties

authService
authService: AuthService
componentModal
componentModal: typeof IonicAuthModalComponent
Default value: IonicAuthModalComponent
document
document: any
errorsExtractor
errorsExtractor: ErrorsExtractor
modalsService
modalsService: ModalsService
router
router: Router
signInInfoMessage
signInInfoMessage: string
signInModalClass
signInModalClass: string
Default value: primary
signUpInfoMessage
signUpInfoMessage: string
tokenService
tokenService: TokenService
import { Inject, Injectable } from '@angular/core';
import { DOCUMENT } from '@angular/platform-browser';
import { Router } from '@angular/router';
import { AuthModalComponent, AuthModalService, AuthService, ErrorsExtractor, ModalsService, TokenService, translate, RedirectUrlDto } from '@rucken/core';
import { IonicModalsService } from '../modals/modals.service';
import { IonicAuthModalComponent } from './auth-modal.component';

@Injectable()
export class IonicAuthModalService extends AuthModalService {
  componentModal = IonicAuthModalComponent;
  signInInfoMessage: string;
  signUpInfoMessage: string;
  signInModalClass = 'primary';

  constructor(
    public authService: AuthService,
    public errorsExtractor: ErrorsExtractor,
    public tokenService: TokenService,
    public modalsService: ModalsService,
    public router: Router,
    @Inject(DOCUMENT) public document: any
  ) {
    super(authService, errorsExtractor, tokenService, modalsService);
  }
  onOauthSignInSuccess(modal: AuthModalComponent, data: RedirectUrlDto) {
    super.onOauthSignInSuccess(modal, data);
    this.document.location.href = data.redirect_uri;
  }
  onSignOutSuccess(modal: AuthModalComponent) {
    super.onSignOutSuccess(modal);
    this.router.navigate(['home']);
  }
  async onSignOutAsync() {
    try {
      const result = await (this.modalsService as IonicModalsService).confirmAsync({
        title: translate('Sign out'),
        message: translate('Do you really want to leave?')
      });
      if (result) {
        this.authService.signOut().subscribe(data => this.onSignOutSuccess(undefined));
      }
    } catch (error) {
      throw error;
    }
  }
}

results matching ""

    No results matching ""