mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-22 07:40:32 +00:00
feat: aggregate rows on import feature
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
import { Inject } from 'typedi';
|
||||
import { Knex } from 'knex';
|
||||
import * as Yup from 'yup';
|
||||
import { Importable } from '../Import/Importable';
|
||||
import { CreateManualJournalService } from './CreateManualJournal';
|
||||
import { IManualJournalDTO } from '@/interfaces';
|
||||
import { ImportableContext } from '../Import/interfaces';
|
||||
import { ManualJournalsSampleData } from './constants';
|
||||
|
||||
export class ManualJournalImportable extends Importable {
|
||||
@Inject()
|
||||
private createManualJournalService: CreateManualJournalService;
|
||||
|
||||
/**
|
||||
* Importing to account service.
|
||||
* @param {number} tenantId
|
||||
* @param {IAccountCreateDTO} createAccountDTO
|
||||
* @returns
|
||||
*/
|
||||
public importable(
|
||||
tenantId: number,
|
||||
createJournalDTO: IManualJournalDTO,
|
||||
trx?: Knex.Transaction
|
||||
) {
|
||||
return this.createManualJournalService.makeJournalEntries(
|
||||
tenantId,
|
||||
createJournalDTO,
|
||||
{},
|
||||
trx
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Transformes the DTO before passing it to importable and validation.
|
||||
* @param {Record<string, any>} createDTO
|
||||
* @param {ImportableContext} context
|
||||
* @returns {Record<string, any>}
|
||||
*/
|
||||
public transform(createDTO: Record<string, any>, context: ImportableContext) {
|
||||
return createDTO;
|
||||
}
|
||||
|
||||
/**
|
||||
* Params validation schema.
|
||||
* @returns {ValidationSchema[]}
|
||||
*/
|
||||
public paramsValidationSchema() {
|
||||
return Yup.object().shape({
|
||||
autoIncrement: Yup.boolean(),
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the sample data of manual journals that used to download sample sheet.
|
||||
* @returns {Record<string, any>}
|
||||
*/
|
||||
public sampleData(): Record<string, any>[] {
|
||||
return ManualJournalsSampleData;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user