From c9047e7c17b9de26162d0ac6e5514078b87f21ca Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Fri, 27 Dec 2024 10:12:45 +0100 Subject: [PATCH] Feature/add user interface for received access (#4146) * Add user interface for received access * Update changelog --- CHANGELOG.md | 4 ++++ apps/api/src/app/user/user.service.ts | 4 +++- .../user-account-access.component.ts | 15 +++++++++++++-- .../user-account-access/user-account-access.html | 10 ++++++---- libs/common/src/lib/interfaces/user.interface.ts | 7 ++----- 5 files changed, 28 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fdc0994e..c9cd8d29 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +### Added + +- Added the user interface for received access from others + ### Changed - Upgraded `husky` from version `9.1.6` to `9.1.7` diff --git a/apps/api/src/app/user/user.service.ts b/apps/api/src/app/user/user.service.ts index bac6ed19..33e9a67d 100644 --- a/apps/api/src/app/user/user.service.ts +++ b/apps/api/src/app/user/user.service.ts @@ -89,6 +89,7 @@ export class UserService { }), this.tagService.getTagsForUser(id) ]); + const access = userData[0]; const firstActivity = userData[1]; let tags = userData[2]; @@ -119,7 +120,8 @@ export class UserService { access: access.map((accessItem) => { return { alias: accessItem.alias, - id: accessItem.id + id: accessItem.id, + permissions: accessItem.permissions }; }), accounts: Account, diff --git a/apps/client/src/app/components/user-account-access/user-account-access.component.ts b/apps/client/src/app/components/user-account-access/user-account-access.component.ts index 16a7627c..02f7d1b8 100644 --- a/apps/client/src/app/components/user-account-access/user-account-access.component.ts +++ b/apps/client/src/app/components/user-account-access/user-account-access.component.ts @@ -27,7 +27,8 @@ import { CreateOrUpdateAccessDialog } from './create-or-update-access-dialog/cre templateUrl: './user-account-access.html' }) export class UserAccountAccessComponent implements OnDestroy, OnInit { - public accesses: Access[]; + public accessesGet: Access[]; + public accessesGive: Access[]; public deviceType: string; public hasPermissionToCreateAccess: boolean; public hasPermissionToDeleteAccess: boolean; @@ -125,11 +126,21 @@ export class UserAccountAccessComponent implements OnDestroy, OnInit { } private update() { + this.accessesGet = this.user.access.map(({ alias, id, permissions }) => { + return { + alias, + id, + permissions, + grantee: $localize`Me`, + type: 'PRIVATE' + }; + }); + this.dataService .fetchAccesses() .pipe(takeUntil(this.unsubscribeSubject)) .subscribe((accesses) => { - this.accesses = accesses; + this.accessesGive = accesses; this.changeDetectorRef.markForCheck(); }); diff --git a/apps/client/src/app/components/user-account-access/user-account-access.html b/apps/client/src/app/components/user-account-access/user-account-access.html index e5d43cad..efb91898 100644 --- a/apps/client/src/app/components/user-account-access/user-account-access.html +++ b/apps/client/src/app/components/user-account-access/user-account-access.html @@ -1,14 +1,16 @@
-

+ @if (accessesGet.length > 0) { +

Received Access

+ + } +

Granted Access @if (user?.subscription?.type === 'Basic') { }

[]; accounts: Account[]; dateOfFirstActivity: Date; id: string;