diff --git a/apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html b/apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html index d81a3c1f3..618626b63 100644 --- a/apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html +++ b/apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html @@ -7,8 +7,8 @@ >
@if ( - data.rule.configuration.thresholdMin && - data.rule.configuration.thresholdMax + data.rule.configuration?.thresholdMin && + data.rule.configuration?.thresholdMax ) {
diff --git a/apps/client/src/app/pages/portfolio/activities/activities-page.component.ts b/apps/client/src/app/pages/portfolio/activities/activities-page.component.ts index 91f4b6210..439cdaea7 100644 --- a/apps/client/src/app/pages/portfolio/activities/activities-page.component.ts +++ b/apps/client/src/app/pages/portfolio/activities/activities-page.component.ts @@ -52,7 +52,7 @@ import { ImportActivitiesDialogParams } from './import-activities-dialog/interfa }) export class GfActivitiesPageComponent implements OnInit { public activityTypesFilter: string[] = []; - public dataSource: MatTableDataSource; + public dataSource: MatTableDataSource | undefined; public deviceType: string; public hasImpersonationId: boolean; public hasPermissionToCreateActivity: boolean; @@ -238,7 +238,7 @@ export class GfActivitiesPageComponent implements OnInit { .pipe(takeUntilDestroyed(this.destroyRef)) .subscribe((data) => { for (const activity of data.activities) { - delete activity.id; + delete (activity as Omit & { id?: string }).id; } downloadAsFile({ @@ -383,7 +383,7 @@ export class GfActivitiesPageComponent implements OnInit { }); } - private isCalendarYear(dateRange: DateRange) { + private isCalendarYear(dateRange?: DateRange) { if (!dateRange) { return false; } @@ -410,11 +410,12 @@ export class GfActivitiesPageComponent implements OnInit { date: new Date(), id: null, fee: 0, + SymbolProfile: null, type: aActivity?.type ?? 'BUY', unitPrice: null }, user: this.user - }, + } satisfies CreateOrUpdateActivityDialogParams, height: this.deviceType === 'mobile' ? '98vh' : '80vh', width: this.deviceType === 'mobile' ? '100vw' : '50rem' }); diff --git a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts index 4dbf6ad9f..836d84b80 100644 --- a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts +++ b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts @@ -536,7 +536,11 @@ export class GfCreateOrUpdateActivityDialogComponent { this.dialogRef.close(activity); } else { - (activity as UpdateOrderDto).id = this.data.activity?.id; + const activityId = this.data.activity?.id; + if (!activityId) { + throw new Error('Activity ID is required for update'); + } + (activity as UpdateOrderDto).id = activityId; await validateObjectForForm({ classDto: UpdateOrderDto, diff --git a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/interfaces/interfaces.ts b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/interfaces/interfaces.ts index 322bcc076..c493b5a5f 100644 --- a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/interfaces/interfaces.ts +++ b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/interfaces/interfaces.ts @@ -4,7 +4,9 @@ import { Account } from '@prisma/client'; export interface CreateOrUpdateActivityDialogParams { accounts: Account[]; - activity: Omit & { + activity: Partial> & { + id: string | null; + unitPrice: number | null; SymbolProfile: Activity['SymbolProfile'] | null; }; user: User;