mirror of
				https://github.com/KevinMidboe/planetposen.git
				synced 2025-10-29 17:50:32 +00:00 
			
		
		
		
	Server handles creating and fetching products and their variations. Models are saved to mongo using mongoose. STILL PRETTY BARE BONES!
		
			
				
	
	
		
			41 lines
		
	
	
		
			1011 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1011 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
const { saveNewVariation } = require('src/variation.js')
 | 
						|
const Products = require('src/products');
 | 
						|
const products = new Products();
 | 
						|
 | 
						|
// HELPERS
 | 
						|
const handleError = (error, res) => {
 | 
						|
  const { message, status, success } = error;
 | 
						|
 | 
						|
  return res.status(status || 500).send({
 | 
						|
    success: success || false,
 | 
						|
    message: message || 'Unable to find product.'
 | 
						|
  })
 | 
						|
}
 | 
						|
 | 
						|
const handleReturnProduct = (product, res) => {
 | 
						|
  return res.send({
 | 
						|
    success: true,
 | 
						|
    product
 | 
						|
  })
 | 
						|
}
 | 
						|
 | 
						|
// ROUTES
 | 
						|
const addNewVariationToProduct = async (req, res) => {
 | 
						|
  const productId = req.params.id;
 | 
						|
  const { variation } = req.body;
 | 
						|
 | 
						|
  console.log('id: ', productId);
 | 
						|
  console.log('variation: ', variation);
 | 
						|
 | 
						|
  const newVariation = await saveNewVariation(variation);
 | 
						|
  
 | 
						|
  return saveNewVariation(variation)
 | 
						|
    .then(newVariation => products.addVariationToProduct(newVariation, productId))
 | 
						|
    .then(() => res.send('New relation added to product'))
 | 
						|
    .catch(err => handleError(err, res))
 | 
						|
}
 | 
						|
 | 
						|
module.exports = {
 | 
						|
  addNewVariationToProduct
 | 
						|
};
 |