diff --git a/apps/api/src/app/endpoints/public/public.controller.ts b/apps/api/src/app/endpoints/public/public.controller.ts index 59f3f9732..eb7b5238c 100644 --- a/apps/api/src/app/endpoints/public/public.controller.ts +++ b/apps/api/src/app/endpoints/public/public.controller.ts @@ -93,15 +93,21 @@ export class PublicController { const { activities } = await latestActivitiesPromise; const latestActivities = activities.map((a) => ({ + account: a.account + ? { + currency: a.account.currency, + name: a.account.name, + platform: a.account.platform + } + : undefined, + currency: a.currency, date: a.date, quantity: a.quantity, - SymbolProfile: { - dataSource: a.SymbolProfile?.dataSource, - name: a.SymbolProfile?.name ?? '', - symbol: a.SymbolProfile?.symbol ?? '' - }, + SymbolProfile: a.SymbolProfile, type: a.type, - unitPrice: a.unitPrice + unitPrice: a.unitPrice, + value: a.value, + valueInBaseCurrency: a.valueInBaseCurrency })); Object.values(markets ?? {}).forEach((market) => { diff --git a/apps/client/src/app/pages/public/public-page.component.ts b/apps/client/src/app/pages/public/public-page.component.ts index c7deff59a..e7b24c2ab 100644 --- a/apps/client/src/app/pages/public/public-page.component.ts +++ b/apps/client/src/app/pages/public/public-page.component.ts @@ -58,12 +58,12 @@ export class GfPublicPageComponent implements OnInit { }; public defaultAlias = $localize`someone`; public deviceType: string; - public maxSafeInteger = Number.MAX_SAFE_INTEGER; - public latestActivitiesDataSource: MatTableDataSource; public holdings: PublicPortfolioResponse['holdings'][string][]; + public latestActivitiesDataSource: MatTableDataSource; public markets: { [key in Market]: { id: Market; valueInPercentage: number }; }; + public maxSafeInteger = Number.MAX_SAFE_INTEGER; public positions: { [symbol: string]: Pick & { value: number; diff --git a/apps/client/src/app/pages/public/public-page.html b/apps/client/src/app/pages/public/public-page.html index 48719a234..3bf14ae59 100644 --- a/apps/client/src/app/pages/public/public-page.html +++ b/apps/client/src/app/pages/public/public-page.html @@ -220,6 +220,7 @@ [hasPermissionToExportActivities]="false" [hasPermissionToOpenDetails]="false" [pageSize]="maxSafeInteger" + [showActions]="false" /> diff --git a/libs/common/src/lib/interfaces/responses/public-portfolio-response.interface.ts b/libs/common/src/lib/interfaces/responses/public-portfolio-response.interface.ts index 42e4081da..7c1014983 100644 --- a/libs/common/src/lib/interfaces/responses/public-portfolio-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/public-portfolio-response.interface.ts @@ -1,7 +1,8 @@ -import type { DataSource, Order } from '@prisma/client'; +import type { Order } from '@prisma/client'; -import { PortfolioDetails, PortfolioPosition } from '..'; +import { EnhancedSymbolProfile, PortfolioDetails, PortfolioPosition } from '..'; import { Market } from '../../types'; +import type { AccountWithPlatform } from '../../types'; export interface PublicPortfolioResponse extends PublicPortfolioResponseV1 { alias?: string; @@ -25,12 +26,14 @@ export interface PublicPortfolioResponse extends PublicPortfolioResponseV1 { | 'valueInPercentage' >; }; - latestActivities: (Pick & { - SymbolProfile: { - dataSource: DataSource; - name: string; - symbol: string; - }; + latestActivities: (Pick< + Order, + 'currency' | 'date' | 'quantity' | 'type' | 'unitPrice' + > & { + account?: Pick; + SymbolProfile?: EnhancedSymbolProfile; + value: number; + valueInBaseCurrency: number; })[]; markets: { [key in Market]: Pick<