Browse Source

Refactoring

pull/4016/head
Thomas Kaul 9 months ago
parent
commit
bba10c32a7
  1. 14
      apps/api/src/app/endpoints/data-providers/ghostfolio/ghostfolio.controller.ts
  2. 4
      apps/api/src/app/endpoints/data-providers/ghostfolio/ghostfolio.service.ts
  3. 4
      apps/api/src/services/data-provider/data-provider.service.ts
  4. 6
      apps/client/src/app/components/admin-settings/admin-settings.component.html
  5. 6
      apps/client/src/app/components/admin-settings/admin-settings.component.ts
  6. 4
      apps/client/src/app/services/admin.service.ts

14
apps/api/src/app/endpoints/data-providers/ghostfolio/ghostfolio.controller.ts

@ -1,7 +1,5 @@
import { HasPermission } from '@ghostfolio/api/decorators/has-permission.decorator';
import { HasPermissionGuard } from '@ghostfolio/api/guards/has-permission.guard';
import { PropertyService } from '@ghostfolio/api/services/property/property.service';
import { PROPERTY_API_KEY_GHOSTFOLIO } from '@ghostfolio/common/config';
import { parseDate } from '@ghostfolio/common/helper';
import {
DataProviderGhostfolioStatusResponse,
@ -33,7 +31,6 @@ import { GhostfolioService } from './ghostfolio.service';
export class GhostfolioController {
public constructor(
private readonly ghostfolioService: GhostfolioService,
private readonly propertyService: PropertyService,
@Inject(REQUEST) private readonly request: RequestWithUser
) {}
@ -153,17 +150,6 @@ export class GhostfolioController {
@HasPermission(permissions.enableDataProviderGhostfolio)
@UseGuards(AuthGuard('jwt'), HasPermissionGuard)
public async getStatus(): Promise<DataProviderGhostfolioStatusResponse> {
const ghostfolioApiKey = (await this.propertyService.getByKey(
PROPERTY_API_KEY_GHOSTFOLIO
)) as string;
if (!ghostfolioApiKey) {
throw new HttpException(
getReasonPhrase(StatusCodes.SERVICE_UNAVAILABLE),
StatusCodes.SERVICE_UNAVAILABLE
);
}
return {
dailyRequests: this.request.user.dataProviderGhostfolioDailyRequests,
dailyRequestsMax: await this.ghostfolioService.getMaxDailyRequests()

4
apps/api/src/app/endpoints/data-providers/ghostfolio/ghostfolio.service.ts

@ -202,11 +202,11 @@ export class GhostfolioService {
const searchResults = await Promise.all(promises);
searchResults.forEach(({ items }) => {
for (const { items } of searchResults) {
if (items?.length > 0) {
lookupItems = lookupItems.concat(items);
}
});
}
const filteredItems = lookupItems
.filter(({ currency }) => {

4
apps/api/src/services/data-provider/data-provider.service.ts

@ -625,11 +625,11 @@ export class DataProviderService {
const searchResults = await Promise.all(promises);
searchResults.forEach(({ items }) => {
for (const { items } of searchResults) {
if (items?.length > 0) {
lookupItems = lookupItems.concat(items);
}
});
}
const filteredItems = lookupItems
.filter(({ currency }) => {

6
apps/client/src/app/components/admin-settings/admin-settings.component.html

@ -11,7 +11,7 @@
target="_blank"
[href]="pricingUrl"
>
@if (hasGhostfolioApiKey === false) {
@if (isGhostfolioApiKeyValid === false) {
<span class="badge badge-warning mr-1" i18n>NEW</span>
}
Ghostfolio Premium
@ -22,7 +22,7 @@
</a>
</div>
<div class="w-50">
@if (hasGhostfolioApiKey === true) {
@if (isGhostfolioApiKeyValid === true) {
<div class="align-items-center d-flex flex-wrap">
<div class="mr-3">
{{ ghostfolioApiStatus.dailyRequests }}
@ -38,7 +38,7 @@
<span i18n>Remove API key</span>
</button>
</div>
} @else if (hasGhostfolioApiKey === false) {
} @else if (isGhostfolioApiKeyValid === false) {
<button
color="accent"
mat-flat-button

6
apps/client/src/app/components/admin-settings/admin-settings.component.ts

@ -30,7 +30,7 @@ import { GfGhostfolioPremiumApiDialogComponent } from './ghostfolio-premium-api-
})
export class AdminSettingsComponent implements OnDestroy, OnInit {
public ghostfolioApiStatus: DataProviderGhostfolioStatusResponse;
public hasGhostfolioApiKey: boolean;
public isGhostfolioApiKeyValid: boolean;
public pricingUrl: string;
private deviceType: string;
@ -113,7 +113,7 @@ export class AdminSettingsComponent implements OnDestroy, OnInit {
.fetchGhostfolioDataProviderStatus()
.pipe(
catchError(() => {
this.hasGhostfolioApiKey = false;
this.isGhostfolioApiKeyValid = false;
this.changeDetectorRef.markForCheck();
@ -126,7 +126,7 @@ export class AdminSettingsComponent implements OnDestroy, OnInit {
)
.subscribe((status) => {
this.ghostfolioApiStatus = status;
this.hasGhostfolioApiKey = true;
this.isGhostfolioApiKeyValid = true;
this.changeDetectorRef.markForCheck();
});

4
apps/client/src/app/services/admin.service.ts

@ -18,9 +18,9 @@ import {
AdminMarketData,
AdminMarketDataDetails,
AdminUsers,
DataProviderGhostfolioStatusResponse,
EnhancedSymbolProfile,
Filter,
DataProviderGhostfolioStatusResponse
Filter
} from '@ghostfolio/common/interfaces';
import { HttpClient, HttpParams } from '@angular/common/http';

Loading…
Cancel
Save