Browse Source

feat(lib): inject environment token

pull/6159/head
KenTandrian 1 week ago
parent
commit
67125673e4
  1. 5
      apps/client/src/main.ts
  2. 10
      libs/ui/src/lib/services/admin.service.ts
  3. 11
      libs/ui/src/lib/tokens/env.token.ts
  4. 1
      libs/ui/src/lib/tokens/index.ts

5
apps/client/src/main.ts

@ -1,6 +1,7 @@
import { InfoResponse } from '@ghostfolio/common/interfaces';
import { filterGlobalPermissions } from '@ghostfolio/common/permissions';
import { GfNotificationModule } from '@ghostfolio/ui/notifications';
import { GF_ENVIRONMENT } from '@ghostfolio/ui/tokens';
import { Platform } from '@angular/cdk/platform';
import {
@ -89,6 +90,10 @@ import { environment } from './environments/environment';
provide: DateAdapter,
useClass: CustomDateAdapter
},
{
provide: GF_ENVIRONMENT,
useValue: environment
},
{
provide: MAT_DATE_FORMATS,
useValue: DateFormats

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

@ -22,22 +22,22 @@ import {
} from '@ghostfolio/common/interfaces';
import { DateRange } from '@ghostfolio/common/types';
import { DataService } from '@ghostfolio/ui/services';
import { GfEnvironment, GF_ENVIRONMENT } from '@ghostfolio/ui/tokens';
import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Inject, Injectable } from '@angular/core';
import { SortDirection } from '@angular/material/sort';
import { DataSource, MarketData, Platform } from '@prisma/client';
import { JobStatus } from 'bull';
import { environment } from '../../environments/environment';
@Injectable({
providedIn: 'root'
})
export class AdminService {
public constructor(
private dataService: DataService,
private http: HttpClient
private http: HttpClient,
@Inject(GF_ENVIRONMENT) private environment: GfEnvironment
) {}
public addAssetProfile({ dataSource, symbol }: AssetProfileIdentifier) {
@ -124,7 +124,7 @@ export class AdminService {
});
return this.http.get<DataProviderGhostfolioStatusResponse>(
`${environment.production ? 'https://ghostfol.io' : ''}/api/v2/data-providers/ghostfolio/status`,
`${this.environment.production ? 'https://ghostfol.io' : ''}/api/v2/data-providers/ghostfolio/status`,
{ headers }
);
}

11
libs/ui/src/lib/tokens/env.token.ts

@ -0,0 +1,11 @@
import { InjectionToken } from '@angular/core';
export interface GfEnvironment {
lastPublish: string | null;
production: boolean;
stripePublicKey: string;
}
export const GF_ENVIRONMENT = new InjectionToken<GfEnvironment>(
'GF_ENVIRONMENT'
);

1
libs/ui/src/lib/tokens/index.ts

@ -0,0 +1 @@
export * from './env.token';
Loading…
Cancel
Save