diff --git a/CHANGELOG.md b/CHANGELOG.md index 9cd9ed8c1..3b989fb80 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Added the data export feature to the user account page +### Fixed + +- Fixed an issue with the date parsing in the historical market data editor of the admin control panel + ## 1.300.0 - 2023-08-11 ### Added diff --git a/apps/api/src/app/admin/admin.controller.ts b/apps/api/src/app/admin/admin.controller.ts index 8e3fb2871..67e106ff8 100644 --- a/apps/api/src/app/admin/admin.controller.ts +++ b/apps/api/src/app/admin/admin.controller.ts @@ -38,7 +38,7 @@ import { import { REQUEST } from '@nestjs/core'; import { AuthGuard } from '@nestjs/passport'; import { DataSource, MarketData, Prisma, SymbolProfile } from '@prisma/client'; -import { isDate } from 'date-fns'; +import { isDate, parseISO } from 'date-fns'; import { StatusCodes, getReasonPhrase } from 'http-status-codes'; import { AdminService } from './admin.service'; @@ -233,7 +233,7 @@ export class AdminController { ); } - const date = new Date(dateString); + const date = parseISO(dateString); if (!isDate(date)) { throw new HttpException( @@ -333,7 +333,7 @@ export class AdminController { ); } - const date = new Date(dateString); + const date = parseISO(dateString); return this.marketDataService.updateMarketData({ data: { marketPrice: data.marketPrice, state: 'CLOSE' }, diff --git a/apps/api/src/app/exchange-rate/exchange-rate.controller.ts b/apps/api/src/app/exchange-rate/exchange-rate.controller.ts index ca9b67ced..40ff9d3c8 100644 --- a/apps/api/src/app/exchange-rate/exchange-rate.controller.ts +++ b/apps/api/src/app/exchange-rate/exchange-rate.controller.ts @@ -10,6 +10,7 @@ import { AuthGuard } from '@nestjs/passport'; import { StatusCodes, getReasonPhrase } from 'http-status-codes'; import { ExchangeRateService } from './exchange-rate.service'; +import { parseISO } from 'date-fns'; @Controller('exchange-rate') export class ExchangeRateController { @@ -23,7 +24,7 @@ export class ExchangeRateController { @Param('dateString') dateString: string, @Param('symbol') symbol: string ): Promise { - const date = new Date(dateString); + const date = parseISO(dateString); const exchangeRate = await this.exchangeRateService.getExchangeRate({ date, diff --git a/apps/api/src/app/symbol/symbol.controller.ts b/apps/api/src/app/symbol/symbol.controller.ts index da73382a6..e09b08f5b 100644 --- a/apps/api/src/app/symbol/symbol.controller.ts +++ b/apps/api/src/app/symbol/symbol.controller.ts @@ -21,6 +21,7 @@ import { isDate, isEmpty } from 'lodash'; import { LookupItem } from './interfaces/lookup-item.interface'; import { SymbolItem } from './interfaces/symbol-item.interface'; import { SymbolService } from './symbol.service'; +import { parseISO } from 'date-fns'; @Controller('symbol') export class SymbolController { @@ -93,7 +94,7 @@ export class SymbolController { @Param('dateString') dateString: string, @Param('symbol') symbol: string ): Promise { - const date = new Date(dateString); + const date = parseISO(dateString); if (!isDate(date)) { throw new HttpException( diff --git a/apps/client/src/app/components/admin-market-data-detail/admin-market-data-detail.component.ts b/apps/client/src/app/components/admin-market-data-detail/admin-market-data-detail.component.ts index 767891a2a..cff078e37 100644 --- a/apps/client/src/app/components/admin-market-data-detail/admin-market-data-detail.component.ts +++ b/apps/client/src/app/components/admin-market-data-detail/admin-market-data-detail.component.ts @@ -154,7 +154,7 @@ export class AdminMarketDataDetailComponent implements OnChanges, OnInit { day: string; yearMonth: string; }) { - const date = new Date(`${yearMonth}-${day}`); + const date = parseISO(`${yearMonth}-${day}`); const marketPrice = this.marketDataByMonth[yearMonth]?.[day]?.marketPrice; if (isSameDay(date, new Date())) {