Skip to content

Commit 2ef9133

Browse files
feat(services): refactor services to classes
1 parent c0ff39e commit 2ef9133

15 files changed

Lines changed: 7063 additions & 20793 deletions

File tree

package-lock.json

Lines changed: 7024 additions & 20746 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@
9393
"standard-version": "9.5.0",
9494
"stylelint": "14.16.1",
9595
"stylelint-config-prettier": "9.0.4",
96-
"stylelint-config-recess-order": "4.0.0",
96+
"stylelint-config-recess-order": "3.1.0",
9797
"stylelint-config-standard": "30.0.1",
9898
"stylelint-order": "6.0.2",
9999
"stylelint-selector-bem-pattern": "^2.1.1",

src/app/modules/auth/pages/log-in-page/log-in-page.component.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,10 @@ import { AuthService } from '~modules/auth/shared/auth.service';
1818
import { ApolloError } from '@apollo/client/errors';
1919
import { Subject, takeUntil } from 'rxjs';
2020
import { APP_CONFIG, AppConfig } from '../../../../configs/app.config';
21-
import { UtilService } from '~modules/shared/services/util.service';
21+
import { NetworkHelperService } from '~modules/shared/services/network-helper.service';
2222
import { ApiError } from '~modules/shared/interfaces/api-error.interface';
2323
import { ActivatedRoute, Router, RouterLink } from '@angular/router';
2424
import { userRoutes } from '~modules/user/shared/user-routes';
25-
import { ValidationService } from '~modules/shared/services/validation.service';
2625
import { AlertId, AlertService } from '~modules/shared/services/alert.service';
2726
import { CustomError } from '~modules/auth/shared/interfaces/custom-errors.enum';
2827
import { AuthUserData } from '~modules/auth/shared/interfaces/register-data.interface';
@@ -36,6 +35,7 @@ import { LowercaseDirective } from '~modules/shared/directives/lowercase.directi
3635
import { TrimDirective } from '~modules/shared/directives/trim.directive';
3736
import { HttpClientModule } from '@angular/common/http';
3837
import { IAppConfig } from '../../../../configs/app-config.interface';
38+
import { EmailValidators } from '~modules/shared/validators/email.validators';
3939

4040
@Component({
4141
selector: 'app-log-in-page',
@@ -72,7 +72,7 @@ export class LogInPageComponent implements OnDestroy, AfterViewInit {
7272
private router: Router,
7373
private changeDetectorRef: ChangeDetectorRef,
7474
private alertService: AlertService,
75-
private utilService: UtilService,
75+
private utilService: NetworkHelperService,
7676
private authRepository: AuthRepository,
7777
private activatedRoute: ActivatedRoute,
7878
@Inject(APP_CONFIG) public appConfig: IAppConfig,
@@ -83,7 +83,7 @@ export class LogInPageComponent implements OnDestroy, AfterViewInit {
8383
this.isButtonLogInLoading = false;
8484
this.email = new FormControl<string | null>('', [
8585
Validators.required,
86-
ValidationService.isEmailValidator(),
86+
EmailValidators.isEmail(),
8787
]);
8888
this.password = new FormControl<string | null>('', [Validators.required]);
8989
this.logInForm = this.formBuilder.group({

src/app/modules/auth/pages/register-page/register-page.component.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,9 @@ import { AuthService } from '~modules/auth/shared/auth.service';
1818
import { ApolloError } from '@apollo/client/errors';
1919
import { Subject, takeUntil } from 'rxjs';
2020
import { APP_CONFIG } from '../../../../configs/app.config';
21-
import { UtilService } from '~modules/shared/services/util.service';
21+
import { NetworkHelperService } from '~modules/shared/services/network-helper.service';
2222
import { ApiError } from '~modules/shared/interfaces/api-error.interface';
2323
import { Router, RouterLink } from '@angular/router';
24-
import { ValidationService } from '~modules/shared/services/validation.service';
2524
import { AlertId, AlertService } from '~modules/shared/services/alert.service';
2625
import { CustomError } from '~modules/auth/shared/interfaces/custom-errors.enum';
2726
import { AuthUserData } from '~modules/auth/shared/interfaces/register-data.interface';
@@ -35,6 +34,7 @@ import { LanguageSelectorComponent } from '~modules/auth/shared/components/langu
3534
import { TrimDirective } from '~modules/shared/directives/trim.directive';
3635
import { LowercaseDirective } from '~modules/shared/directives/lowercase.directive';
3736
import { IAppConfig } from '../../../../configs/app-config.interface';
37+
import { EmailValidators } from '~modules/shared/validators/email.validators';
3838

3939
@Component({
4040
selector: 'app-register-page',
@@ -74,7 +74,7 @@ export class RegisterPageComponent implements OnDestroy {
7474
private router: Router,
7575
private changeDetectorRef: ChangeDetectorRef,
7676
private alertService: AlertService,
77-
private utilService: UtilService,
77+
private utilService: NetworkHelperService,
7878
@Inject(APP_CONFIG) public appConfig: IAppConfig,
7979
private document: Document
8080
) {
@@ -88,7 +88,7 @@ export class RegisterPageComponent implements OnDestroy {
8888
]);
8989
this.email = new FormControl<string | null>('', [
9090
Validators.required,
91-
ValidationService.isEmailValidator(),
91+
EmailValidators.isEmail(),
9292
]);
9393
this.password = new FormControl<string | null>('', {
9494
validators: [

src/app/modules/shared/services/track-by.service.ts renamed to src/app/modules/shared/classes/track-by.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
1-
import { Injectable } from '@angular/core';
21
import { Alert } from '~modules/shared/services/alert.service';
32
import { Hero } from '~modules/hero/shared/hero.model';
43

5-
@Injectable({
6-
providedIn: 'root',
7-
})
8-
export class TrackByService {
4+
export class TrackBy {
95
static trackAlert(index: number, alert: Alert) {
106
return alert.id;
117
}

src/app/modules/shared/components/alert/alert.component.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import { Subject, takeUntil } from 'rxjs';
2020
import { AppConfig } from '../../../../configs/app.config';
2121
import { EventBusService } from '~modules/shared/services/event-bus.service';
2222
import { getAlertConfigById } from '~modules/shared/components/alert/alerts.config';
23-
import { TrackByService } from '~modules/shared/services/track-by.service';
23+
import { TrackBy } from '~modules/shared/classes/track-by';
2424

2525
@Component({
2626
selector: 'app-alert',
@@ -43,7 +43,7 @@ export class AlertComponent implements OnInit, OnDestroy {
4343
private changeDetectorRef: ChangeDetectorRef,
4444
private eventBusService: EventBusService
4545
) {
46-
this.trackAlert = TrackByService.trackAlert;
46+
this.trackAlert = TrackBy.trackAlert;
4747
this.alerts = [];
4848
}
4949

src/app/modules/shared/services/util.service.ts renamed to src/app/modules/shared/services/network-helper.service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { CustomError } from '~modules/auth/shared/interfaces/custom-errors.enum'
66
@Injectable({
77
providedIn: 'root',
88
})
9-
export class UtilService {
9+
export class NetworkHelperService {
1010
constructor(private alertService: AlertService) {}
1111

1212
checkNetworkError(error: ApolloError): boolean {

src/app/modules/shared/services/validation.service.ts

Lines changed: 0 additions & 14 deletions
This file was deleted.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';
2+
import { isEmail as isEmailValidator } from 'class-validator';
3+
4+
export class EmailValidators {
5+
static isEmail(): ValidatorFn {
6+
return (control: AbstractControl): ValidationErrors | null => {
7+
return !isEmailValidator(control.value) ? { email: true } : null;
8+
};
9+
}
10+
}

src/app/modules/user/components/change-language/change-language.component.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { Subject, takeUntil } from 'rxjs';
44
import { ApolloError } from '@apollo/client/errors';
55
import { AuthService } from '~modules/auth/shared/auth.service';
66
import { AlertId, AlertService } from '~modules/shared/services/alert.service';
7-
import { UtilService } from '~modules/shared/services/util.service';
7+
import { NetworkHelperService } from '~modules/shared/services/network-helper.service';
88
import { AuthRepository } from '~modules/auth/store/auth.repository';
99
import { NgIf } from '@angular/common';
1010
import { User } from '~modules/user/shared/user.model';
@@ -34,7 +34,7 @@ export class ChangeLanguageComponent implements OnInit, OnDestroy {
3434
private authService: AuthService,
3535
private alertService: AlertService,
3636
private authRepository: AuthRepository,
37-
private utilService: UtilService,
37+
private utilService: NetworkHelperService,
3838
private document: Document
3939
) {
4040
this.window = this.document.defaultView as Window;

0 commit comments

Comments
 (0)