import { Injectable } from '@nestjs/common';
import { CreateXeroTestingDto } from './dto/create-xero-testing.dto';
import { UpdateXeroTestingDto } from './dto/update-xero-testing.dto';
import { createXeroInvoice, createXeroInvoiceFromId, findInvoiceByJobId, findInvoicesByJobIds, findPaymentsByJobId, findPaymentsByJobIds } from 'xero/xeroHandler';

@Injectable()
export class XeroTestingService {
	create(createXeroTestingDto: CreateXeroTestingDto) {
		return 'This action adds a new xeroTesting';
	}

	findAll() {
		return `This action returns all xeroTesting`;
	}

	findOne(id: number) {
		return `This action returns a #${id} xeroTesting`;
	}

	update(id: number, updateXeroTestingDto: UpdateXeroTestingDto) {
		return `This action updates a #${id} xeroTesting`;
	}

	remove(id: number) {
		return `This action removes a #${id} xeroTesting`;
	}

	test(id: number) {
		var invoice = createXeroInvoiceFromId(id);
		return `${invoice}`;
	}

	async test2(totalJob: any, id: number) {
		var invoice = await createXeroInvoice(totalJob, false);
		return `${JSON.stringify(invoice)}`;
	}

	invoiceByJobId(jobId: number) {
		var invoices = findInvoiceByJobId(jobId);
		return invoices;
	}

	invoicesByJobIds(jobIds: number[]) {
		var invoices = findInvoicesByJobIds(jobIds);
		return invoices;
	}

	paymentByJobId(jobId: number) {
		var payments = findPaymentsByJobId(jobId);
		return payments;
	}

	paymentsByJobIds(jobIds: number[]) {
		var payments = findPaymentsByJobIds(jobIds);
		return payments;
	}
}
