Skip to content
Snippets Groups Projects
Select Git revision
  • 2f21e27141ffe04e13a1bfb0fbfc0c4f9a9b9b5e
  • master default protected
2 results

server.js

Blame
  • service.js 1.13 KiB
    
    
    const Widget = require("../models/widget");
    const Template = require("../models/template");
    const logger = require('../utils/logger'); 
    
    const getAllWidget = async (page) => {
      try {
        logger.info(`Service: Fetching template for page ${page}`);
        
        const template = await Template.find({ name: page }).populate('widgets.widgetId');
        
        if (!template) {
          logger.info(`Template not found for page: ${page}`);
          throw new Error('Template not found');
        }
        
        logger.info(`Template found for page: ${page}`);
        return template;
      } catch (error) {
        logger.error(`Error in service: ${error.message}`);
        throw new Error('Failed to retrieve template');
      }
    };
    
    
    const createWidget = async (data) => {
      try {
        logger.info('Service: Creating new widget'); 
        
        const widget = new Widget(data);
        await widget.save();
    
        logger.info('Widget created successfully'); 
        return { status: 201, id: widget._id, message: 'Widget created successfully' };
      } catch (error) {
        logger.error(`Error in widget service: ${error.message}`); 
        throw error; 
      }
    };
    
    
    
    module.exports = {
      getAllWidget,
      createWidget,
    };