Added Multi-Company Support
This commit is contained in:
@@ -21,48 +21,48 @@ const upload = multer({ storage: multer.memoryStorage(), limits: { fileSize: 16
|
||||
const router = express.Router();
|
||||
|
||||
router.get('/assets', (req, res) => {
|
||||
res.json({ assets: listAssets(req.query) });
|
||||
res.json({ assets: listAssets({ ...req.query, entity_id: req.companyId }) });
|
||||
});
|
||||
|
||||
router.post('/assets', requireCapability('assets.edit'), (req, res) => {
|
||||
res.status(201).json({ asset: createAsset(req.body, req.user.id) });
|
||||
res.status(201).json({ asset: createAsset(req.body, req.user.id, req.companyId) });
|
||||
});
|
||||
|
||||
router.get('/assets/lookup', (req, res) => {
|
||||
const code = String(req.query.code || '').trim();
|
||||
if (!code) return res.status(400).json({ error: 'Scan code is required' });
|
||||
const asset = lookupAssetByCode(code);
|
||||
const asset = lookupAssetByCode(code, req.companyId);
|
||||
if (!asset) return res.status(404).json({ error: `No asset matches "${code}"` });
|
||||
return res.json({ asset });
|
||||
});
|
||||
|
||||
router.get('/assets/:id', (req, res) => {
|
||||
const asset = hydrateAsset(req.params.id);
|
||||
if (!asset) return res.status(404).json({ error: 'Asset not found' });
|
||||
if (!asset || (req.companyId && asset.entity_id !== req.companyId)) return res.status(404).json({ error: 'Asset not found' });
|
||||
return res.json({ asset });
|
||||
});
|
||||
|
||||
router.put('/assets/:id', requireCapability('assets.edit'), (req, res) => {
|
||||
const asset = updateAsset(req.params.id, req.body, req.user.id);
|
||||
const asset = updateAsset(req.params.id, req.body, req.user.id, req.companyId);
|
||||
if (!asset) return res.status(404).json({ error: 'Asset not found' });
|
||||
return res.json({ asset });
|
||||
});
|
||||
|
||||
router.delete('/assets/:id', requireCapability('assets.delete'), (req, res) => {
|
||||
if (!deleteAsset(req.params.id, req.user.id)) return res.status(404).json({ error: 'Asset not found' });
|
||||
if (!deleteAsset(req.params.id, req.user.id, req.companyId)) return res.status(404).json({ error: 'Asset not found' });
|
||||
return res.status(204).end();
|
||||
});
|
||||
|
||||
router.post('/assets/mass-update', requireCapability('assets.bulk'), (req, res) => {
|
||||
const ids = Array.isArray(req.body.ids) ? req.body.ids : [];
|
||||
const updated = massUpdateAssets(ids, req.body.changes || {}, req.user.id);
|
||||
const updated = massUpdateAssets(ids, req.body.changes || {}, req.user.id, req.companyId);
|
||||
if (!updated) return res.status(400).json({ error: 'Choose assets and editable fields' });
|
||||
return res.json({ updated });
|
||||
});
|
||||
|
||||
router.get('/assets/:id/depreciation', (req, res) => {
|
||||
const asset = hydrateAsset(req.params.id);
|
||||
if (!asset) return res.status(404).json({ error: 'Asset not found' });
|
||||
if (!asset || (req.companyId && asset.entity_id !== req.companyId)) return res.status(404).json({ error: 'Asset not found' });
|
||||
const startYear = Number(req.query.startYear || new Date().getFullYear());
|
||||
const endYear = Number(req.query.endYear || startYear + 5);
|
||||
const schedules = asset.books
|
||||
|
||||
Reference in New Issue
Block a user