Browse Source

Task/rename EnhancedSymbolProfile to EnhancedAssetProfile (#7423)

Rename EnhancedSymbolProfile to EnhancedAssetProfile
pull/7425/head
Thomas Kaul 5 days ago
committed by GitHub
parent
commit
53adcf55aa
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 8
      apps/api/src/app/activities/activities.service.ts
  2. 4
      apps/api/src/app/admin/admin.controller.ts
  3. 4
      apps/api/src/app/endpoints/asset-profiles/asset-profiles.controller.ts
  4. 16
      apps/api/src/app/endpoints/asset-profiles/asset-profiles.service.ts
  5. 14
      apps/api/src/app/portfolio/portfolio.service.ts
  6. 8
      apps/api/src/services/symbol-profile/symbol-profile.service.ts
  7. 4
      apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts
  8. 4
      libs/common/src/lib/interfaces/activities.interface.ts
  9. 4
      libs/common/src/lib/interfaces/admin-market-data-details.interface.ts
  10. 8
      libs/common/src/lib/interfaces/benchmark.interface.ts
  11. 2
      libs/common/src/lib/interfaces/enhanced-asset-profile.interface.ts
  12. 4
      libs/common/src/lib/interfaces/index.ts
  13. 4
      libs/common/src/lib/interfaces/portfolio-position.interface.ts
  14. 4
      libs/common/src/lib/interfaces/responses/asset-profile-response.interface.ts
  15. 4
      libs/common/src/lib/interfaces/responses/portfolio-holding-response.interface.ts
  16. 4
      libs/common/src/lib/interfaces/responses/public-portfolio-response.interface.ts
  17. 4
      libs/ui/src/lib/services/admin.service.ts

8
apps/api/src/app/activities/activities.service.ts

@ -28,7 +28,7 @@ import {
ActivitiesResponse,
Activity,
AssetProfileIdentifier,
EnhancedSymbolProfile,
EnhancedAssetProfile,
Filter
} from '@ghostfolio/common/interfaces';
import { OrderWithAccount } from '@ghostfolio/common/types';
@ -902,10 +902,10 @@ export class ActivitiesService {
}
public async getStatisticsByCurrency(
currency: EnhancedSymbolProfile['currency']
currency: EnhancedAssetProfile['currency']
): Promise<{
activitiesCount: EnhancedSymbolProfile['activitiesCount'];
dateOfFirstActivity: EnhancedSymbolProfile['dateOfFirstActivity'];
activitiesCount: EnhancedAssetProfile['activitiesCount'];
dateOfFirstActivity: EnhancedAssetProfile['dateOfFirstActivity'];
}> {
const { _count, _min } = await this.prismaService.order.aggregate({
_count: true,

4
apps/api/src/app/admin/admin.controller.ts

@ -25,7 +25,7 @@ import {
AdminData,
AdminUserResponse,
AdminUsersResponse,
EnhancedSymbolProfile,
EnhancedAssetProfile,
ScraperConfiguration
} from '@ghostfolio/common/interfaces';
import { permissions } from '@ghostfolio/common/permissions';
@ -304,7 +304,7 @@ export class AdminController {
@Body() assetProfile: UpdateAssetProfileDto,
@Param('dataSource') dataSource: DataSource,
@Param('symbol') symbol: string
): Promise<EnhancedSymbolProfile> {
): Promise<EnhancedAssetProfile> {
return this.adminService.patchAssetProfileData(
{ dataSource, symbol },
assetProfile

4
apps/api/src/app/endpoints/asset-profiles/asset-profiles.controller.ts

@ -9,7 +9,7 @@ import { getCurrencyFromSymbol, isCurrency } from '@ghostfolio/common/helper';
import { AssetProfileResponse } from '@ghostfolio/common/interfaces';
import {
AssetProfilesResponse,
EnhancedSymbolProfile
EnhancedAssetProfile
} from '@ghostfolio/common/interfaces';
import { hasPermission } from '@ghostfolio/common/permissions';
import { permissions } from '@ghostfolio/common/permissions';
@ -126,7 +126,7 @@ export class AssetProfilesController {
@Body() assetProfileData: UpdateAssetProfileDataDto,
@Param('dataSource') dataSource: DataSource,
@Param('symbol') symbol: string
): Promise<EnhancedSymbolProfile> {
): Promise<EnhancedAssetProfile> {
if (!this.request.user.settings.settings.isExperimentalFeatures) {
throw new HttpException(
getReasonPhrase(StatusCodes.NOT_FOUND),

16
apps/api/src/app/endpoints/asset-profiles/asset-profiles.service.ts

@ -17,7 +17,7 @@ import {
AssetProfileIdentifier,
AssetProfileItem,
AssetProfilesResponse,
EnhancedSymbolProfile,
EnhancedAssetProfile,
Filter
} from '@ghostfolio/common/interfaces';
import { MarketDataPreset } from '@ghostfolio/common/types';
@ -42,9 +42,9 @@ export class AssetProfilesService {
dataSource,
symbol
}: AssetProfileIdentifier): Promise<AdminMarketDataDetails> {
let activitiesCount: EnhancedSymbolProfile['activitiesCount'] = 0;
let currency: EnhancedSymbolProfile['currency'] = '-';
let dateOfFirstActivity: EnhancedSymbolProfile['dateOfFirstActivity'];
let activitiesCount: EnhancedAssetProfile['activitiesCount'] = 0;
let currency: EnhancedAssetProfile['currency'] = '-';
let dateOfFirstActivity: EnhancedAssetProfile['dateOfFirstActivity'];
const isCurrencyAssetProfile = isCurrency(getCurrencyFromSymbol(symbol));
@ -333,7 +333,7 @@ export class AssetProfilesService {
public async updateAssetProfileData(
{ dataSource, symbol }: AssetProfileIdentifier,
assetProfileData: UpdateAssetProfileDataDto
): Promise<EnhancedSymbolProfile> {
): Promise<EnhancedAssetProfile> {
const notFoundMessage = `Could not find the asset profile for ${symbol} (${dataSource})`;
const data = this.getAssetProfileDataUpdate(assetProfileData);
@ -446,9 +446,9 @@ export class AssetProfilesService {
const assetProfilePromises: Promise<AssetProfileItem>[] = currencyPairs.map(
async ({ dataSource, symbol }) => {
let activitiesCount: EnhancedSymbolProfile['activitiesCount'] = 0;
let currency: EnhancedSymbolProfile['currency'] = '-';
let dateOfFirstActivity: EnhancedSymbolProfile['dateOfFirstActivity'];
let activitiesCount: EnhancedAssetProfile['activitiesCount'] = 0;
let currency: EnhancedAssetProfile['currency'] = '-';
let dateOfFirstActivity: EnhancedAssetProfile['dateOfFirstActivity'];
if (isCurrency(getCurrencyFromSymbol(symbol))) {
currency = getCurrencyFromSymbol(symbol);

14
apps/api/src/app/portfolio/portfolio.service.ts

@ -48,7 +48,7 @@ import {
AccountsResponse,
Activity,
AssetProfileIdentifier,
EnhancedSymbolProfile,
EnhancedAssetProfile,
Filter,
HistoricalDataItem,
InvestmentItem,
@ -556,7 +556,7 @@ export class PortfolioService {
symbolProfiles.push(...cashSymbolProfiles);
const symbolProfileMap: {
[assetProfileIdentifier: string]: EnhancedSymbolProfile;
[assetProfileIdentifier: string]: EnhancedAssetProfile;
} = {};
for (const symbolProfile of symbolProfiles) {
@ -793,7 +793,7 @@ export class PortfolioService {
holdings: [],
name: symbol,
sectors: []
} as EnhancedSymbolProfile);
} as EnhancedAssetProfile);
const portfolioCalculator = this.calculatorFactory.createCalculator({
activities,
@ -1579,7 +1579,7 @@ export class PortfolioService {
...new Set(cashDetails.accounts.map(({ currency }) => currency))
];
return cashSymbols.map<EnhancedSymbolProfile>((currency) => {
return cashSymbols.map<EnhancedAssetProfile>((currency) => {
const account = cashDetails.accounts.find(
({ currency: accountCurrency }) => {
return accountCurrency === currency;
@ -1731,11 +1731,7 @@ export class PortfolioService {
};
}
private getMarkets({
assetProfile
}: {
assetProfile: EnhancedSymbolProfile;
}) {
private getMarkets({ assetProfile }: { assetProfile: EnhancedAssetProfile }) {
const markets = {
[UNKNOWN_KEY]: 0,
developedMarkets: 0,

8
apps/api/src/services/symbol-profile/symbol-profile.service.ts

@ -3,7 +3,7 @@ import { UNKNOWN_KEY } from '@ghostfolio/common/config';
import { applyAssetProfileOverrides } from '@ghostfolio/common/helper';
import {
AssetProfileIdentifier,
EnhancedSymbolProfile,
EnhancedAssetProfile,
Holding,
ScraperConfiguration
} from '@ghostfolio/common/interfaces';
@ -107,7 +107,7 @@ export class SymbolProfileService {
public async getSymbolProfiles(
aAssetProfileIdentifiers: AssetProfileIdentifier[]
): Promise<EnhancedSymbolProfile[]> {
): Promise<EnhancedAssetProfile[]> {
return this.prismaService.symbolProfile
.findMany({
include: {
@ -139,7 +139,7 @@ export class SymbolProfileService {
public async getSymbolProfilesByIds(
symbolProfileIds: string[]
): Promise<EnhancedSymbolProfile[]> {
): Promise<EnhancedAssetProfile[]> {
return this.prismaService.symbolProfile
.findMany({
include: {
@ -227,7 +227,7 @@ export class SymbolProfileService {
}[];
assetProfileOverrides: AssetProfileOverrides;
})[]
): EnhancedSymbolProfile[] {
): EnhancedAssetProfile[] {
return symbolProfiles.map((symbolProfile) => {
const symbolProfileWithOverrides = applyAssetProfileOverrides(
symbolProfile,

4
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts

@ -14,7 +14,7 @@ import {
import {
Activity,
DataProviderInfo,
EnhancedSymbolProfile,
EnhancedAssetProfile,
Filter,
LineChartItem,
NullableLineChartItem,
@ -121,7 +121,7 @@ export class GfHoldingDetailDialogComponent implements OnInit {
protected activitiesCount: number;
protected assetClass: string;
protected assetProfile: Pick<
EnhancedSymbolProfile,
EnhancedAssetProfile,
| 'assetClass'
| 'assetSubClass'
| 'countries'

4
libs/common/src/lib/interfaces/activities.interface.ts

@ -1,11 +1,11 @@
import { EnhancedSymbolProfile } from '@ghostfolio/common/interfaces';
import { EnhancedAssetProfile } from '@ghostfolio/common/interfaces';
import { AccountWithPlatform } from '@ghostfolio/common/types';
import { Order, Tag } from '@prisma/client';
export interface Activity extends Order {
account?: AccountWithPlatform;
assetProfile: EnhancedSymbolProfile;
assetProfile: EnhancedAssetProfile;
error?: ActivityError;
feeInAssetProfileCurrency: number;
feeInBaseCurrency: number;

4
libs/common/src/lib/interfaces/admin-market-data-details.interface.ts

@ -1,8 +1,8 @@
import { MarketData } from '@prisma/client';
import { EnhancedSymbolProfile } from './enhanced-symbol-profile.interface';
import { EnhancedAssetProfile } from './enhanced-asset-profile.interface';
export interface AdminMarketDataDetails {
assetProfile: Partial<EnhancedSymbolProfile>;
assetProfile: Partial<EnhancedAssetProfile>;
marketData: MarketData[];
}

8
libs/common/src/lib/interfaces/benchmark.interface.ts

@ -1,18 +1,18 @@
import { BenchmarkTrend } from '@ghostfolio/common/types/';
import { EnhancedSymbolProfile } from './enhanced-symbol-profile.interface';
import { EnhancedAssetProfile } from './enhanced-asset-profile.interface';
export interface Benchmark {
dataSource: EnhancedSymbolProfile['dataSource'];
dataSource: EnhancedAssetProfile['dataSource'];
marketCondition: 'ALL_TIME_HIGH' | 'BEAR_MARKET' | 'NEUTRAL_MARKET';
name: EnhancedSymbolProfile['name'];
name: EnhancedAssetProfile['name'];
performances: {
allTimeHigh: {
date: Date;
performancePercent: number;
};
};
symbol: EnhancedSymbolProfile['symbol'];
symbol: EnhancedAssetProfile['symbol'];
trend50d: BenchmarkTrend;
trend200d: BenchmarkTrend;
}

2
libs/common/src/lib/interfaces/enhanced-symbol-profile.interface.ts → libs/common/src/lib/interfaces/enhanced-asset-profile.interface.ts

@ -11,7 +11,7 @@ import { Holding } from './holding.interface';
import { ScraperConfiguration } from './scraper-configuration.interface';
import { Sector } from './sector.interface';
export interface EnhancedSymbolProfile {
export interface EnhancedAssetProfile {
activitiesCount: number;
assetClass: AssetClass;
assetSubClass: AssetSubClass;

4
libs/common/src/lib/interfaces/index.ts

@ -13,7 +13,7 @@ import type { BenchmarkProperty } from './benchmark-property.interface';
import type { Benchmark } from './benchmark.interface';
import type { Coupon } from './coupon.interface';
import type { DataProviderInfo } from './data-provider-info.interface';
import type { EnhancedSymbolProfile } from './enhanced-symbol-profile.interface';
import type { EnhancedAssetProfile } from './enhanced-asset-profile.interface';
import type { FilterGroup } from './filter-group.interface';
import type { Filter } from './filter.interface';
import type { FireCalculationCompleteEvent } from './fire-calculation-complete-event.interface';
@ -143,7 +143,7 @@ export {
DataProviderInfo,
DataProviderResponse,
DividendsResponse,
EnhancedSymbolProfile,
EnhancedAssetProfile,
ExportResponse,
Filter,
FilterGroup,

4
libs/common/src/lib/interfaces/portfolio-position.interface.ts

@ -2,13 +2,13 @@ import { Market, MarketAdvanced } from '@ghostfolio/common/types';
import { Tag } from '@prisma/client';
import { EnhancedSymbolProfile } from './enhanced-symbol-profile.interface';
import { EnhancedAssetProfile } from './enhanced-asset-profile.interface';
export interface PortfolioPosition {
activitiesCount: number;
allocationInPercentage: number;
assetProfile: Pick<
EnhancedSymbolProfile,
EnhancedAssetProfile,
| 'assetClass'
| 'assetSubClass'
| 'countries'

4
libs/common/src/lib/interfaces/responses/asset-profile-response.interface.ts

@ -1,8 +1,8 @@
import { MarketData } from '@prisma/client';
import { EnhancedSymbolProfile } from '../enhanced-symbol-profile.interface';
import { EnhancedAssetProfile } from '../enhanced-asset-profile.interface';
export interface AssetProfileResponse {
assetProfile: Partial<EnhancedSymbolProfile>;
assetProfile: Partial<EnhancedAssetProfile>;
marketData: MarketData[];
}

4
libs/common/src/lib/interfaces/responses/portfolio-holding-response.interface.ts

@ -1,7 +1,7 @@
import {
Benchmark,
DataProviderInfo,
EnhancedSymbolProfile,
EnhancedAssetProfile,
HistoricalDataItem
} from '@ghostfolio/common/interfaces';
@ -10,7 +10,7 @@ import { Tag } from '@prisma/client';
export interface PortfolioHoldingResponse {
activitiesCount: number;
assetProfile: Pick<
EnhancedSymbolProfile,
EnhancedAssetProfile,
| 'assetClass'
| 'assetSubClass'
| 'countries'

4
libs/common/src/lib/interfaces/responses/public-portfolio-response.interface.ts

@ -1,5 +1,5 @@
import {
EnhancedSymbolProfile,
EnhancedAssetProfile,
PortfolioDetails,
PortfolioPosition
} from '@ghostfolio/common/interfaces';
@ -26,7 +26,7 @@ export interface PublicPortfolioResponse extends PublicPortfolioResponseV1 {
Order,
'currency' | 'date' | 'fee' | 'quantity' | 'type' | 'unitPrice'
> & {
assetProfile?: EnhancedSymbolProfile;
assetProfile?: EnhancedAssetProfile;
value: number;
valueInBaseCurrency: number;
})[];

4
libs/ui/src/lib/services/admin.service.ts

@ -16,7 +16,7 @@ import {
AssetProfileIdentifier,
DataProviderGhostfolioStatusResponse,
DataProviderHistoricalResponse,
EnhancedSymbolProfile
EnhancedAssetProfile
} from '@ghostfolio/common/interfaces';
import { DateRange } from '@ghostfolio/common/types';
import { GF_ENVIRONMENT } from '@ghostfolio/ui/environment';
@ -196,7 +196,7 @@ export class AdminService {
url
}: UpdateAssetProfileDto
) {
return this.http.patch<EnhancedSymbolProfile>(
return this.http.patch<EnhancedAssetProfile>(
`/api/v1/admin/profile-data/${dataSource}/${encodeURIComponent(symbol)}`,
{
assetClass,

Loading…
Cancel
Save