Chore: Updated resolvers from Class to ResolveFn

This commit is contained in:
2024-05-31 09:58:48 +05:30
parent 6f433ef203
commit 6e3c429db3
255 changed files with 1737 additions and 2155 deletions
@@ -1,17 +0,0 @@
import { HttpClientModule } from '@angular/common/http';
import { inject, TestBed } from '@angular/core/testing';
import { IssueResolver } from './issue-resolver.service';
describe('IssueResolver', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientModule],
providers: [IssueResolver],
});
});
it('should be created', inject([IssueResolver], (service: IssueResolver) => {
expect(service).toBeTruthy();
}));
});
@@ -1,21 +0,0 @@
import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot } from '@angular/router';
import { Observable } from 'rxjs/internal/Observable';
import { Voucher } from '../core/voucher';
import { VoucherService } from '../core/voucher.service';
@Injectable({
providedIn: 'root',
})
export class IssueResolver {
constructor(private ser: VoucherService) {}
resolve(route: ActivatedRouteSnapshot): Observable<Voucher> {
const id = route.paramMap.get('id');
if (id === null) {
return this.ser.getOfType('Issue');
}
return this.ser.get(id, 'Issue');
}
}
@@ -3,10 +3,10 @@ import { NgModule, inject } from '@angular/core';
import { ActivatedRouteSnapshot, RouterModule, RouterStateSnapshot, Routes } from '@angular/router';
import { AuthGuard } from '../auth/auth-guard.service';
import { CostCentreListResolver } from '../cost-centre/cost-centre-list-resolver.service';
import { costCentreListResolver } from '../cost-centre/cost-centre-list.resolver';
import { IssueResolver } from './issue-resolver.service';
import { IssueComponent } from './issue.component';
import { issueResolver } from './issue.resolver';
const issueRoutes: Routes = [
{
@@ -19,8 +19,8 @@ const issueRoutes: Routes = [
permission: 'Issue',
},
resolve: {
voucher: (route: ActivatedRouteSnapshot) => inject(IssueResolver).resolve(route),
costCentres: () => inject(CostCentreListResolver).resolve(),
voucher: issueResolver,
costCentres: costCentreListResolver,
},
runGuardsAndResolvers: 'always',
},
@@ -34,8 +34,8 @@ const issueRoutes: Routes = [
permission: 'Issue',
},
resolve: {
voucher: (route: ActivatedRouteSnapshot) => inject(IssueResolver).resolve(route),
costCentres: () => inject(CostCentreListResolver).resolve(),
voucher: issueResolver,
costCentres: costCentreListResolver,
},
runGuardsAndResolvers: 'always',
},
@@ -44,6 +44,5 @@ const issueRoutes: Routes = [
@NgModule({
imports: [CommonModule, RouterModule.forChild(issueRoutes)],
exports: [RouterModule],
providers: [IssueResolver],
})
export class IssueRoutingModule {}
@@ -0,0 +1,19 @@
import { TestBed } from '@angular/core/testing';
import { ResolveFn } from '@angular/router';
import { Voucher } from '../core/voucher';
import { issueResolver } from './issue.resolver';
describe('issueResolver', () => {
const executeResolver: ResolveFn<Voucher> = (...resolverParameters) =>
TestBed.runInInjectionContext(() => issueResolver(...resolverParameters));
beforeEach(() => {
TestBed.configureTestingModule({});
});
it('should be created', () => {
expect(executeResolver).toBeTruthy();
});
});
+13
View File
@@ -0,0 +1,13 @@
import { inject } from '@angular/core';
import { ResolveFn } from '@angular/router';
import { Voucher } from '../core/voucher';
import { VoucherService } from '../core/voucher.service';
export const issueResolver: ResolveFn<Voucher> = (route) => {
const id = route.paramMap.get('id');
if (id === null) {
return inject(VoucherService).getOfType('Issue');
}
return inject(VoucherService).get(id, 'Issue');
};