From c33db1769ad320b4f0990511d9f065e95869c197 Mon Sep 17 00:00:00 2001 From: Adrien Crivelli Date: Sat, 28 Sep 2024 14:07:49 +0200 Subject: [PATCH] Don't fetch permissions unless actually used #10746 To minimize the risk of future API breaking change that may happen in the permissions query and would prevent opening the door without reason --- .../admin/events/events/events.component.html | 2 +- .../facilitator-documents.component.html | 2 +- .../facilitator-documents.component.ts | 2 + .../admin/newses/newses/newses.component.html | 2 +- .../products/products/products.component.html | 2 +- .../sessions/sessions/sessions.component.html | 2 +- .../admin/users/import/import.component.html | 2 +- .../admin/users/import/import.component.ts | 2 + .../admin/users/users/users.component.html | 2 +- .../comment-list/comment-list.component.html | 2 +- .../home-block/home-block.component.html | 2 +- .../home-block/home-block.component.ts | 4 +- .../homepage/homepage.component.html | 4 +- .../components/homepage/homepage.component.ts | 2 +- .../shared/services/permissions.service.ts | 68 ++++++++----------- 15 files changed, 46 insertions(+), 54 deletions(-) diff --git a/client/app/admin/events/events/events.component.html b/client/app/admin/events/events/events.component.html index 38a4955a..7b54951b 100644 --- a/client/app/admin/events/events/events.component.html +++ b/client/app/admin/events/events/events.component.html @@ -76,6 +76,6 @@ } -@if (permissionsService.crud?.event.create) { +@if ((permissionsService.crud | async)?.event.create) { } diff --git a/client/app/admin/facilitator-documents/facilitator-documents/facilitator-documents.component.html b/client/app/admin/facilitator-documents/facilitator-documents/facilitator-documents.component.html index c72f4592..385ca440 100644 --- a/client/app/admin/facilitator-documents/facilitator-documents/facilitator-documents.component.html +++ b/client/app/admin/facilitator-documents/facilitator-documents/facilitator-documents.component.html @@ -73,6 +73,6 @@ } -@if (permissionsService.crud?.facilitatorDocument.create) { +@if ((permissionsService.crud | async)?.facilitatorDocument.create) { } diff --git a/client/app/admin/facilitator-documents/facilitator-documents/facilitator-documents.component.ts b/client/app/admin/facilitator-documents/facilitator-documents/facilitator-documents.component.ts index d6a9e4a8..d7cc9a17 100644 --- a/client/app/admin/facilitator-documents/facilitator-documents/facilitator-documents.component.ts +++ b/client/app/admin/facilitator-documents/facilitator-documents/facilitator-documents.component.ts @@ -16,6 +16,7 @@ import {MatIconModule} from '@angular/material/icon'; import {MatTooltipModule} from '@angular/material/tooltip'; import {MatSortModule} from '@angular/material/sort'; import {MatTableModule} from '@angular/material/table'; +import {AsyncPipe} from '@angular/common'; @Component({ selector: 'app-facilitator-documents', @@ -34,6 +35,7 @@ import {MatTableModule} from '@angular/material/table'; MatPaginatorModule, NaturalFixedButtonComponent, RouterLink, + AsyncPipe, ], }) export class FacilitatorDocumentsComponent extends NaturalAbstractList implements OnInit { diff --git a/client/app/admin/newses/newses/newses.component.html b/client/app/admin/newses/newses/newses.component.html index cd46cad4..e24bd940 100644 --- a/client/app/admin/newses/newses/newses.component.html +++ b/client/app/admin/newses/newses/newses.component.html @@ -77,6 +77,6 @@ } -@if (permissionsService.crud?.news.create) { +@if ((permissionsService.crud | async)?.news.create) { } diff --git a/client/app/admin/products/products/products.component.html b/client/app/admin/products/products/products.component.html index 317a7900..9723f153 100644 --- a/client/app/admin/products/products/products.component.html +++ b/client/app/admin/products/products/products.component.html @@ -113,6 +113,6 @@ } -@if (permissionsService.crud?.product.create) { +@if ((permissionsService.crud | async)?.product.create) { } diff --git a/client/app/admin/sessions/sessions/sessions.component.html b/client/app/admin/sessions/sessions/sessions.component.html index e0919a37..23e1747e 100644 --- a/client/app/admin/sessions/sessions/sessions.component.html +++ b/client/app/admin/sessions/sessions/sessions.component.html @@ -96,6 +96,6 @@ } -@if (permissionsService.crud?.session.create) { +@if ((permissionsService.crud | async)?.session.create) { } diff --git a/client/app/admin/users/import/import.component.html b/client/app/admin/users/import/import.component.html index 7e7fecc3..314319e8 100644 --- a/client/app/admin/users/import/import.component.html +++ b/client/app/admin/users/import/import.component.html @@ -9,7 +9,7 @@

{{ routeData.seo.title }}

naturalFileDrop accept=".csv" [selectable]="true" - [disabled]="!permissionsService.crud?.organization.create || importing" + [disabled]="!(permissionsService.crud | async)?.organization.create || importing" (filesChange)="uploadFile($event)" > diff --git a/client/app/admin/users/import/import.component.ts b/client/app/admin/users/import/import.component.ts index b9626c58..a6e161a8 100644 --- a/client/app/admin/users/import/import.component.ts +++ b/client/app/admin/users/import/import.component.ts @@ -16,6 +16,7 @@ import {UserService} from '../services/user.service'; import {MatProgressSpinnerModule} from '@angular/material/progress-spinner'; import {MatIconModule} from '@angular/material/icon'; import {MatButtonModule} from '@angular/material/button'; +import {AsyncPipe} from '@angular/common'; @Component({ selector: 'app-import', @@ -28,6 +29,7 @@ import {MatButtonModule} from '@angular/material/button'; NaturalIconDirective, MatProgressSpinnerModule, RouterLink, + AsyncPipe, ], }) export class ImportComponent implements OnInit { diff --git a/client/app/admin/users/users/users.component.html b/client/app/admin/users/users/users.component.html index c33983fd..21547619 100644 --- a/client/app/admin/users/users/users.component.html +++ b/client/app/admin/users/users/users.component.html @@ -104,6 +104,6 @@ } -@if (routeData?.isAdmin && permissionsService.crud?.user.create) { +@if (routeData?.isAdmin && (permissionsService.crud | async)?.user.create) { } diff --git a/client/app/front-office/components/comment-list/comment-list.component.html b/client/app/front-office/components/comment-list/comment-list.component.html index b405375e..fed508cf 100644 --- a/client/app/front-office/components/comment-list/comment-list.component.html +++ b/client/app/front-office/components/comment-list/comment-list.component.html @@ -1,5 +1,5 @@
- @if (permissionsService.crud?.comment?.create) { + @if ((permissionsService.crud | async)?.comment?.create) {
Rédiger un commentaire diff --git a/client/app/front-office/components/home-block/home-block.component.html b/client/app/front-office/components/home-block/home-block.component.html index 568bced1..3fd10d86 100644 --- a/client/app/front-office/components/home-block/home-block.component.html +++ b/client/app/front-office/components/home-block/home-block.component.html @@ -5,7 +5,7 @@ {{ form.get('buttonLabel')?.value }} - @if (permissionService.crud?.configuration.create) { + @if ((permissionsService.crud | async)?.configuration.create) {