Browse Source

Resolve comments

pull/1635/head
yksolanki9 3 years ago
parent
commit
1bb37d1055
  1. 4
      apps/api/src/app/account/create-account.dto.ts
  2. 1
      apps/api/src/app/export/export.service.ts
  3. 2
      apps/api/src/app/import/import-data.dto.ts
  4. 3
      apps/api/src/app/import/import.service.ts
  5. 13
      apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
  6. 11
      apps/client/src/app/services/import-activities.service.ts
  7. 2
      libs/common/src/lib/interfaces/export.interface.ts

4
apps/api/src/app/account/create-account.dto.ts

@ -21,10 +21,6 @@ export class CreateAccountDto {
@IsString()
id: string;
@IsOptional()
@IsBoolean()
isDefault: boolean;
@IsBoolean()
@IsOptional()
isExcluded?: boolean;

1
apps/api/src/app/export/export.service.ts

@ -20,7 +20,6 @@ export class ExportService {
balance: true,
currency: true,
id: true,
isDefault: true,
isExcluded: true,
name: true,
platformId: true

2
apps/api/src/app/import/import-data.dto.ts

@ -1,7 +1,7 @@
import { CreateAccountDto } from '@ghostfolio/api/app/account/create-account.dto';
import { CreateOrderDto } from '@ghostfolio/api/app/order/create-order.dto';
import { Type } from 'class-transformer';
import { IsArray, IsOptional, ValidateNested } from 'class-validator';
import { CreateAccountDto } from '../account/create-account.dto';
export class ImportDataDto {
@IsOptional()

3
apps/api/src/app/import/import.service.ts

@ -115,7 +115,7 @@ export class ImportService {
userCurrency: string;
userId: string;
}): Promise<Activity[]> {
const accountIdMapping = {};
const accountIdMapping: { [oldAccountId: string]: string } = {};
//Create new accounts during dryRun so that new account IDs don't get invalidated
if (isDryRun && accountsDto?.length) {
@ -131,7 +131,6 @@ export class ImportService {
const platformId = account.platformId;
delete account.platformId;
delete account.isDefault;
if (accountWithSameId) {
oldAccountId = account.id;

13
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts

@ -11,7 +11,6 @@ import {
MatLegacyDialogRef as MatDialogRef
} from '@angular/material/legacy-dialog';
import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar';
import { CreateAccountDto } from '@ghostfolio/api/app/account/create-account.dto';
import { Activity } from '@ghostfolio/api/app/order/interfaces/activities.interface';
import { DataService } from '@ghostfolio/client/services/data.service';
import { ImportActivitiesService } from '@ghostfolio/client/services/import-activities.service';
@ -29,7 +28,6 @@ import { ImportActivitiesDialogParams } from './interfaces/interfaces';
templateUrl: 'import-activities-dialog.html'
})
export class ImportActivitiesDialog implements OnDestroy {
public accounts: CreateAccountDto[] = [];
public activities: Activity[] = [];
public details: any[] = [];
public errorMessages: string[] = [];
@ -94,7 +92,6 @@ export class ImportActivitiesDialog implements OnDestroy {
this.snackBar.open('⏳ ' + $localize`Importing data...`);
await this.importActivitiesService.importSelectedActivities({
accounts: this.accounts,
activities: this.selectedActivities
});
@ -183,13 +180,13 @@ export class ImportActivitiesDialog implements OnDestroy {
}
try {
const data = await this.importActivitiesService.importJson({
const { activities } =
await this.importActivitiesService.importJson({
accounts: content.accounts,
activities: content.activities,
isDryRun: true,
accounts: content.accounts
isDryRun: true
});
this.accounts = content.accounts;
this.activities = data.activities;
this.activities = activities;
} catch (error) {
console.error(error);
this.handleImportError({ error, activities: content.activities });

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

@ -58,12 +58,12 @@ export class ImportActivitiesService {
});
}
return await this.importJson({ isDryRun, activities });
return await this.importJson({ activities, isDryRun });
}
public importJson({
activities,
accounts,
activities,
isDryRun = false
}: {
activities: CreateOrderDto[];
@ -96,14 +96,11 @@ export class ImportActivitiesService {
}
public importSelectedActivities({
accounts,
activities
}: {
activities: Activity[];
accounts?: CreateAccountDto[];
}): Promise<{
activities: Activity[];
accounts?: CreateAccountDto[];
}> {
const importData: CreateOrderDto[] = [];
@ -111,7 +108,7 @@ export class ImportActivitiesService {
importData.push(this.convertToCreateOrderDto(activity));
}
return this.importJson({ activities: importData, accounts });
return this.importJson({ activities: importData });
}
private convertToCreateOrderDto({
@ -363,7 +360,7 @@ export class ImportActivitiesService {
}
private postImport(
aImportData: { activities: CreateOrderDto[]; accounts: CreateAccountDto[] },
aImportData: { accounts: CreateAccountDto[]; activities: CreateOrderDto[] },
aIsDryRun = false
) {
return this.http.post<{ activities: Activity[] }>(

2
libs/common/src/lib/interfaces/export.interface.ts

@ -5,7 +5,7 @@ export interface Export {
date: string;
version: string;
};
accounts: Omit<Account, 'createdAt' | 'updatedAt' | 'userId'>[];
accounts: Omit<Account, 'createdAt' | 'isDefault' | 'updatedAt' | 'userId'>[];
activities: (Omit<
Order,
| 'accountUserId'

Loading…
Cancel
Save