From ded671281e86d352352b180193347a2517c62e7b Mon Sep 17 00:00:00 2001 From: Thomas <4159106+dtslvr@users.noreply.github.com> Date: Sun, 7 Nov 2021 17:07:31 +0100 Subject: [PATCH] Improve import validation --- .../portfolio/transactions/transactions-page.component.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/apps/client/src/app/pages/portfolio/transactions/transactions-page.component.ts b/apps/client/src/app/pages/portfolio/transactions/transactions-page.component.ts index ac73a8102..67ef12b1a 100644 --- a/apps/client/src/app/pages/portfolio/transactions/transactions-page.component.ts +++ b/apps/client/src/app/pages/portfolio/transactions/transactions-page.component.ts @@ -12,6 +12,7 @@ import { User } from '@ghostfolio/common/interfaces'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { DataSource, Order as OrderModel } from '@prisma/client'; import { format, parseISO } from 'date-fns'; +import { isArray } from 'lodash'; import { DeviceDetectorService } from 'ngx-device-detector'; import { Subject, Subscription } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; @@ -189,6 +190,11 @@ export class TransactionsPageComponent implements OnDestroy, OnInit { try { if (file.type === 'application/json') { const content = JSON.parse(fileContent); + + if (!isArray(content.orders)) { + throw new Error(); + } + try { await this.importTransactionsService.importJson({ content: content.orders,