ppob-backend/src/transaction/transaction.service.ts
2021-12-07 11:19:20 +07:00

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`;
}
}