diff --git a/api/template/business.js b/api/template/business.js index 50653188ab408e84e0b415b34875de56afa93483..c42fc3bd1f8632b90a90d05e47e16a8a8103b85c 100644 --- a/api/template/business.js +++ b/api/template/business.js @@ -14,9 +14,9 @@ const updateAndMapWidget = async (page,widgetId,position, startTime, endTime) => }; -const createTemplate = async (name, desc, widgets, hashId) => { +const createTemplate = async (name, desc,platform, widgets, hashId) => { try { - const response = await templateService.createTemplate(name, desc, widgets, hashId); + const response = await templateService.createTemplate(name, desc,platform, widgets, hashId); return { status: '200', response } } catch (error) { throw error @@ -24,9 +24,9 @@ const createTemplate = async (name, desc, widgets, hashId) => { }; -const getParticularTemplate = async (page) => { +const getParticularTemplate = async (page,platform) => { try { - const response = await templateService.getParticularTemplate(page); + const response = await templateService.getParticularTemplate(page,platform); console.log(page,"Pagessssssss"); return { status: '200', response } } catch (error) { diff --git a/api/template/controller.js b/api/template/controller.js index fb4786479a42493797b8269d8d96b94c3dbd09ee..a8cc12034e16876014791771c1887ea03329d3bb 100644 --- a/api/template/controller.js +++ b/api/template/controller.js @@ -18,8 +18,8 @@ const updateAndMapWidget = async (req, res, next) => { const createTemplate = async (req, res, next) => { try { - const { name, desc, widgets, hashId } = req.body; - const response = await templateBusiness.createTemplate(name, desc, widgets, hashId); + const { name, desc,platform, widgets, hashId } = req.body; + const response = await templateBusiness.createTemplate(name, desc,platform, widgets, hashId); return res.status(response.status).json({ data: response }); } catch (error) { throw error @@ -29,8 +29,8 @@ const createTemplate = async (req, res, next) => { const getParticularTemplate = async (req, res) => { try { console.log("GET template details of a particular page"); - const { page } = req.params; - const response = await templateBusiness.getParticularTemplate(page); + const { page,platform } = req.params; + const response = await templateBusiness.getParticularTemplate(page,platform); return res.status(response.status).json({ data: response }); } catch (error) { throw error; diff --git a/api/template/service.js b/api/template/service.js index 2d172f80cf95a58ae3996d033f56a178d027cfd2..1bcae567540a31315475064f4acd1cc2771dc49c 100644 --- a/api/template/service.js +++ b/api/template/service.js @@ -37,12 +37,12 @@ const updateAndMapWidget = async (page,widgetId,position, startTime, endTime) => }; -const createTemplate = async (name, desc, widgets, hashId) => { +const createTemplate = async (name, desc, platform, widgets, hashId) => { try { - console.log("in service") const newTemplate = new Template({ name, desc, + platform, widgets, hashId }); @@ -56,13 +56,11 @@ const createTemplate = async (name, desc, widgets, hashId) => { }; -const getParticularTemplate = async (page,res) => { +const getParticularTemplate = async (page,platform) => { try { - const template = await Template.findOne({ name: page}).populate('widgets.widgetId'); + const template = await Template.findOne({ name: page,platform}).populate('widgets.widgetId'); if (!template) { - // return res.status(404).json({ error: 'Template not found' }); - console.error('Template not found'); - res.status(404).send(); + return res.status(404).json({ error: 'Template not found' }); } return template; } catch (error) { diff --git a/swagger.yaml b/swagger.yaml index 812af00b4f006f197380c03fae8bb1ca83dca530..63757fda8507a69fba3cbf4baa84384bdff69ff5 100644 --- a/swagger.yaml +++ b/swagger.yaml @@ -21,6 +21,12 @@ paths: schema: type: string description: The page for which template details are requested. + - in: path + name: platform + required: true + schema: + type: string + description: The platform for which template details are requested. responses: '200': description: Template retrieved successfully @@ -313,6 +319,11 @@ paths: type: string description: A description of the template example: "Template for the homepage widget" + platform: + type: string + enum: ['web', 'mobile', 'both'] + description: The platform for which the template is intended + example: "web" widgets: type: array description: A list of widgets mapped to the template