Browse Source

Add safe withdrawal rate to user settings

pull/5629/head
Thomas Kaul 1 month ago
parent
commit
a65dcb21a3
  1. 4
      apps/api/src/app/user/update-user-setting.dto.ts
  2. 5
      apps/api/src/app/user/user.service.ts
  3. 4
      apps/client/src/app/pages/portfolio/fire/fire-page.html
  4. 1
      libs/common/src/lib/interfaces/user-settings.interface.ts

4
apps/api/src/app/user/update-user-setting.dto.ts

@ -104,6 +104,10 @@ export class UpdateUserSettingDto {
@IsOptional()
retirementDate?: string;
@IsNumber()
@IsOptional()
safeWithdrawalRate?: number;
@IsNumber()
@IsOptional()
savingsRate?: number;

5
apps/api/src/app/user/user.service.ts

@ -265,6 +265,11 @@ export class UserService {
PerformanceCalculationType.ROAI;
}
// Set default value for safe withdrawal rate
if (!(user.settings.settings as UserSettings)?.safeWithdrawalRate) {
(user.settings.settings as UserSettings).safeWithdrawalRate = 0.04;
}
// Set default value for view mode
if (!(user.settings.settings as UserSettings).viewMode) {
(user.settings.settings as UserSettings).viewMode = 'DEFAULT';

4
apps/client/src/app/pages/portfolio/fire/fire-page.html

@ -37,7 +37,7 @@
</div>
<div>
<h4 class="align-items-center d-flex">
<span i18n>4% Rule</span>
<span i18n>Sustainable retirement income</span>
@if (user?.subscription?.type === 'Basic') {
<gf-premium-indicator class="ml-1" />
}
@ -96,7 +96,7 @@
[value]="fireWealth?.toNumber()"
/>
</span>
and a withdrawal rate of 4%.
and a safe withdrawal rate (SWR) of 4%.
</div>
}
</div>

1
libs/common/src/lib/interfaces/user-settings.interface.ts

@ -29,6 +29,7 @@ export interface UserSettings {
performanceCalculationType?: PerformanceCalculationType;
projectedTotalAmount?: number;
retirementDate?: string;
safeWithdrawalRate?: number;
savingsRate?: number;
viewMode?: ViewMode;
xRayRules?: XRayRulesSettings;

Loading…
Cancel
Save