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, @InjectRepository(TransactionType) private transactionTypeRepository: Repository, @InjectRepository(TransactionJournal) private transactionJournalRepository: Repository, @InjectRepository(COA) private coaRepository: Repository ) {} 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`; } }