feat: wip attach attachments to resource models

This commit is contained in:
Ahmed Bouhuolia
2024-05-26 21:59:39 +02:00
parent 15dbc4137c
commit 2244cc6116
64 changed files with 2052 additions and 54 deletions

View File

@@ -114,6 +114,7 @@ export class EditSaleEstimate {
estimateId,
saleEstimate,
oldSaleEstimate,
estimateDTO,
trx,
} as ISaleEstimateEditedPayload);

View File

@@ -58,10 +58,10 @@ export class SaleEstimateDTOTransformer {
const initialDTO = {
amount,
...formatDateFields(omit(estimateDTO, ['delivered', 'entries']), [
'estimateDate',
'expirationDate',
]),
...formatDateFields(
omit(estimateDTO, ['delivered', 'entries', 'attachments']),
['estimateDate', 'expirationDate']
),
currencyCode: paymentCustomer.currencyCode,
exchangeRate: estimateDTO.exchangeRate || 1,
...(estimateNumber ? { estimateNumber } : {}),

View File

@@ -86,7 +86,12 @@ export class CommandSaleInvoiceDTOTransformer {
const initialDTO = {
...formatDateFields(
omit(saleInvoiceDTO, ['delivered', 'entries', 'fromEstimateId']),
omit(saleInvoiceDTO, [
'delivered',
'entries',
'fromEstimateId',
'attachments',
]),
['invoiceDate', 'dueDate']
),
// Avoid rewrite the deliver date in edit mode when already published.

View File

@@ -34,7 +34,8 @@ export class GetSaleInvoice {
.withGraphFetched('entries.tax')
.withGraphFetched('customer')
.withGraphFetched('branch')
.withGraphFetched('taxes.taxRate');
.withGraphFetched('taxes.taxRate')
.withGraphFetched('attachments');
// Validates the given sale invoice existance.
this.validators.validateInvoiceExistance(saleInvoice);

View File

@@ -2,6 +2,7 @@ import { Transformer } from '@/lib/Transformer/Transformer';
import { formatNumber } from 'utils';
import { SaleInvoiceTaxEntryTransformer } from './SaleInvoiceTaxEntryTransformer';
import { ItemEntryTransformer } from './ItemEntryTransformer';
import { AttachmentTransformer } from '@/services/Attachments/AttachmentTransformer';
export class SaleInvoiceTransformer extends Transformer {
/**
@@ -25,6 +26,7 @@ export class SaleInvoiceTransformer extends Transformer {
'totalLocalFormatted',
'taxes',
'entries',
'attachments',
];
};
@@ -190,4 +192,13 @@ export class SaleInvoiceTransformer extends Transformer {
currencyCode: invoice.currencyCode,
});
};
/**
* Retrieves the sale invoice attachments.
* @param {ISaleInvoice} invoice
* @returns
*/
protected attachments = (invoice) => {
return this.item(invoice.attachments, new AttachmentTransformer());
};
}

View File

@@ -110,6 +110,7 @@ export class CreatePaymentReceive {
tenantId,
paymentReceive,
paymentReceiveId: paymentReceive.id,
paymentReceiveDTO,
authorizedUser,
trx,
} as IPaymentReceiveCreatedPayload);