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 default: environment.rootUrl
}), }),
STRIPE_SECRET_KEY: str({ default: '' }), STRIPE_SECRET_KEY: str({ default: '' }),
TRACKINSIGHT_BASE_URL: url({ default: 'https://www.trackinsight.com' }),
TWITTER_ACCESS_TOKEN: str({ default: 'dummyAccessToken' }), TWITTER_ACCESS_TOKEN: str({ default: 'dummyAccessToken' }),
TWITTER_ACCESS_TOKEN_SECRET: str({ default: 'dummyAccessTokenSecret' }), TWITTER_ACCESS_TOKEN_SECRET: str({ default: 'dummyAccessTokenSecret' }),
TWITTER_API_KEY: str({ default: 'dummyApiKey' }), 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() @Injectable()
export class TrackinsightDataEnhancerService implements DataEnhancerInterface { export class TrackinsightDataEnhancerService implements DataEnhancerInterface {
private static baseUrl = 'https://www.trackinsight.com/data-api';
private static countriesMapping = { private static countriesMapping = {
'Republic of Korea': 'KR', 'Republic of Korea': 'KR',
'Russian Federation': 'RU', 'Russian Federation': 'RU',
@ -38,6 +37,10 @@ export class TrackinsightDataEnhancerService implements DataEnhancerInterface {
private readonly fetchService: FetchService private readonly fetchService: FetchService
) {} ) {}
private get baseUrl() {
return this.configurationService.get('TRACKINSIGHT_BASE_URL');
}
public async enhance({ public async enhance({
requestTimeout = this.configurationService.get('REQUEST_TIMEOUT'), requestTimeout = this.configurationService.get('REQUEST_TIMEOUT'),
response, response,
@ -74,7 +77,7 @@ export class TrackinsightDataEnhancerService implements DataEnhancerInterface {
const profile = await this.fetchService const profile = await this.fetchService
.fetch( .fetch(
`${TrackinsightDataEnhancerService.baseUrl}/funds/${trackinsightSymbol}.json`, `${this.baseUrl}/data-api/funds/${trackinsightSymbol}.json`,
{ {
signal: AbortSignal.timeout(requestTimeout) signal: AbortSignal.timeout(requestTimeout)
} }
@ -98,7 +101,7 @@ export class TrackinsightDataEnhancerService implements DataEnhancerInterface {
const holdings = await this.fetchService const holdings = await this.fetchService
.fetch( .fetch(
`${TrackinsightDataEnhancerService.baseUrl}/holdings/${trackinsightSymbol}.json`, `${this.baseUrl}/data-api/holdings/${trackinsightSymbol}.json`,
{ {
signal: AbortSignal.timeout(requestTimeout) signal: AbortSignal.timeout(requestTimeout)
} }
@ -191,7 +194,7 @@ export class TrackinsightDataEnhancerService implements DataEnhancerInterface {
}) { }) {
return this.fetchService return this.fetchService
.fetch( .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) 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; REQUEST_TIMEOUT: number;
ROOT_URL: string; ROOT_URL: string;
STRIPE_SECRET_KEY: string; STRIPE_SECRET_KEY: string;
TRACKINSIGHT_BASE_URL: string;
TWITTER_ACCESS_TOKEN: string; TWITTER_ACCESS_TOKEN: string;
TWITTER_ACCESS_TOKEN_SECRET: string; TWITTER_ACCESS_TOKEN_SECRET: string;
TWITTER_API_KEY: string; TWITTER_API_KEY: string;

Loading…
Cancel
Save