mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-20 06:40:31 +00:00
feat: wip import resources
This commit is contained in:
37
packages/server/src/services/Accounts/AccountsImportable.ts
Normal file
37
packages/server/src/services/Accounts/AccountsImportable.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
import { Inject, Service } from 'typedi';
|
||||
import { Knex } from 'knex';
|
||||
import { IAccountCreateDTO } from '@/interfaces';
|
||||
import { CreateAccount } from './CreateAccount';
|
||||
import { Importable } from '../Import/Importable';
|
||||
|
||||
@Service()
|
||||
export class AccountsImportable extends Importable {
|
||||
@Inject()
|
||||
private createAccountService: CreateAccount;
|
||||
|
||||
/**
|
||||
* Importing to account service.
|
||||
* @param {number} tenantId
|
||||
* @param {IAccountCreateDTO} createAccountDTO
|
||||
* @returns
|
||||
*/
|
||||
public importable(
|
||||
tenantId: number,
|
||||
createAccountDTO: IAccountCreateDTO,
|
||||
trx?: Knex.Transaction
|
||||
) {
|
||||
return this.createAccountService.createAccount(
|
||||
tenantId,
|
||||
createAccountDTO,
|
||||
trx
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Concurrrency controlling of the importing process.
|
||||
* @returns {number}
|
||||
*/
|
||||
public get concurrency() {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
import { DATATYPES_LENGTH } from '@/data/DataTypes';
|
||||
import { IsInt, IsOptional, IsString, Length, Min, Max, IsNotEmpty } from 'class-validator';
|
||||
|
||||
export class AccountDTOSchema {
|
||||
@IsString()
|
||||
@Length(3, DATATYPES_LENGTH.STRING)
|
||||
@IsNotEmpty()
|
||||
name: string;
|
||||
|
||||
@IsString()
|
||||
@IsOptional()
|
||||
@Length(3, 6)
|
||||
code?: string;
|
||||
|
||||
@IsOptional()
|
||||
currencyCode?: string;
|
||||
|
||||
@IsString()
|
||||
@Length(3, DATATYPES_LENGTH.STRING)
|
||||
@IsNotEmpty()
|
||||
accountType: string;
|
||||
|
||||
@IsString()
|
||||
@IsOptional()
|
||||
@Length(0, DATATYPES_LENGTH.TEXT)
|
||||
description?: string;
|
||||
|
||||
@IsInt()
|
||||
@IsOptional()
|
||||
@Min(0)
|
||||
@Max(DATATYPES_LENGTH.INT_10)
|
||||
parentAccountId?: number;
|
||||
}
|
||||
Reference in New Issue
Block a user