Files
bigcapital/packages/server/src/modules/Expenses/ExpensesImportable.ts
Ahmed Bouhuolia 636d206b0e fix: bugs sprint
2025-12-18 13:48:12 +02:00

43 lines
1.2 KiB
TypeScript

import { Knex } from 'knex';
import { Injectable } from '@nestjs/common';
import { Importable } from '../Import/Importable';
import { ExpensesSampleData } from './constants';
import { CreateExpense } from './commands/CreateExpense.service';
import { CreateExpenseDto } from './dtos/Expense.dto';
import { ImportableService } from '../Import/decorators/Import.decorator';
import { Expense } from './models/Expense.model';
@Injectable()
@ImportableService({ name: Expense.name })
export class ExpensesImportable extends Importable {
constructor(private readonly createExpenseService: CreateExpense) {
super();
}
/**
* Importing to expense service.
* @param {CreateExpenseDto} createAccountDTO
*/
public importable(
createExpenseDto: CreateExpenseDto,
trx?: Knex.Transaction,
) {
return this.createExpenseService.newExpense(createExpenseDto, trx);
}
/**
* Concurrrency controlling of the importing process.
* @returns {number}
*/
public get concurrency() {
return 1;
}
/**
* Retrieves the sample data that used to download accounts sample sheet.
*/
public sampleData(): any[] {
return ExpensesSampleData;
}
}