70 lines
2.1 KiB
TypeScript
70 lines
2.1 KiB
TypeScript
import { Injectable } from '@nestjs/common';
|
|
import { DistributeTransactionDto } from './dto/distribute-transaction.dto';
|
|
import { UpdateTransactionDto } from './dto/update-transaction.dto';
|
|
import { InjectRepository } from '@nestjs/typeorm';
|
|
import { Transactions } from './entities/transactions.entity';
|
|
import { Repository } from 'typeorm';
|
|
import { User } from '../users/entities/user.entity';
|
|
import { COA } from './entities/coa.entity';
|
|
import { TransactionType } from './entities/transaction-type.entity';
|
|
import { TransactionJournal } from './entities/transaction-journal.entity';
|
|
|
|
@Injectable()
|
|
export class TransactionService {
|
|
constructor(
|
|
@InjectRepository(Transactions)
|
|
private transactionRepository: Repository<Transactions>,
|
|
@InjectRepository(TransactionType)
|
|
private transactionTypeRepository: Repository<TransactionType>,
|
|
@InjectRepository(TransactionJournal)
|
|
private transactionJournalRepository: Repository<TransactionJournal>,
|
|
@InjectRepository(COA)
|
|
private coaRepository: Repository<COA>
|
|
) {}
|
|
|
|
async create(distributeTransactionDto: DistributeTransactionDto) {
|
|
// GET USER
|
|
// GET COA
|
|
// GET TYPE TRANSAKSI
|
|
|
|
//ADD USER IN INSERT
|
|
const transactionSaved = await this.transactionRepository.insert({
|
|
amount: distributeTransactionDto.amount,
|
|
});
|
|
|
|
//INSERT TRANSACTION JOURNAL FOR SEND
|
|
await this.transactionJournalRepository.insert({
|
|
amount: distributeTransactionDto.amount,
|
|
transaction: transactionSaved.identifiers[0],
|
|
});
|
|
|
|
//INSERT TRANSACTION JOURNAL FOR RECIEVE
|
|
await this.transactionJournalRepository.insert({
|
|
amount: distributeTransactionDto.amount,
|
|
transaction: transactionSaved.identifiers[0],
|
|
});
|
|
|
|
|
|
// await this.coaRepository.update({
|
|
// amount:1
|
|
// })
|
|
return true;
|
|
}
|
|
|
|
findAll() {
|
|
return `This action returns all transaction`;
|
|
}
|
|
|
|
findOne(id: number) {
|
|
return `This action returns a #${id} transaction`;
|
|
}
|
|
|
|
update(id: number, updateTransactionDto: UpdateTransactionDto) {
|
|
return `This action updates a #${id} transaction`;
|
|
}
|
|
|
|
remove(id: number) {
|
|
return `This action removes a #${id} transaction`;
|
|
}
|
|
}
|