Refactor subject resolver to use SubjectService; add tenant resolver for tenant data retrieval

This commit is contained in:
Christian Werner 2025-10-22 02:57:25 +02:00
parent 081ab589f3
commit 4d2ad1034d
2 changed files with 25 additions and 4 deletions

View File

@ -1,15 +1,15 @@
import {ResolveFn} from '@angular/router'; import {ResolveFn} from '@angular/router';
import {inject} from '@angular/core'; import {inject} from '@angular/core';
import {ProxyService} from '../clients/gandalf/mithrandir/proxy.service';
import {map} from 'rxjs'; import {map} from 'rxjs';
import {SubjectService} from '../clients/gandalf/mithrandir/subject.service';
export const subjectResolver: ResolveFn<string> = (route, state) => { export const subjectResolver: ResolveFn<string> = (route, state) => {
const proxyService = inject(ProxyService); const subjectService = inject(SubjectService);
return proxyService.me$().pipe( return subjectService.me$().pipe(
map(x => { map(x => {
console.log(x);
return x.name; return x.name;
} }
) )
); );
}; };

View File

@ -0,0 +1,21 @@
import {ResolveFn} from "@angular/router";
import {TenantGridViewDto} from "../clients/gandalf/mithrandir/tenant/dtos/tenant-grid-view-dto";
import {inject} from "@angular/core";
import {TenantService} from "../clients/gandalf/mithrandir/tenant/tenant.service";
import {map} from 'rxjs';
export const tenantResolver: ResolveFn<TenantGridViewDto | null> = (route, state) => {
const tenantService = inject(TenantService);
const id = route.paramMap.get('id')
return tenantService.getTenant$(id);
};
export const tenantNameResolver: ResolveFn<string> = (route, state) => {
const tenantService = inject(TenantService);
const id = route.paramMap.get('id')
return tenantService.getTenant$(id).pipe(map(tenant => tenant?.name ?? 'Unnamed Tenant'));
};