Commit e3983e78 by Muhammad Usman

auth module code refactoring

parent 7bbd37e6
...@@ -4,8 +4,8 @@ import { takeUntil } from 'rxjs/operators'; ...@@ -4,8 +4,8 @@ import { takeUntil } from 'rxjs/operators';
import { BaseComponent } from '../../base/base.component'; import { BaseComponent } from '../../base/base.component';
import { EXTERNAL_LINKS } from '../../config/constants'; import { EXTERNAL_LINKS } from '../../config/constants';
import { AuthService } from '../../services/auth.service'; import { AuthService } from '../../services/auth.service';
import { HelperService } from '../../services/helper.service';
import { ToasterService } from '../../services/toaster.service'; import { ToasterService } from '../../services/toaster.service';
import { UtilsService } from '../../../oneit/services/utils.service';
@Component({ @Component({
selector: 'app-forgot-password', selector: 'app-forgot-password',
...@@ -23,30 +23,29 @@ export class ForgotPasswordComponent extends BaseComponent { ...@@ -23,30 +23,29 @@ export class ForgotPasswordComponent extends BaseComponent {
@ViewChild('form') form: NgForm; @ViewChild('form') form: NgForm;
constructor( constructor(
private hs: HelperService, private toasterService: ToasterService,
private ts: ToasterService, private authService: AuthService,
private as: AuthService private utilsService: UtilsService
) { ) {
super(); super();
} }
forgot(): void { forgot(): void {
if (this.form.invalid) { if (this.form.invalid) {
return this.hs.validateAllFormFields(this.form); return this.utilsService.showAllErrorMessages();
} }
this.isLoading = true; this.isLoading = true;
this.as.forgot(this.forgotForm) this.authService.forgot(this.forgotForm)
.pipe(takeUntil(this.componentInView)) .pipe(takeUntil(this.componentInView))
.subscribe(response => { .subscribe(response => {
this.isLoading = false; this.isLoading = false;
this.hs.oneItHttpResponse(response);
if (response.emailSent) { if (response.emailSent) {
this.emailSent = true; this.emailSent = true;
this.ts.success('Please check your email for instructions.'); this.toasterService.success('Please check your email for instructions.');
} }
}, err => { }, err => {
this.isLoading = false; this.isLoading = false;
this.hs.handleHttpError(err); this.utilsService.handleError(err);
}); });
} }
......
...@@ -6,7 +6,6 @@ import { AppService } from '../../../app.service'; ...@@ -6,7 +6,6 @@ import { AppService } from '../../../app.service';
import { BaseComponent } from '../../base/base.component'; import { BaseComponent } from '../../base/base.component';
import { EXTERNAL_LINKS } from '../../config/constants'; import { EXTERNAL_LINKS } from '../../config/constants';
import { AuthService } from '../../services/auth.service'; import { AuthService } from '../../services/auth.service';
import { HelperService } from '../../services/helper.service';
import { UtilsService } from '../../../oneit/services/utils.service'; import { UtilsService } from '../../../oneit/services/utils.service';
@Component({ @Component({
...@@ -26,40 +25,38 @@ export class LoginComponent extends BaseComponent { ...@@ -26,40 +25,38 @@ export class LoginComponent extends BaseComponent {
@ViewChild('form') form: NgForm; @ViewChild('form') form: NgForm;
constructor( constructor(
private hs: HelperService, private authService: AuthService,
private as: AuthService, private router: Router,
private r: Router, private appService: AppService,
private aps: AppService, private utilsService: UtilsService
private us: UtilsService
) { ) {
super(); super();
} }
login(): void { login(): void {
if (this.form.invalid) { if (this.form.invalid) {
return this.us.showAllErrorMessages(); return this.utilsService.showAllErrorMessages();
} }
this.isLoading = true; this.isLoading = true;
this.as.login(this.loginForm) this.authService.login(this.loginForm)
.pipe(takeUntil(this.componentInView)) .pipe(takeUntil(this.componentInView))
.subscribe(response => { .subscribe(response => {
this.isLoading = false; this.isLoading = false;
this.hs.oneItHttpResponse(response);
if (response.status === 'error') { if (response.status === 'error') {
this.loginForm.password = ''; this.loginForm.password = '';
return; return;
} }
this.r.navigate(['/my-career-web/dashboard']); this.router.navigate(['/my-career-web/dashboard']);
}, err => { }, err => {
this.hs.handleHttpError(err); this.utilsService.handleError(err);
this.isLoading = false; this.isLoading = false;
}); });
} }
socialMediaLogin(type: 'google' | 'linkedIn') { socialMediaLogin(type: 'google' | 'linkedIn') {
this.isLoading = true; this.isLoading = true;
this.aps.socicalMediaLogin(type) this.appService.socicalMediaLogin(type)
.pipe(takeUntil(this.componentInView)) .pipe(takeUntil(this.componentInView))
.subscribe(data => { .subscribe(data => {
this.isLoading = false; this.isLoading = false;
...@@ -70,7 +67,7 @@ export class LoginComponent extends BaseComponent { ...@@ -70,7 +67,7 @@ export class LoginComponent extends BaseComponent {
}, },
err => { err => {
this.isLoading = false; this.isLoading = false;
this.hs.handleHttpError(err); this.utilsService.handleError(err);
} }
) )
} }
......
...@@ -5,8 +5,8 @@ import { takeUntil } from 'rxjs/operators'; ...@@ -5,8 +5,8 @@ import { takeUntil } from 'rxjs/operators';
import { BaseComponent } from '../../base/base.component'; import { BaseComponent } from '../../base/base.component';
import { EXTERNAL_LINKS } from '../../config/constants'; import { EXTERNAL_LINKS } from '../../config/constants';
import { AuthService } from '../../services/auth.service'; import { AuthService } from '../../services/auth.service';
import { HelperService } from '../../services/helper.service';
import { ToasterService } from '../../services/toaster.service'; import { ToasterService } from '../../services/toaster.service';
import { UtilsService } from '../../../oneit/services/utils.service';
@Component({ @Component({
selector: 'app-register', selector: 'app-register',
...@@ -32,36 +32,34 @@ export class RegisterComponent extends BaseComponent { ...@@ -32,36 +32,34 @@ export class RegisterComponent extends BaseComponent {
@ViewChild('form') form: NgForm; @ViewChild('form') form: NgForm;
constructor( constructor(
private hs: HelperService, private authService: AuthService,
private as: AuthService, private toasterService: ToasterService,
private ts: ToasterService, private router: Router,
private r: Router private utilsService: UtilsService
) { ) {
super(); super();
} }
register(): void { register(): void {
if (this.form.invalid) { if (this.form.invalid) {
return this.hs.validateAllFormFields(this.form); return this.utilsService.showAllErrorMessages();
} }
this.registerForm.email = this.registerForm.username; this.registerForm.email = this.registerForm.username;
if (!this.registerForm.was_referred) { if (!this.registerForm.was_referred) {
delete this.registerForm.ReferralCode; delete this.registerForm.ReferralCode;
} }
this.isLoading = true; this.isLoading = true;
this.as.register(this.registerForm) this.authService.register(this.registerForm)
.pipe(takeUntil(this.componentInView)) .pipe(takeUntil(this.componentInView))
.subscribe(response => { .subscribe(response => {
this.isLoading = false; this.isLoading = false;
this.hs.oneItHttpResponse(response);
if (response.registered) { if (response.registered) {
this.ts.success('Registration successful'); this.toasterService.success('Registration successful');
this.r.navigate(['/my-career-web/dashboard']); this.router.navigate(['/my-career-web/dashboard']);
} }
}, err => { }, err => {
this.isLoading = false; this.isLoading = false;
this.hs.handleHttpError(err); this.utilsService.handleError(err);
}); });
} }
......
...@@ -3,6 +3,7 @@ import { Component, OnInit } from '@angular/core'; ...@@ -3,6 +3,7 @@ import { Component, OnInit } from '@angular/core';
import { MsgsService } from '../../../oneit/services/msgs.service'; import { MsgsService } from '../../../oneit/services/msgs.service';
import { takeUntil } from 'rxjs/operators'; import { takeUntil } from 'rxjs/operators';
import { BaseComponent } from '../../base/base.component'; import { BaseComponent } from '../../base/base.component';
import { ToasterService } from '../../services/toaster.service';
@Component({ @Component({
selector: 'app-wrapper', selector: 'app-wrapper',
...@@ -21,7 +22,8 @@ import { BaseComponent } from '../../base/base.component'; ...@@ -21,7 +22,8 @@ import { BaseComponent } from '../../base/base.component';
export class WrapperComponent extends BaseComponent implements OnInit { export class WrapperComponent extends BaseComponent implements OnInit {
constructor( constructor(
private msgService: MsgsService private msgService: MsgsService,
private toasterService: ToasterService
) { ) {
super(); super();
} }
...@@ -29,8 +31,15 @@ export class WrapperComponent extends BaseComponent implements OnInit { ...@@ -29,8 +31,15 @@ export class WrapperComponent extends BaseComponent implements OnInit {
ngOnInit() { ngOnInit() {
this.msgService.errorMsgsUpdated this.msgService.errorMsgsUpdated
.pipe(takeUntil(this.componentInView)) .pipe(takeUntil(this.componentInView))
.subscribe(error => { .subscribe(errors => {
// console.log(error); console.log(errors);
if(Array.isArray(errors)) {
errors.forEach((err, i) => {
if (i > 0) {
this.toasterService.error(err.detail);
}
})
}
}); });
} }
......
...@@ -18,25 +18,53 @@ export class AuthService { ...@@ -18,25 +18,53 @@ export class AuthService {
login(formData): Observable<any> { login(formData): Observable<any> {
formData.environment = this.env; formData.environment = this.env;
return this.apiService.post('svc/Login', formData); return this.apiService.post('svc/Login', formData)
.map(
data => {
if (this.utilsService.isSuccessfulResponse(data)) {
return data;
}
}
);
} }
forgot(formData): Observable<any> { forgot(formData): Observable<any> {
formData.environment = this.env; formData.environment = this.env;
return this.apiService.post('svc/RequestPasswordReset', formData); return this.apiService.post('svc/RequestPasswordReset', formData)
.map(
data => {
if (this.utilsService.isSuccessfulResponse(data)) {
return data;
}
}
);
} }
register(formData): Observable<any> { register(formData): Observable<any> {
formData.environment = this.env; formData.environment = this.env;
return this.apiService.post('svc/RegisterMyCareerUser', formData); return this.apiService.post('svc/RegisterMyCareerUser', formData)
.map(
data => {
if (this.utilsService.isSuccessfulResponse(data)) {
return data;
}
}
);
} }
reset(formData): Observable<any> { reset(formData): Observable<any> {
formData.environment = this.env; formData.environment = this.env;
return this.apiService.post('svc/PasswordChange', formData); return this.apiService.post('svc/PasswordChange', formData)
.map(
data => {
if (this.utilsService.isSuccessfulResponse(data)) {
return data;
}
}
);
} }
logout(formData = {} as any): Observable<any> { logout(formData = {} as any): Observable<any> {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment