add payment attachment
All checks were successful
Spell Check / Spell Check with Typos (push) Successful in 11s
All checks were successful
Spell Check / Spell Check with Typos (push) Successful in 11s
This commit is contained in:
parent
b55998da4a
commit
7e937333dc
1 changed files with 67 additions and 0 deletions
|
|
@ -1368,3 +1368,70 @@ export class LineQuotationFileController extends Controller {
|
||||||
return await deleteFile(fileLocation.quotation.attachment(quotationId, name));
|
return await deleteFile(fileLocation.quotation.attachment(quotationId, name));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Route("api/v1/line/payment/{paymentId}/attachment")
|
||||||
|
@Tags("Line")
|
||||||
|
export class PaymentFileLineController extends Controller {
|
||||||
|
private async checkPermission(_user: RequestWithUser["user"], id: string) {
|
||||||
|
const data = await prisma.payment.findUnique({
|
||||||
|
include: {
|
||||||
|
invoice: {
|
||||||
|
include: {
|
||||||
|
quotation: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
where: { id },
|
||||||
|
});
|
||||||
|
console.log("data", data);
|
||||||
|
|
||||||
|
if (!data) throw notFoundError("Payment");
|
||||||
|
return { paymentId: id, quotationId: data.invoice.quotationId };
|
||||||
|
}
|
||||||
|
|
||||||
|
@Get()
|
||||||
|
@Security("line")
|
||||||
|
async listAttachment(@Request() req: RequestWithUser, @Path() paymentId: string) {
|
||||||
|
console.log("req", req);
|
||||||
|
|
||||||
|
const { quotationId } = await this.checkPermission(req.user, paymentId);
|
||||||
|
console.log("quotationId", quotationId);
|
||||||
|
|
||||||
|
return await listFile(fileLocation.quotation.payment(quotationId, paymentId));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Head("{name}")
|
||||||
|
async headAttachment(
|
||||||
|
@Request() req: RequestWithUser,
|
||||||
|
@Path() paymentId: string,
|
||||||
|
@Path() name: string,
|
||||||
|
) {
|
||||||
|
const data = await prisma.payment.findUnique({
|
||||||
|
where: { id: paymentId },
|
||||||
|
include: { invoice: true },
|
||||||
|
});
|
||||||
|
if (!data) throw notFoundError("Payment");
|
||||||
|
return req.res?.redirect(
|
||||||
|
await getPresigned(
|
||||||
|
"head",
|
||||||
|
fileLocation.quotation.payment(data.invoice.quotationId, paymentId, name),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Get("{name}")
|
||||||
|
async getAttachment(
|
||||||
|
@Request() req: RequestWithUser,
|
||||||
|
@Path() paymentId: string,
|
||||||
|
@Path() name: string,
|
||||||
|
) {
|
||||||
|
const data = await prisma.payment.findUnique({
|
||||||
|
where: { id: paymentId },
|
||||||
|
include: { invoice: true },
|
||||||
|
});
|
||||||
|
if (!data) throw notFoundError("Payment");
|
||||||
|
return req.res?.redirect(
|
||||||
|
await getFile(fileLocation.quotation.payment(data.invoice.quotationId, paymentId, name)),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue