From 5a69345c6f0bc03dc3d442b75f544ac22aec8da7 Mon Sep 17 00:00:00 2001 From: Chang-Yen Tseng <10328757+Summon528@users.noreply.github.com> Date: Mon, 17 Mar 2025 21:08:21 -0700 Subject: [PATCH] Use date-fns/utc --- apps/client/src/app/services/admin.service.ts | 17 ++--------------- apps/client/src/app/services/data.service.ts | 8 +++++--- package-lock.json | 6 ++++++ package.json | 1 + 4 files changed, 14 insertions(+), 18 deletions(-) diff --git a/apps/client/src/app/services/admin.service.ts b/apps/client/src/app/services/admin.service.ts index 5d71a80f9..fea3924e9 100644 --- a/apps/client/src/app/services/admin.service.ts +++ b/apps/client/src/app/services/admin.service.ts @@ -8,7 +8,6 @@ import { PROPERTY_API_KEY_GHOSTFOLIO } from '@ghostfolio/common/config'; import { DEFAULT_PAGE_SIZE } from '@ghostfolio/common/config'; -import { DATE_FORMAT } from '@ghostfolio/common/helper'; import { AssetProfileIdentifier, AdminData, @@ -25,7 +24,6 @@ import { Injectable } from '@angular/core'; import { SortDirection } from '@angular/material/sort'; import { DataSource, MarketData, Platform } from '@prisma/client'; import { JobStatus } from 'bull'; -import { format } from 'date-fns'; import { switchMap } from 'rxjs'; import { environment } from '../../environments/environment'; @@ -186,19 +184,8 @@ export class AdminService { ); } - public gatherSymbol({ - dataSource, - date, - symbol - }: AssetProfileIdentifier & { - date?: Date; - }) { - let url = `/api/v1/admin/gather/${dataSource}/${symbol}`; - - if (date) { - url = `${url}/${format(date, DATE_FORMAT)}`; - } - + public gatherSymbol({ dataSource, symbol }: AssetProfileIdentifier) { + const url = `/api/v1/admin/gather/${dataSource}/${symbol}`; return this.http.post(url, {}); } diff --git a/apps/client/src/app/services/data.service.ts b/apps/client/src/app/services/data.service.ts index f3b6c9f21..1621b3a46 100644 --- a/apps/client/src/app/services/data.service.ts +++ b/apps/client/src/app/services/data.service.ts @@ -19,6 +19,7 @@ import { UserItem } from '@ghostfolio/api/app/user/interfaces/user-item.interfac import { UpdateUserSettingDto } from '@ghostfolio/api/app/user/update-user-setting.dto'; import { IDataProviderHistoricalResponse } from '@ghostfolio/api/services/interfaces/interfaces'; import { PropertyDto } from '@ghostfolio/api/services/property/property.dto'; +import { DATE_FORMAT } from '@ghostfolio/common/helper'; import { Access, AccountBalancesResponse, @@ -56,6 +57,7 @@ import { translate } from '@ghostfolio/ui/i18n'; import { HttpClient, HttpParams } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { SortDirection } from '@angular/material/sort'; +import { utc } from '@date-fns/utc'; import { AccountBalance, DataSource, @@ -63,7 +65,7 @@ import { Order as OrderModel, Tag } from '@prisma/client'; -import { parseISO } from 'date-fns'; +import { parseISO, format } from 'date-fns'; import { cloneDeep, groupBy, isNumber } from 'lodash'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; @@ -280,7 +282,7 @@ export class DataService { symbol: string; }) { return this.http.get( - `/api/v1/exchange-rate/${symbol}/${date.toISOString().split('T')[0]}` + `/api/v1/exchange-rate/${symbol}/${format(date, DATE_FORMAT, { in: utc })}` ); } @@ -362,7 +364,7 @@ export class DataService { } return this.http.get( - `/api/v1/benchmarks/${dataSource}/${symbol}/${startDate.toISOString().split('T')[0]}`, + `/api/v1/benchmarks/${dataSource}/${symbol}/${format(startDate, DATE_FORMAT, { in: utc })}`, { params } ); } diff --git a/package-lock.json b/package-lock.json index a6e4d4dd7..5762ae725 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,6 +22,7 @@ "@angular/router": "19.2.1", "@angular/service-worker": "19.2.1", "@codewithdan/observable-store": "2.2.15", + "@date-fns/utc": "^2.1.0", "@dfinity/agent": "0.15.7", "@dfinity/auth-client": "0.15.7", "@dfinity/candid": "0.15.7", @@ -3113,6 +3114,11 @@ "dev": true, "license": "MIT" }, + "node_modules/@date-fns/utc": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@date-fns/utc/-/utc-2.1.0.tgz", + "integrity": "sha512-176grgAgU2U303rD2/vcOmNg0kGPbhzckuH1TEP2al7n0AQipZIy9P15usd2TKQCG1g+E1jX/ZVQSzs4sUDwgA==" + }, "node_modules/@dfinity/agent": { "version": "0.15.7", "resolved": "https://registry.npmjs.org/@dfinity/agent/-/agent-0.15.7.tgz", diff --git a/package.json b/package.json index eb3a7083d..2d9418f11 100644 --- a/package.json +++ b/package.json @@ -68,6 +68,7 @@ "@angular/router": "19.2.1", "@angular/service-worker": "19.2.1", "@codewithdan/observable-store": "2.2.15", + "@date-fns/utc": "^2.1.0", "@dfinity/agent": "0.15.7", "@dfinity/auth-client": "0.15.7", "@dfinity/candid": "0.15.7",