ADD: Warehouse inventory management system
- Add WarehouseItem model with bilingual names (FA/EN) and bilingual counting units - Add WarehouseItemTransaction model for IN/OUT movements with reason and actor - Add WarehouseItemStock model for denormalized per-(item×warehouse) running balance - Add warehouseItemService with full CRUD, atomic stock updates via $inc, negative stock guard, and aggregation queries for per-item/per-warehouse/total stock - Add warehouseItemController and REST routes at /api/warehouse-items - Add warehouseService, warehouseController, warehouseRoutes for warehouse location CRUD at /api/warehouses - Register both route groups in routerEndpoints.js
This commit is contained in:
@@ -2,24 +2,30 @@ const express = require('express')
|
||||
const userRoutes = require('../components/user/userRoutes')
|
||||
const roleRoutes = require('../components/role/roleRoutes')
|
||||
const permissionRoutes = require('../components/permission/permissionRoutes')
|
||||
const belongingRoutes = require('../components/belonging/belongingRoutes')
|
||||
const propertyRoutes = require('../components/property/propertyRoutes')
|
||||
const propertyStatusRoutes = require('../components/propertyStatus/propertyStatusRoutes')
|
||||
const categoryRoutes = require('../components/category/categoryRoutes')
|
||||
const transactionRoutes = require('../components/transaction/transactionRoutes')
|
||||
// const codeRoutes = require('../components/code/codeRoutes')
|
||||
// const CRMRoutes = require('../components/pages/crmRoutes')
|
||||
// const LoginRoute = require('../components/pages/loginRoutes')
|
||||
|
||||
const fileRoutes = require('../components/file/fileRoutes')
|
||||
const featureRoutes = require('../components/feature/featureRoutes')
|
||||
const warehouseItemRoutes = require('../components/warehouseItem/warehouseItemRoutes')
|
||||
const warehouseRoutes = require('../components/warehouse/warehouseRoutes')
|
||||
|
||||
const routerEndpoints = new express.Router()
|
||||
|
||||
routerEndpoints.use('/users', userRoutes)
|
||||
routerEndpoints.use('/permissions', permissionRoutes)
|
||||
routerEndpoints.use('/belongings', belongingRoutes)
|
||||
routerEndpoints.use('/properties', propertyRoutes)
|
||||
routerEndpoints.use('/belongings', propertyRoutes) // Alias for backward compatibility
|
||||
routerEndpoints.use('/property-statuses', propertyStatusRoutes)
|
||||
routerEndpoints.use('/belonging-statuses', propertyStatusRoutes) // Alias for backward compatibility
|
||||
routerEndpoints.use('/roles', roleRoutes)
|
||||
routerEndpoints.use('/categories', categoryRoutes)
|
||||
routerEndpoints.use('/transactions', transactionRoutes)
|
||||
|
||||
routerEndpoints.use('/files', fileRoutes)
|
||||
routerEndpoints.use('/features', featureRoutes)
|
||||
routerEndpoints.use('/warehouse-items', warehouseItemRoutes)
|
||||
routerEndpoints.use('/warehouses', warehouseRoutes)
|
||||
|
||||
module.exports = routerEndpoints
|
||||
|
||||
Reference in New Issue
Block a user