diff --git a/apps/client/src/app/components/platform/platform.component.html b/apps/client/src/app/components/platform/platform.component.html new file mode 100644 index 000000000..4e8e0e8b9 --- /dev/null +++ b/apps/client/src/app/components/platform/platform.component.html @@ -0,0 +1,75 @@ +
+
+
+
+ + + + + + + + + + + + + + + + + + +
+ Id + + {{ element.id }} + + Name + + {{ element.name }} + + Url + + {{ element.url }} +
+
+
+
+ +
+ + + +
+
diff --git a/apps/client/src/app/components/platform/platform.component.scss b/apps/client/src/app/components/platform/platform.component.scss new file mode 100644 index 000000000..0fd1e7bb1 --- /dev/null +++ b/apps/client/src/app/components/platform/platform.component.scss @@ -0,0 +1,14 @@ +:host { + display: block; + + .platforms { + overflow-x: auto; + } + + .fab-container { + position: fixed; + right: 2rem; + bottom: 4rem; + z-index: 999; + } +} diff --git a/apps/client/src/app/components/platform/platform.component.ts b/apps/client/src/app/components/platform/platform.component.ts new file mode 100644 index 000000000..4dc2befe3 --- /dev/null +++ b/apps/client/src/app/components/platform/platform.component.ts @@ -0,0 +1,97 @@ +import { ChangeDetectorRef, Component, OnInit, ViewChild } from '@angular/core'; +import { MatSort } from '@angular/material/sort'; +import { MatTableDataSource } from '@angular/material/table'; +import { ActivatedRoute, Router } from '@angular/router'; +import { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service'; +import { UserService } from '@ghostfolio/client/services/user/user.service'; +import { User } from '@ghostfolio/common/interfaces'; +import { AdminPlatformsItem } from '@ghostfolio/common/interfaces/admin-platforms.interface'; + +import { hasPermission, permissions } from '@ghostfolio/common/permissions'; +import { Platform as PlatformModel } from '@prisma/client'; +import { Subject, takeUntil } from 'rxjs'; + +@Component({ + selector: 'gf-platform-overview', + styleUrls: ['./platform.component.scss'], + templateUrl: './platform.component.html' +}) +export class AdminPlatformComponent implements OnInit { + @ViewChild(MatSort) sort: MatSort; + + public displayedColumns = ['id', 'name', 'url']; + + public platforms: PlatformModel[]; + public hasPermissionToCreatePlatform: boolean; + public hasPermissionToDeletePlatform: boolean; + public hasImpersonationId: boolean; + public user: User; + + public dataSource: MatTableDataSource = + new MatTableDataSource(); + + private unsubscribeSubject = new Subject(); + + public constructor( + private changeDetectorRef: ChangeDetectorRef, + private userService: UserService, + private impersonationStorageService: ImpersonationStorageService, + private route: ActivatedRoute, + private router: Router + ) { + this.route.queryParams + .pipe(takeUntil(this.unsubscribeSubject)) + .subscribe((params) => { + if (params['platformId'] && params['platformDetailDialog']) { + // this.openAccountDetailDialog(params['accountId']); + } else if ( + params['createDialog'] && + this.hasPermissionToCreatePlatform + ) { + //this.openCreateAccountDialog(); + } else if (params['editDialog']) { + if (this.platforms) { + const platform = this.platforms.find(({ id }) => { + return id === params['platformId']; + }); + + // this.openUpdateAccountDialog(account); + } else { + this.router.navigate(['.'], { relativeTo: this.route }); + } + } + }); + } + + public ngOnInit() { + this.impersonationStorageService + .onChangeHasImpersonation() + .pipe(takeUntil(this.unsubscribeSubject)) + .subscribe((impersonationId) => { + this.hasImpersonationId = !!impersonationId; + }); + + this.userService.stateChanged + .pipe(takeUntil(this.unsubscribeSubject)) + .subscribe((state) => { + if (state?.user) { + this.user = state.user; + + this.hasPermissionToCreatePlatform = hasPermission( + this.user.permissions, + permissions.createPlatform + ); + this.hasPermissionToCreatePlatform = hasPermission( + this.user.permissions, + permissions.deletePlatform + ); + + this.changeDetectorRef.markForCheck(); + } + }); + + this.fetchPlatforms(); + } + + private fetchPlatforms() {} +} diff --git a/apps/client/src/app/components/platform/platform.module.ts b/apps/client/src/app/components/platform/platform.module.ts new file mode 100644 index 000000000..0d33213d2 --- /dev/null +++ b/apps/client/src/app/components/platform/platform.module.ts @@ -0,0 +1,20 @@ +import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; +import { AdminPlatformComponent } from './platform.component'; +import { CommonModule } from '@angular/common'; +import { RouterModule } from '@angular/router'; +import { MatButtonModule } from '@angular/material/button'; +import { MatSortModule } from '@angular/material/sort'; +import { MatTableModule } from '@angular/material/table'; + +@NgModule({ + declarations: [AdminPlatformComponent], + imports: [ + CommonModule, + RouterModule, + MatButtonModule, + MatSortModule, + MatTableModule + ], + schemas: [CUSTOM_ELEMENTS_SCHEMA] +}) +export class GfAdminPlatformModule {} diff --git a/apps/client/src/app/pages/admin/admin-page-routing.module.ts b/apps/client/src/app/pages/admin/admin-page-routing.module.ts index 49ce08ad3..28cd84617 100644 --- a/apps/client/src/app/pages/admin/admin-page-routing.module.ts +++ b/apps/client/src/app/pages/admin/admin-page-routing.module.ts @@ -4,6 +4,7 @@ import { AdminJobsComponent } from '@ghostfolio/client/components/admin-jobs/adm import { AdminMarketDataComponent } from '@ghostfolio/client/components/admin-market-data/admin-market-data.component'; import { AdminOverviewComponent } from '@ghostfolio/client/components/admin-overview/admin-overview.component'; import { AdminUsersComponent } from '@ghostfolio/client/components/admin-users/admin-users.component'; +import { AdminPlatformComponent } from '@ghostfolio/client/components/platform/platform.component'; import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { AdminPageComponent } from './admin-page.component'; @@ -24,7 +25,16 @@ const routes: Routes = [ component: AdminOverviewComponent, title: $localize`Admin Control` }, - { path: 'users', component: AdminUsersComponent, title: $localize`Users` } + { + path: 'users', + component: AdminUsersComponent, + title: $localize`Users` + }, + { + path: 'platforms', + component: AdminPlatformComponent, + title: $localize`Platforms` + } ], component: AdminPageComponent, path: '' diff --git a/apps/client/src/app/pages/admin/admin-page.component.ts b/apps/client/src/app/pages/admin/admin-page.component.ts index 231dc068c..912c49077 100644 --- a/apps/client/src/app/pages/admin/admin-page.component.ts +++ b/apps/client/src/app/pages/admin/admin-page.component.ts @@ -31,6 +31,11 @@ export class AdminPageComponent implements OnDestroy, OnInit { path: 'overview' }, { iconName: 'people-outline', label: $localize`Users`, path: 'users' }, + { + iconName: 'briefcase-outline', + label: $localize`Platforms`, + path: 'platforms' + }, { iconName: 'server-outline', label: $localize`Market Data`, diff --git a/apps/client/src/app/pages/admin/admin-page.module.ts b/apps/client/src/app/pages/admin/admin-page.module.ts index fa7f0e35b..ab0c80970 100644 --- a/apps/client/src/app/pages/admin/admin-page.module.ts +++ b/apps/client/src/app/pages/admin/admin-page.module.ts @@ -5,6 +5,7 @@ import { GfAdminJobsModule } from '@ghostfolio/client/components/admin-jobs/admi import { GfAdminMarketDataModule } from '@ghostfolio/client/components/admin-market-data/admin-market-data.module'; import { GfAdminOverviewModule } from '@ghostfolio/client/components/admin-overview/admin-overview.module'; import { GfAdminUsersModule } from '@ghostfolio/client/components/admin-users/admin-users.module'; +import { GfAdminPlatformModule } from '@ghostfolio/client/components/platform/platform.module'; import { CacheService } from '@ghostfolio/client/services/cache.service'; import { AdminPageRoutingModule } from './admin-page-routing.module'; @@ -20,6 +21,7 @@ import { AdminPageComponent } from './admin-page.component'; GfAdminMarketDataModule, GfAdminOverviewModule, GfAdminUsersModule, + GfAdminPlatformModule, MatTabsModule ], providers: [CacheService], diff --git a/apps/client/src/locales/messages.de.xlf b/apps/client/src/locales/messages.de.xlf index 7d52a1951..afc2b59a4 100644 --- a/apps/client/src/locales/messages.de.xlf +++ b/apps/client/src/locales/messages.de.xlf @@ -878,7 +878,7 @@ oder apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html - 20,19 + 19 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html @@ -886,7 +886,7 @@ apps/client/src/app/pages/register/register-page.html - 30,29 + 29 apps/client/src/app/pages/webauthn/webauthn-page.html @@ -1302,7 +1302,7 @@ apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.html - 193,192 + 192 apps/client/src/app/pages/blog/2022/10/hacktoberfest-2022/hacktoberfest-2022-page.html @@ -1654,7 +1654,7 @@ Administration apps/client/src/app/pages/admin/admin-page-routing.module.ts - 25 + 26 @@ -1750,7 +1750,7 @@ Nach Konto apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 41 + 256 @@ -2574,7 +2574,7 @@ Filtern nach Konto oder Tag... apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts - 133 + 139 apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts @@ -3078,11 +3078,11 @@ Jobs apps/client/src/app/pages/admin/admin-page-routing.module.ts - 16 + 17 apps/client/src/app/pages/admin/admin-page.component.ts - 39 + 44 @@ -3090,11 +3090,11 @@ Marktdaten apps/client/src/app/pages/admin/admin-page-routing.module.ts - 20 + 21 apps/client/src/app/pages/admin/admin-page.component.ts - 36 + 41 @@ -3102,7 +3102,7 @@ Benutzer apps/client/src/app/pages/admin/admin-page-routing.module.ts - 27 + 31 apps/client/src/app/pages/admin/admin-page.component.ts @@ -3666,7 +3666,7 @@ Nach ETF-Anbieter apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 257 + 276 @@ -3677,6 +3677,26 @@ 62 + + Platforms + Platforms + + apps/client/src/app/pages/admin/admin-page-routing.module.ts + 36 + + + apps/client/src/app/pages/admin/admin-page.component.ts + 36 + + + + By Platform + By Platform + + apps/client/src/app/pages/portfolio/allocations/allocations-page.html + 42 + + - + \ No newline at end of file diff --git a/apps/client/src/locales/messages.es.xlf b/apps/client/src/locales/messages.es.xlf index 194c06f2e..99a23d00d 100644 --- a/apps/client/src/locales/messages.es.xlf +++ b/apps/client/src/locales/messages.es.xlf @@ -879,7 +879,7 @@ o apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html - 20,19 + 19 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html @@ -887,7 +887,7 @@ apps/client/src/app/pages/register/register-page.html - 30,29 + 29 apps/client/src/app/pages/webauthn/webauthn-page.html @@ -1303,7 +1303,7 @@ apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.html - 193,192 + 192 apps/client/src/app/pages/blog/2022/10/hacktoberfest-2022/hacktoberfest-2022-page.html @@ -1655,7 +1655,7 @@ Control de administrador apps/client/src/app/pages/admin/admin-page-routing.module.ts - 25 + 26 @@ -1751,7 +1751,7 @@ Por cuenta apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 41 + 256 @@ -2567,7 +2567,7 @@ Filtrar por cuenta o etiqueta... apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts - 133 + 139 apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts @@ -3079,11 +3079,11 @@ Jobs apps/client/src/app/pages/admin/admin-page-routing.module.ts - 16 + 17 apps/client/src/app/pages/admin/admin-page.component.ts - 39 + 44 @@ -3091,11 +3091,11 @@ Market Data apps/client/src/app/pages/admin/admin-page-routing.module.ts - 20 + 21 apps/client/src/app/pages/admin/admin-page.component.ts - 36 + 41 @@ -3103,7 +3103,7 @@ Users apps/client/src/app/pages/admin/admin-page-routing.module.ts - 27 + 31 apps/client/src/app/pages/admin/admin-page.component.ts @@ -3667,7 +3667,7 @@ By ETF Provider apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 257 + 276 @@ -3678,6 +3678,26 @@ 62 + + Platforms + Platforms + + apps/client/src/app/pages/admin/admin-page-routing.module.ts + 36 + + + apps/client/src/app/pages/admin/admin-page.component.ts + 36 + + + + By Platform + By Platform + + apps/client/src/app/pages/portfolio/allocations/allocations-page.html + 42 + + - + \ No newline at end of file diff --git a/apps/client/src/locales/messages.fr.xlf b/apps/client/src/locales/messages.fr.xlf index 412a7c56b..adece55b2 100644 --- a/apps/client/src/locales/messages.fr.xlf +++ b/apps/client/src/locales/messages.fr.xlf @@ -1238,7 +1238,7 @@ ou apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html - 20,19 + 19 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html @@ -1246,7 +1246,7 @@ apps/client/src/app/pages/register/register-page.html - 30,29 + 29 apps/client/src/app/pages/webauthn/webauthn-page.html @@ -1978,11 +1978,11 @@ Tâches apps/client/src/app/pages/admin/admin-page-routing.module.ts - 16 + 17 apps/client/src/app/pages/admin/admin-page.component.ts - 39 + 44 @@ -1990,11 +1990,11 @@ Données de Marché apps/client/src/app/pages/admin/admin-page-routing.module.ts - 20 + 21 apps/client/src/app/pages/admin/admin-page.component.ts - 36 + 41 @@ -2002,7 +2002,7 @@ Contrôle Admin apps/client/src/app/pages/admin/admin-page-routing.module.ts - 25 + 26 @@ -2010,7 +2010,7 @@ Utilisateurs apps/client/src/app/pages/admin/admin-page-routing.module.ts - 27 + 31 apps/client/src/app/pages/admin/admin-page.component.ts @@ -2050,7 +2050,7 @@ apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.html - 193,192 + 192 apps/client/src/app/pages/blog/2022/10/hacktoberfest-2022/hacktoberfest-2022-page.html @@ -2306,7 +2306,7 @@ Filtrer par compte ou étiquette... apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts - 133 + 139 apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts @@ -2338,7 +2338,7 @@ Par Compte apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 41 + 256 @@ -3665,7 +3665,7 @@ By ETF Provider apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 257 + 276 @@ -3676,6 +3676,26 @@ 62 + + Platforms + Platforms + + apps/client/src/app/pages/admin/admin-page-routing.module.ts + 36 + + + apps/client/src/app/pages/admin/admin-page.component.ts + 36 + + + + By Platform + By Platform + + apps/client/src/app/pages/portfolio/allocations/allocations-page.html + 42 + + - + \ No newline at end of file diff --git a/apps/client/src/locales/messages.it.xlf b/apps/client/src/locales/messages.it.xlf index 36b2cdbdf..c2714defb 100644 --- a/apps/client/src/locales/messages.it.xlf +++ b/apps/client/src/locales/messages.it.xlf @@ -879,7 +879,7 @@ oppure apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html - 20,19 + 19 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html @@ -887,7 +887,7 @@ apps/client/src/app/pages/register/register-page.html - 30,29 + 29 apps/client/src/app/pages/webauthn/webauthn-page.html @@ -1303,7 +1303,7 @@ apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.html - 193,192 + 192 apps/client/src/app/pages/blog/2022/10/hacktoberfest-2022/hacktoberfest-2022-page.html @@ -1655,7 +1655,7 @@ Controllo amministrativo apps/client/src/app/pages/admin/admin-page-routing.module.ts - 25 + 26 @@ -1751,7 +1751,7 @@ Per account apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 41 + 256 @@ -2567,7 +2567,7 @@ Filtra per account o tag... apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts - 133 + 139 apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts @@ -3079,11 +3079,11 @@ Jobs apps/client/src/app/pages/admin/admin-page-routing.module.ts - 16 + 17 apps/client/src/app/pages/admin/admin-page.component.ts - 39 + 44 @@ -3091,11 +3091,11 @@ Market Data apps/client/src/app/pages/admin/admin-page-routing.module.ts - 20 + 21 apps/client/src/app/pages/admin/admin-page.component.ts - 36 + 41 @@ -3103,7 +3103,7 @@ Users apps/client/src/app/pages/admin/admin-page-routing.module.ts - 27 + 31 apps/client/src/app/pages/admin/admin-page.component.ts @@ -3667,7 +3667,7 @@ By ETF Provider apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 257 + 276 @@ -3678,6 +3678,26 @@ 62 + + Platforms + Platforms + + apps/client/src/app/pages/admin/admin-page-routing.module.ts + 36 + + + apps/client/src/app/pages/admin/admin-page.component.ts + 36 + + + + By Platform + By Platform + + apps/client/src/app/pages/portfolio/allocations/allocations-page.html + 42 + + - + \ No newline at end of file diff --git a/apps/client/src/locales/messages.nl.xlf b/apps/client/src/locales/messages.nl.xlf index a0d1308ae..20b75af97 100644 --- a/apps/client/src/locales/messages.nl.xlf +++ b/apps/client/src/locales/messages.nl.xlf @@ -878,7 +878,7 @@ of apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html - 20,19 + 19 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html @@ -886,7 +886,7 @@ apps/client/src/app/pages/register/register-page.html - 30,29 + 29 apps/client/src/app/pages/webauthn/webauthn-page.html @@ -1302,7 +1302,7 @@ apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.html - 193,192 + 192 apps/client/src/app/pages/blog/2022/10/hacktoberfest-2022/hacktoberfest-2022-page.html @@ -1654,7 +1654,7 @@ Beheerderscontrole apps/client/src/app/pages/admin/admin-page-routing.module.ts - 25 + 26 @@ -1750,7 +1750,7 @@ Per rekening apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 41 + 256 @@ -2566,7 +2566,7 @@ Filter op account of tag... apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts - 133 + 139 apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts @@ -3078,11 +3078,11 @@ Taken apps/client/src/app/pages/admin/admin-page-routing.module.ts - 16 + 17 apps/client/src/app/pages/admin/admin-page.component.ts - 39 + 44 @@ -3090,11 +3090,11 @@ Marktgegevens apps/client/src/app/pages/admin/admin-page-routing.module.ts - 20 + 21 apps/client/src/app/pages/admin/admin-page.component.ts - 36 + 41 @@ -3102,7 +3102,7 @@ Gebruikers apps/client/src/app/pages/admin/admin-page-routing.module.ts - 27 + 31 apps/client/src/app/pages/admin/admin-page.component.ts @@ -3666,7 +3666,7 @@ By ETF Provider apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 257 + 276 @@ -3677,6 +3677,26 @@ 62 + + Platforms + Platforms + + apps/client/src/app/pages/admin/admin-page-routing.module.ts + 36 + + + apps/client/src/app/pages/admin/admin-page.component.ts + 36 + + + + By Platform + By Platform + + apps/client/src/app/pages/portfolio/allocations/allocations-page.html + 42 + + - + \ No newline at end of file diff --git a/apps/client/src/locales/messages.pt.xlf b/apps/client/src/locales/messages.pt.xlf index ea69ffc93..763d0a9c2 100644 --- a/apps/client/src/locales/messages.pt.xlf +++ b/apps/client/src/locales/messages.pt.xlf @@ -1138,7 +1138,7 @@ or apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html - 20,19 + 19 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html @@ -1146,7 +1146,7 @@ apps/client/src/app/pages/register/register-page.html - 30,29 + 29 apps/client/src/app/pages/webauthn/webauthn-page.html @@ -1794,7 +1794,7 @@ Users apps/client/src/app/pages/admin/admin-page-routing.module.ts - 27 + 31 apps/client/src/app/pages/admin/admin-page.component.ts @@ -1958,7 +1958,7 @@ Admin Control apps/client/src/app/pages/admin/admin-page-routing.module.ts - 25 + 26 @@ -1994,7 +1994,7 @@ apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.html - 193,192 + 192 apps/client/src/app/pages/blog/2022/10/hacktoberfest-2022/hacktoberfest-2022-page.html @@ -2118,11 +2118,11 @@ Jobs apps/client/src/app/pages/admin/admin-page-routing.module.ts - 16 + 17 apps/client/src/app/pages/admin/admin-page.component.ts - 39 + 44 @@ -2242,7 +2242,7 @@ Filter by account or tag... apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts - 133 + 139 apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts @@ -2274,7 +2274,7 @@ By Account apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 41 + 256 @@ -3054,11 +3054,11 @@ Market Data apps/client/src/app/pages/admin/admin-page-routing.module.ts - 20 + 21 apps/client/src/app/pages/admin/admin-page.component.ts - 36 + 41 @@ -3666,7 +3666,7 @@ By ETF Provider apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 257 + 276 @@ -3677,6 +3677,26 @@ 62 + + Platforms + Platforms + + apps/client/src/app/pages/admin/admin-page-routing.module.ts + 36 + + + apps/client/src/app/pages/admin/admin-page.component.ts + 36 + + + + By Platform + By Platform + + apps/client/src/app/pages/portfolio/allocations/allocations-page.html + 42 + + - + \ No newline at end of file diff --git a/apps/client/src/locales/messages.xlf b/apps/client/src/locales/messages.xlf index 41beaea58..aec0dffd4 100644 --- a/apps/client/src/locales/messages.xlf +++ b/apps/client/src/locales/messages.xlf @@ -800,7 +800,7 @@ or apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html - 20,19 + 19 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html @@ -808,7 +808,7 @@ apps/client/src/app/pages/register/register-page.html - 30,29 + 29 apps/client/src/app/pages/webauthn/webauthn-page.html @@ -1184,7 +1184,7 @@ apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.html - 193,192 + 192 apps/client/src/app/pages/blog/2022/10/hacktoberfest-2022/hacktoberfest-2022-page.html @@ -1500,7 +1500,7 @@ Admin Control apps/client/src/app/pages/admin/admin-page-routing.module.ts - 25 + 26 @@ -1587,7 +1587,7 @@ By Account apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 41 + 256 @@ -2319,7 +2319,7 @@ Filter by account or tag... apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts - 133 + 139 apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts @@ -2771,18 +2771,18 @@ Jobs apps/client/src/app/pages/admin/admin-page-routing.module.ts - 16 + 17 apps/client/src/app/pages/admin/admin-page.component.ts - 39 + 44 Users apps/client/src/app/pages/admin/admin-page-routing.module.ts - 27 + 31 apps/client/src/app/pages/admin/admin-page.component.ts @@ -2804,11 +2804,11 @@ Market Data apps/client/src/app/pages/admin/admin-page-routing.module.ts - 20 + 21 apps/client/src/app/pages/admin/admin-page.component.ts - 36 + 41 @@ -3279,7 +3279,7 @@ By ETF Provider apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 257 + 276 @@ -3310,6 +3310,24 @@ 121 + + Platforms + + apps/client/src/app/pages/admin/admin-page-routing.module.ts + 36 + + + apps/client/src/app/pages/admin/admin-page.component.ts + 36 + + + + By Platform + + apps/client/src/app/pages/portfolio/allocations/allocations-page.html + 42 + + - + \ No newline at end of file diff --git a/libs/common/src/lib/interfaces/admin-platforms.interface.ts b/libs/common/src/lib/interfaces/admin-platforms.interface.ts new file mode 100644 index 000000000..df684158d --- /dev/null +++ b/libs/common/src/lib/interfaces/admin-platforms.interface.ts @@ -0,0 +1,16 @@ +import { AssetClass, AssetSubClass, DataSource } from '@prisma/client'; + +export interface AdminPlatforms { + platforms: AdminPlatformsItem[]; +} + +export interface AdminPlatformsItem { + assetClass?: AssetClass; + assetSubClass?: AssetSubClass; + countriesCount: number; + dataSource: DataSource; + date?: Date; + marketDataItemCount: number; + sectorsCount: number; + symbol: string; +}