Feature/Add `wtd` and `mtd` as possible values for date range (#2902)

* Add `wtd` and `mtd` as possible values for date range
  'wtd': week-to-date (from the start of the week)
  'mtd': month-to-date (from the start of the month)

* Update changelog
pull/2904/head
Cédric Meuter 4 months ago committed by GitHub
parent 5fc84a06cc
commit 4e9e3f7b6b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
- Extended the date range support by week to date (`WTD`) and month to date (`MTD`) in the portfolio service
- Added `healthcheck` for the _Ghostfolio_ service to the `docker-compose` files (`docker-compose.yml` and `docker-compose.build.yml`)
## 2.42.0 - 2024-01-21
@ -274,7 +275,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed
- Handled reading items from missing transaction point while getting the position (`getPosition()`) in portfolio service
- Handled reading items from missing transaction point while getting the position (`getPosition()`) in the portfolio service
## 2.24.0 - 2023-11-16

@ -73,7 +73,9 @@ import {
min,
parseISO,
set,
setDayOfYear,
startOfWeek,
startOfMonth,
startOfYear,
subDays,
subYears
} from 'date-fns';
@ -1649,10 +1651,22 @@ export class PortfolioService {
subDays(new Date().setHours(0, 0, 0, 0), 1)
]);
break;
case 'mtd':
portfolioStart = max([
portfolioStart,
startOfMonth(new Date().setHours(0, 0, 0, 0))
]);
break;
case 'wtd':
portfolioStart = max([
portfolioStart,
startOfWeek(new Date().setHours(0, 0, 0, 0), { weekStartsOn: 1 })
]);
break;
case 'ytd':
portfolioStart = max([
portfolioStart,
setDayOfYear(new Date().setHours(0, 0, 0, 0), 1)
startOfYear(new Date().setHours(0, 0, 0, 0))
]);
break;
case '1y':

@ -30,7 +30,7 @@ export class UpdateUserSettingDto {
@IsOptional()
colorScheme?: ColorScheme;
@IsIn(<DateRange[]>['1d', '1y', '5y', 'max', 'ytd'])
@IsIn(<DateRange[]>['1d', '1y', '5y', 'max', 'mtd', 'wtd', 'ytd'])
@IsOptional()
dateRange?: DateRange;

@ -1 +1 @@
export type DateRange = '1d' | '1y' | '5y' | 'max' | 'ytd';
export type DateRange = '1d' | '1y' | '5y' | 'max' | 'mtd' | 'wtd' | 'ytd';

Loading…
Cancel
Save