invoice by admin

This commit is contained in:
2026-02-21 12:55:47 +03:30
parent 65cb7a4f11
commit 6df67d56f6
2 changed files with 20 additions and 0 deletions
@@ -54,6 +54,13 @@ export class InvoiceController {
return this.invoiceService.findAllAsAdmin(dto); return this.invoiceService.findAllAsAdmin(dto);
} }
@Get('admin/invoice/:id')
@UseGuards(AuthGuard)
@ApiOperation({ summary: 'Get one invoice by id' })
findOneAsAdmin(@Param('id') id: string) {
return this.invoiceService.findOneAsAdmin(id);
}
@Patch('admin/invoice/:id') @Patch('admin/invoice/:id')
@UseGuards(AdminAuthGuard) @UseGuards(AdminAuthGuard)
@Permissions(PermissionEnum.UPDATE_INVOICE) @Permissions(PermissionEnum.UPDATE_INVOICE)
+13
View File
@@ -119,6 +119,19 @@ export class InvoiceService {
return invoice; return invoice;
} }
async findOneAsAdmin(id: string) {
const invoice = await this.em.findOne(
Invoice,
{ id },
{ populate: ['user', 'request', 'items', 'items.product'] },
);
if (!invoice) {
throw new NotFoundException('Invoice not found');
}
return invoice;
}
async confirmInvoiceItem(id: string, userId: string) { async confirmInvoiceItem(id: string, userId: string) {
const item = await this.em.findOne( const item = await this.em.findOne(
InvoiceItem, InvoiceItem,