feat(cardex): implement cardex controller, service, and DTO for stock movements
feat(pos): add POS controller and service for order creation and stock retrieval refactor(pos): enhance stock and product category retrieval with pagination and mapping
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
import { Body, Controller, Get, Post } from '@nestjs/common'
|
||||
import { CreateOrderDto } from './dto/create-pos.dto'
|
||||
import { PosService } from './pos.service'
|
||||
|
||||
@Controller('pos')
|
||||
export class PosController {
|
||||
constructor(private readonly posService: PosService) {}
|
||||
|
||||
@Get()
|
||||
getInfo() {
|
||||
return this.posService.getInfo()
|
||||
}
|
||||
|
||||
@Get('/stock')
|
||||
async getStock() {
|
||||
const inventoryId = await this.posService.getDefaultInventoryId()
|
||||
return this.posService.getStock(inventoryId!)
|
||||
}
|
||||
|
||||
@Get('/product-categories')
|
||||
async getProductCategories() {
|
||||
const inventoryId = await this.posService.getDefaultInventoryId()
|
||||
return this.posService.getProductCategories(inventoryId!)
|
||||
}
|
||||
|
||||
@Post('/orders/create')
|
||||
async createOrder(@Body() dto: CreateOrderDto) {
|
||||
const inventoryId = await this.posService.getDefaultInventoryId()
|
||||
|
||||
return this.posService.createOrder(dto, inventoryId!)
|
||||
}
|
||||
|
||||
// @Post()
|
||||
// create(@Body() dto: CreateInventoryDto) {
|
||||
// return this.inventoriesService.create(dto)
|
||||
// }
|
||||
|
||||
// @Get()
|
||||
// @ApiQuery({ name: 'isPointOfSale', required: false, type: Boolean })
|
||||
// findAll(@Query('isPointOfSale') isPointOfSale?: boolean) {
|
||||
// return this.inventoriesService.findAll(isPointOfSale)
|
||||
// }
|
||||
|
||||
// @Get(':id')
|
||||
// findOne(@Param('id') id: string) {
|
||||
// return this.inventoriesService.findOne(Number(id))
|
||||
// }
|
||||
|
||||
// @Patch(':id')
|
||||
// update(@Param('id') id: string, @Body() dto: UpdateInventoryDto) {
|
||||
// return this.inventoriesService.update(Number(id), dto)
|
||||
// }
|
||||
|
||||
// @Delete(':id')
|
||||
// remove(@Param('id') id: string) {
|
||||
// return this.inventoriesService.remove(Number(id))
|
||||
// }
|
||||
|
||||
// @Get(':id/movements')
|
||||
// @ApiQuery({ name: 'type', required: false, enum: MovementType })
|
||||
// findInventoryMovements(@Param('id') id: string, @Query('type') type?: MovementType) {
|
||||
// return this.inventoriesService.findInventoryMovements(Number(id), type ?? undefined)
|
||||
// }
|
||||
|
||||
// @Get(':id/stock')
|
||||
// @ApiQuery({ name: 'isAvailable', required: false, type: Boolean })
|
||||
// getStock(@Param('id') id: string, @Query('isAvailable') isAvailable?: boolean) {
|
||||
// return this.inventoriesService.getStock(Number(id), isAvailable ?? undefined)
|
||||
// }
|
||||
|
||||
// @Get(':id/products/:productId/cardex')
|
||||
// getProductCardex(@Param('id') id: string, @Param('productId') productId: string) {
|
||||
// return this.inventoriesService.getProductCardex(Number(id), Number(productId))
|
||||
// }
|
||||
}
|
||||
Reference in New Issue
Block a user