Browse Source

Fix CSV import failure when DataSource column is missing

Set default dataSource in frontend CSV parser before sending to backend:
  - MANUAL for FEE/INTEREST/LIABILITY types
  - YAHOO for other types (BUY/SELL/DIVIDEND)

  Fixes DTO validation error that occurred before backend's default dataSource
  assignment could execute.
pull/5787/head
Sven Günther 2 weeks ago
parent
commit
3996dec35e
  1. 14
      apps/client/src/app/services/import-activities.service.ts

14
apps/client/src/app/services/import-activities.service.ts

@ -58,9 +58,19 @@ export class ImportActivitiesService {
for (const [index, item] of content.entries()) {
const currency = this.parseCurrency({ content, index, item });
const dataSource = this.parseDataSource({ item });
const symbol = this.parseSymbol({ content, index, item });
const type = this.parseType({ content, index, item });
const symbol = this.parseSymbol({ content, index, item });
let dataSource = this.parseDataSource({ item });
// Set default dataSource if not provided in CSV
if (!dataSource) {
if (['FEE', 'INTEREST', 'LIABILITY'].includes(type)) {
dataSource = DataSource.MANUAL;
} else {
// For other types, try to determine from symbol or default to YAHOO
dataSource = DataSource.YAHOO;
}
}
activities.push({
currency,

Loading…
Cancel
Save