|
|
@ -3,6 +3,7 @@ import { HasPermissionGuard } from '@ghostfolio/api/guards/has-permission.guard' |
|
|
import { TransformDataSourceInRequestInterceptor } from '@ghostfolio/api/interceptors/transform-data-source-in-request/transform-data-source-in-request.interceptor'; |
|
|
import { TransformDataSourceInRequestInterceptor } from '@ghostfolio/api/interceptors/transform-data-source-in-request/transform-data-source-in-request.interceptor'; |
|
|
import { TransformDataSourceInResponseInterceptor } from '@ghostfolio/api/interceptors/transform-data-source-in-response/transform-data-source-in-response.interceptor'; |
|
|
import { TransformDataSourceInResponseInterceptor } from '@ghostfolio/api/interceptors/transform-data-source-in-response/transform-data-source-in-response.interceptor'; |
|
|
import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service'; |
|
|
import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service'; |
|
|
|
|
|
import { SubscriptionType } from '@ghostfolio/common/enums'; |
|
|
import { ImportResponse } from '@ghostfolio/common/interfaces'; |
|
|
import { ImportResponse } from '@ghostfolio/common/interfaces'; |
|
|
import { hasPermission, permissions } from '@ghostfolio/common/permissions'; |
|
|
import { hasPermission, permissions } from '@ghostfolio/common/permissions'; |
|
|
import type { RequestWithUser } from '@ghostfolio/common/types'; |
|
|
import type { RequestWithUser } from '@ghostfolio/common/types'; |
|
|
@ -62,7 +63,7 @@ export class ImportController { |
|
|
|
|
|
|
|
|
if ( |
|
|
if ( |
|
|
this.configurationService.get('ENABLE_FEATURE_SUBSCRIPTION') && |
|
|
this.configurationService.get('ENABLE_FEATURE_SUBSCRIPTION') && |
|
|
this.request.user.subscription.type === 'Premium' |
|
|
this.request.user.subscription.type === SubscriptionType.Premium |
|
|
) { |
|
|
) { |
|
|
maxActivitiesToImport = Number.MAX_SAFE_INTEGER; |
|
|
maxActivitiesToImport = Number.MAX_SAFE_INTEGER; |
|
|
} |
|
|
} |
|
|
@ -100,6 +101,17 @@ export class ImportController { |
|
|
@Param('dataSource') dataSource: DataSource, |
|
|
@Param('dataSource') dataSource: DataSource, |
|
|
@Param('symbol') symbol: string |
|
|
@Param('symbol') symbol: string |
|
|
): Promise<ImportResponse> { |
|
|
): Promise<ImportResponse> { |
|
|
|
|
|
let maxActivitiesToImport = this.configurationService.get( |
|
|
|
|
|
'MAX_ACTIVITIES_TO_IMPORT' |
|
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
if ( |
|
|
|
|
|
this.configurationService.get('ENABLE_FEATURE_SUBSCRIPTION') && |
|
|
|
|
|
this.request.user.subscription.type === SubscriptionType.Premium |
|
|
|
|
|
) { |
|
|
|
|
|
maxActivitiesToImport = Number.MAX_SAFE_INTEGER; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
const activities = await this.importService.getDividends({ |
|
|
const activities = await this.importService.getDividends({ |
|
|
dataSource, |
|
|
dataSource, |
|
|
symbol, |
|
|
symbol, |
|
|
@ -107,6 +119,6 @@ export class ImportController { |
|
|
userId: this.request.user.id |
|
|
userId: this.request.user.id |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
return { activities }; |
|
|
return { activities: activities.slice(0, maxActivitiesToImport) }; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|