From b8aae9b8f8a73dc52f6eb2d6c316b1db480e9f31 Mon Sep 17 00:00:00 2001 From: thomas Date: Tue, 22 Nov 2022 14:07:50 +0100 Subject: [PATCH] feat(challenge6): improve readme --- apps/permissions/README.md | 13 +++++++++++-- apps/permissions/src/app/information.component.ts | 2 ++ apps/permissions/src/app/login.component.ts | 5 +++++ apps/permissions/src/app/user.model.ts | 6 ++++++ 4 files changed, 24 insertions(+), 2 deletions(-) diff --git a/apps/permissions/README.md b/apps/permissions/README.md index 4b87512..96e55ec 100644 --- a/apps/permissions/README.md +++ b/apps/permissions/README.md @@ -18,6 +18,7 @@ In LoginComponent, you will find 6 buttons corresponding at 6 differents users. - Writer - Reader and Writer - Client +- Everyone ### Step 1 @@ -31,12 +32,20 @@ In **InformationComponent**, display the correct piece of information for each r You should end up with something like below: ```html -
Info for Manager
+
Info for Role1
+``` + +```html +
Info for Role1 and Role2
+``` + +```html +
Info Only for superadmin
``` ### Step 2 -In **Routes.ts**, route all user to the correct DashboardComponent using CanMatch guard. +In **Routes.ts**, route all user to the correct **DashboardComponent** using **CanMatch** guard. ### Submitting your work diff --git a/apps/permissions/src/app/information.component.ts b/apps/permissions/src/app/information.component.ts index 08ca6ab..e4adeb1 100644 --- a/apps/permissions/src/app/information.component.ts +++ b/apps/permissions/src/app/information.component.ts @@ -9,10 +9,12 @@ import { UserStore } from './user.store'; template: `

Information Panel

+
visible only for super admin
visible if manager
visible if manager and/or reader
visible if manager and/or writer
visible if client
+
visible for everyone
`, changeDetection: ChangeDetectionStrategy.OnPush, }) diff --git a/apps/permissions/src/app/login.component.ts b/apps/permissions/src/app/login.component.ts index 3d10972..ab27b11 100644 --- a/apps/permissions/src/app/login.component.ts +++ b/apps/permissions/src/app/login.component.ts @@ -5,6 +5,7 @@ import { InformationComponent } from './information.component'; import { admin, client, + everyone, manager, reader, readerAndWriter, @@ -25,6 +26,7 @@ import { UserStore } from './user.store'; + @@ -55,4 +57,7 @@ export class LoginComponent { client() { this.userStore.add(client); } + everyone() { + this.userStore.add(everyone); + } } diff --git a/apps/permissions/src/app/user.model.ts b/apps/permissions/src/app/user.model.ts index a4037eb..353a5e2 100644 --- a/apps/permissions/src/app/user.model.ts +++ b/apps/permissions/src/app/user.model.ts @@ -41,3 +41,9 @@ export const client: User = { isAdmin: false, roles: ['CLIENT'], }; + +export const everyone: User = { + name: 'client', + isAdmin: false, + roles: [], +};