---
tags: [products, controller]
module: Products
---

# [Controller]ProductController

## Connections
[[_Products]] · [[[Model]Product]] · [[[Service]ProductServices]] · [[[Repo]Repositories]] · [[[Routes]Routes]]

## Source
`Modules/Products/Http/Controllers/ProductController.php`
`Modules/Products/Http/Controllers/Exporting/PDFProductController.php`
`Modules/Products/Http/Controllers/Exporting/ExcelProductController.php`
`Modules/Products/Http/Controllers/ImportingProductsController.php`
`Modules/Products/Http/Controllers/ImportingBulkProductsController.php`
`Modules/Products/Http/Controllers/UpdatingProductQuantityController.php`

## Responsibilities
- Full CRUD for products (all 4 types)
- Import from Excel (single + bulk with warehouse assignments)
- Export to PDF / Excel
- Print product list
- JSON list for DataTables (listProducts)
- Inventory quantity adjustment (UpdatingProductQuantityController)

## Key Methods
| Method | Route | Permission |
|---|---|---|
| index | GET /products | products.products.view |
| store | POST /products | products.products.create |
| edit | GET /products/edit/{product} | products.products.edit |
| update | PUT /products/{product} | products.products.edit |
| destroy | DELETE /products/{product} | products.products.delete |
| import | GET /products/import | products.products.create |
| importStore | POST /products/import/store | products.products.create |
| bulkImportStore | POST /products/import/store-products-with-warehouses | products.products.create |
| exportPDF | GET /products/exporting-pdf | products.products.export |
| exportExcel | GET /products/exporting-excel | products.products.export |
| updateQuantity | POST /products/update/product/quantity | products.products.edit |
