From 70e1ecc5115840fab050b02d0d2b7467d37a8fed Mon Sep 17 00:00:00 2001 From: nsemets Date: Fri, 23 Jan 2026 17:34:25 +0200 Subject: [PATCH 1/2] fix(guards): fixed logic for guards --- src/app/core/guards/is-project.guard.ts | 2 +- src/app/core/guards/is-registry.guard.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/core/guards/is-project.guard.ts b/src/app/core/guards/is-project.guard.ts index f8921a40d..d3b3e11c3 100644 --- a/src/app/core/guards/is-project.guard.ts +++ b/src/app/core/guards/is-project.guard.ts @@ -22,7 +22,7 @@ export const isProjectGuard: CanMatchFn = (route: Route, segments: UrlSegment[]) return store.dispatch(new GetResource(id)).pipe( switchMap(() => store.select(CurrentResourceSelectors.getCurrentResource)), map((resource) => { - if (!resource || !id.startsWith(resource.id)) { + if (!resource || !resource.id.startsWith(id)) { return false; } diff --git a/src/app/core/guards/is-registry.guard.ts b/src/app/core/guards/is-registry.guard.ts index a187a25b9..db23c3f8f 100644 --- a/src/app/core/guards/is-registry.guard.ts +++ b/src/app/core/guards/is-registry.guard.ts @@ -22,7 +22,7 @@ export const isRegistryGuard: CanMatchFn = (route: Route, segments: UrlSegment[] return store.dispatch(new GetResource(id)).pipe( switchMap(() => store.select(CurrentResourceSelectors.getCurrentResource)), map((resource) => { - if (!resource || !id.startsWith(resource.id)) { + if (!resource || !resource.id.startsWith(id)) { return false; } From 2beea057cbe3c00a0864fef1ef8760acd4245c4c Mon Sep 17 00:00:00 2001 From: nsemets Date: Fri, 23 Jan 2026 17:56:01 +0200 Subject: [PATCH 2/2] fix(unit-tests): updated unit tests --- src/app/core/guards/is-project.guard.spec.ts | 4 ++-- src/app/core/guards/is-registry.guard.spec.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/app/core/guards/is-project.guard.spec.ts b/src/app/core/guards/is-project.guard.spec.ts index 41df9a57c..f7840509e 100644 --- a/src/app/core/guards/is-project.guard.spec.ts +++ b/src/app/core/guards/is-project.guard.spec.ts @@ -142,7 +142,7 @@ describe('isProjectGuard', () => { it('should navigate and return true for Projects with parentId', (done) => { const resource = createMockResource({ - id: 'parent-id', + id: 'parent-id/child-id', type: CurrentResourceType.Projects, parentId: 'parent-id', }); @@ -241,7 +241,7 @@ describe('isProjectGuard', () => { it('should navigate and return true for Preprints with parentId', (done) => { const resource = createMockResource({ - id: 'parent-id', + id: 'parent-id/child-id', type: CurrentResourceType.Preprints, parentId: 'parent-id', }); diff --git a/src/app/core/guards/is-registry.guard.spec.ts b/src/app/core/guards/is-registry.guard.spec.ts index 60346f3ed..9ba25a949 100644 --- a/src/app/core/guards/is-registry.guard.spec.ts +++ b/src/app/core/guards/is-registry.guard.spec.ts @@ -142,7 +142,7 @@ describe('isRegistryGuard', () => { it('should navigate and return true for Registrations with parentId', (done) => { const resource = createMockResource({ - id: 'parent-id', + id: 'parent-id/child-id', type: CurrentResourceType.Registrations, parentId: 'parent-id', }); @@ -241,7 +241,7 @@ describe('isRegistryGuard', () => { it('should navigate and return true for Preprints with parentId', (done) => { const resource = createMockResource({ - id: 'parent-id', + id: 'parent-id/child-id', type: CurrentResourceType.Preprints, parentId: 'parent-id', });