Browse Source

Make trackinsight URL configurable

pull/7150/head
Alexander Linder 3 weeks ago
parent
commit
0ba1cb0b51
Failed to extract signature
  1. 1
      apps/api/src/services/configuration/configuration.service.ts
  2. 11
      apps/api/src/services/data-provider/data-enhancer/trackinsight/trackinsight.service.ts
  3. 1
      apps/api/src/services/interfaces/environment.interface.ts

1
apps/api/src/services/configuration/configuration.service.ts

@ -108,6 +108,7 @@ export class ConfigurationService {
default: environment.rootUrl
}),
STRIPE_SECRET_KEY: str({ default: '' }),
TRACKINSIGHT_BASE_URL: url({ default: 'https://www.trackinsight.com' }),
TWITTER_ACCESS_TOKEN: str({ default: 'dummyAccessToken' }),
TWITTER_ACCESS_TOKEN_SECRET: str({ default: 'dummyAccessTokenSecret' }),
TWITTER_API_KEY: str({ default: 'dummyApiKey' }),

11
apps/api/src/services/data-provider/data-enhancer/trackinsight/trackinsight.service.ts

@ -13,7 +13,6 @@ import { SymbolProfile } from '@prisma/client';
@Injectable()
export class TrackinsightDataEnhancerService implements DataEnhancerInterface {
private static baseUrl = 'https://www.trackinsight.com/data-api';
private static countriesMapping = {
'Republic of Korea': 'KR',
'Russian Federation': 'RU',
@ -38,6 +37,10 @@ export class TrackinsightDataEnhancerService implements DataEnhancerInterface {
private readonly fetchService: FetchService
) {}
private get baseUrl() {
return this.configurationService.get('TRACKINSIGHT_BASE_URL');
}
public async enhance({
requestTimeout = this.configurationService.get('REQUEST_TIMEOUT'),
response,
@ -74,7 +77,7 @@ export class TrackinsightDataEnhancerService implements DataEnhancerInterface {
const profile = await this.fetchService
.fetch(
`${TrackinsightDataEnhancerService.baseUrl}/funds/${trackinsightSymbol}.json`,
`${this.baseUrl}/data-api/funds/${trackinsightSymbol}.json`,
{
signal: AbortSignal.timeout(requestTimeout)
}
@ -98,7 +101,7 @@ export class TrackinsightDataEnhancerService implements DataEnhancerInterface {
const holdings = await this.fetchService
.fetch(
`${TrackinsightDataEnhancerService.baseUrl}/holdings/${trackinsightSymbol}.json`,
`${this.baseUrl}/data-api/holdings/${trackinsightSymbol}.json`,
{
signal: AbortSignal.timeout(requestTimeout)
}
@ -191,7 +194,7 @@ export class TrackinsightDataEnhancerService implements DataEnhancerInterface {
}) {
return this.fetchService
.fetch(
`https://www.trackinsight.com/search-api/search_v2/${symbol}/_/ticker/default/0/3`,
`${this.baseUrl}/search-api/search_v2/${symbol}/_/ticker/default/0/3`,
{
signal: AbortSignal.timeout(requestTimeout)
}

1
apps/api/src/services/interfaces/environment.interface.ts

@ -55,6 +55,7 @@ export interface Environment extends CleanedEnvAccessors {
REQUEST_TIMEOUT: number;
ROOT_URL: string;
STRIPE_SECRET_KEY: string;
TRACKINSIGHT_BASE_URL: string;
TWITTER_ACCESS_TOKEN: string;
TWITTER_ACCESS_TOKEN_SECRET: string;
TWITTER_API_KEY: string;

Loading…
Cancel
Save