Browse Source

Refactoring

pull/1635/head
Thomas 3 years ago
parent
commit
f3157414a9
  1. 3
      apps/api/src/app/export/export.service.ts
  2. 4
      apps/api/src/app/import/import.controller.ts
  3. 12
      apps/api/src/app/import/import.service.ts

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

@ -15,6 +15,9 @@ export class ExportService {
userId: string;
}): Promise<Export> {
const accounts = await this.prismaService.account.findMany({
orderBy: {
name: 'asc'
},
select: {
accountType: true,
balance: true,

4
apps/api/src/app/import/import.controller.ts

@ -68,11 +68,11 @@ export class ImportController {
try {
const activities = await this.importService.import({
accountsDto: importData.accounts || [],
activitiesDto: importData.activities,
isDryRun,
maxActivitiesToImport,
userCurrency,
accountsDto: importData.accounts ?? [],
activitiesDto: importData.activities,
userId: this.request.user.id
});

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

@ -120,14 +120,16 @@ export class ImportService {
const existingAccounts = await this.accountService.accounts({
where: {
id: {
in: accountsDto.map((account) => account.id)
in: accountsDto.map(({ id }) => {
return id;
})
}
}
});
// Create new accounts during dryRun so that new account IDs don't get invalidated
if (isDryRun && accountsDto?.length) {
for (let account of accountsDto) {
for (const account of accountsDto) {
// Check if there is any existing account with the same ID
const accountWithSameId = existingAccounts.find(
(existingAccount) => existingAccount.id === account.id
@ -145,19 +147,19 @@ export class ImportService {
delete account.id;
}
const newAccountObj = {
const newAccountObject = {
...account,
User: { connect: { id: userId } }
};
if (platformId) {
Object.assign(newAccountObj, {
Object.assign(newAccountObject, {
Platform: { connect: { id: platformId } }
});
}
const newAccount = await this.accountService.createAccount(
newAccountObj,
newAccountObject,
userId
);

Loading…
Cancel
Save