Browse Source

Remove deprecated SymbolProfile from create activity endpoint

pull/8125/head
Thomas Kaul 4 days ago
parent
commit
61a70f611b
  1. 3
      apps/api/src/app/activities/activities.controller.ts
  2. 23
      apps/api/src/helper/object.helper.spec.ts
  3. 4
      apps/api/src/interceptors/transform-data-source-in-response/transform-data-source-in-response.interceptor.ts
  4. 10
      libs/common/src/lib/config.ts
  5. 7
      libs/common/src/lib/interfaces/responses/create-activity-response.interface.ts

3
apps/api/src/app/activities/activities.controller.ts

@ -38,6 +38,7 @@ import {
import { Order } from '@prisma/client'; import { Order } from '@prisma/client';
import { parseISO } from 'date-fns'; import { parseISO } from 'date-fns';
import { StatusCodes, getReasonPhrase } from 'http-status-codes'; import { StatusCodes, getReasonPhrase } from 'http-status-codes';
import { omit } from 'lodash-es';
import { ActivitiesFilterDto } from './activities-filter.dto'; import { ActivitiesFilterDto } from './activities-filter.dto';
import { ActivitiesService } from './activities.service'; import { ActivitiesService } from './activities.service';
@ -314,7 +315,7 @@ export class ActivitiesController {
} }
]); ]);
return { ...activity, assetProfile }; return { ...omit(activity, ['SymbolProfile']), assetProfile };
} }
@HasPermission(permissions.updateActivity) @HasPermission(permissions.updateActivity)

23
apps/api/src/helper/object.helper.spec.ts

@ -3121,8 +3121,8 @@ describe('redactAttributes', () => {
}); });
// The endpoint POST api/v1/activities returns a row of the database with the // The endpoint POST api/v1/activities returns a row of the database with the
// asset profile and the deprecated relation to the symbol profile // asset profile
it('should redact an activity with the asset profile and the relation to the symbol profile', () => { it('should redact an activity with the asset profile', () => {
expect( expect(
redactPaths({ redactPaths({
object: { object: {
@ -3144,18 +3144,6 @@ describe('redactAttributes', () => {
fee: 19.9, fee: 19.9,
id: '8c623328-6035-4b5f-b6d5-702cc1c9c56b', id: '8c623328-6035-4b5f-b6d5-702cc1c9c56b',
quantity: 50, quantity: 50,
SymbolProfile: {
comment: 'Reviewed by the administrator',
name: 'Apple Inc',
scraperConfiguration: {
headers: { Authorization: 'Bearer TOKEN' },
mode: 'lazy',
selector: '.price',
url: 'https://example.org/get_price'
},
symbol: 'AAPL',
symbolMapping: { YAHOO: 'AAPL' }
},
type: 'BUY', type: 'BUY',
unitPrice: 220.79 unitPrice: 220.79
}, },
@ -3175,13 +3163,6 @@ describe('redactAttributes', () => {
fee: null, fee: null,
id: '8c623328-6035-4b5f-b6d5-702cc1c9c56b', id: '8c623328-6035-4b5f-b6d5-702cc1c9c56b',
quantity: null, quantity: null,
SymbolProfile: {
comment: null,
name: 'Apple Inc',
scraperConfiguration: null,
symbol: 'AAPL',
symbolMapping: null
},
type: 'BUY', type: 'BUY',
unitPrice: 220.79 unitPrice: 220.79
}); });

4
apps/api/src/interceptors/transform-data-source-in-response/transform-data-source-in-response.interceptor.ts

@ -94,10 +94,6 @@ export class TransformDataSourceInResponseInterceptor<
'items[*].dataSource', 'items[*].dataSource',
'latestActivities[*].assetProfile.dataSource', 'latestActivities[*].assetProfile.dataSource',
'settings["filters.dataSource"]', 'settings["filters.dataSource"]',
/* @deprecated */
'SymbolProfile.dataSource',
'watchlist[*].dataSource' 'watchlist[*].dataSource'
] ]
}); });

10
libs/common/src/lib/config.ts

@ -180,16 +180,6 @@ export const DEFAULT_REDACTED_PATHS = [
'settings.emergencyFund', 'settings.emergencyFund',
'settings.projectedTotalAmount', 'settings.projectedTotalAmount',
'settings.savingsRate', 'settings.savingsRate',
/* @deprecated */
'SymbolProfile.comment',
/* @deprecated */
'SymbolProfile.scraperConfiguration',
/* @deprecated */
'SymbolProfile.symbolMapping',
'totalBalanceInBaseCurrency', 'totalBalanceInBaseCurrency',
'totalDividendInBaseCurrency', 'totalDividendInBaseCurrency',
'totalInterestInBaseCurrency', 'totalInterestInBaseCurrency',

7
libs/common/src/lib/interfaces/responses/create-activity-response.interface.ts

@ -1,12 +1,7 @@
import type { Order, SymbolProfile } from '@ghostfolio/prisma/browser'; import type { Order } from '@ghostfolio/prisma/browser';
import { EnhancedAssetProfile } from '../enhanced-asset-profile.interface'; import { EnhancedAssetProfile } from '../enhanced-asset-profile.interface';
export interface CreateActivityResponse extends Order { export interface CreateActivityResponse extends Order {
assetProfile: EnhancedAssetProfile; assetProfile: EnhancedAssetProfile;
/**
* @deprecated Use `assetProfile` instead
*/
SymbolProfile: SymbolProfile;
} }

Loading…
Cancel
Save