feat: complete admin panel and backend admin api migration
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
import { Body, Controller, Delete, Get, HttpCode, Param, Post, Put } from '@nestjs/common';
|
||||
import { AdminInvoicesService } from './admin-invoices.service';
|
||||
import { TableQueryDto } from '../admin-table/table-query.dto';
|
||||
import { CurrentAdmin, RequirePermission } from '../auth/guards';
|
||||
import type { AuthenticatedAdmin } from '../auth/jwt.strategy';
|
||||
|
||||
/**
|
||||
* Legacy endpoints (BranchController's `branch/product` family):
|
||||
* POST branch/product/table
|
||||
* POST branch/product
|
||||
* GET branch/product/{id}
|
||||
* DELETE branch/product/{id}
|
||||
* GET branch/list -> the branch picker
|
||||
*/
|
||||
@Controller('admin/invoices')
|
||||
export class AdminInvoicesController {
|
||||
constructor(private readonly invoices: AdminInvoicesService) {}
|
||||
|
||||
@Post('list')
|
||||
@HttpCode(200)
|
||||
@RequirePermission('invoice.list')
|
||||
list(@Body() query: TableQueryDto) {
|
||||
return this.invoices.list(query);
|
||||
}
|
||||
|
||||
@Get('branch-list')
|
||||
@RequirePermission('invoice.create')
|
||||
branchList() {
|
||||
return this.invoices.branchList();
|
||||
}
|
||||
|
||||
@Post()
|
||||
@HttpCode(200)
|
||||
@RequirePermission('invoice.create')
|
||||
create(
|
||||
@Body() data: { branch_id?: string; products?: string[]; note?: string },
|
||||
@CurrentAdmin() admin: AuthenticatedAdmin,
|
||||
) {
|
||||
return this.invoices.create(data, admin.id);
|
||||
}
|
||||
|
||||
@Get(':id')
|
||||
@RequirePermission('invoice.list')
|
||||
findOne(@Param('id') id: string) {
|
||||
return this.invoices.findOne(id);
|
||||
}
|
||||
|
||||
@Put(':id')
|
||||
@RequirePermission('invoice.list')
|
||||
update(
|
||||
@Param('id') id: string,
|
||||
@Body() data: { branch_id?: string; products?: string[]; note?: string },
|
||||
) {
|
||||
return this.invoices.update(id, data);
|
||||
}
|
||||
|
||||
@Delete(':id')
|
||||
@RequirePermission('invoice.list')
|
||||
remove(@Param('id') id: string) {
|
||||
return this.invoices.remove(id);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user