Skip to content
Snippets Groups Projects
Commit 2b176f46 authored by Shweta Gupta's avatar Shweta Gupta
Browse files

Merge branch 'shweta-working' into 'development'

Shweta working

See merge request !7
parents 5c18b45f be2e77c9
No related branches found
No related tags found
1 merge request!7Shweta working
.env 0 → 100644
NODE_ENV=development
SERVICE_BASE_URL=https://30dd-206-84-239-127.ngrok-free.app
SERVICE_PORT=5000
LOG_LEVEL=debug
......@@ -13,6 +13,11 @@ const WidgetRefSchema = new Schema({
const TemplateSchema = new Schema({
name: { type: String, required: true },
desc: { type: String },
platform: {
type: String,
enum: ['web', 'mobile', 'both'],
required: true
},
widgets: [WidgetRefSchema],
hashId: { type: String, unique: true, required: true },
createdAt: { type: Date, default: Date.now },
......
......@@ -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) {
......
......@@ -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;
......
......@@ -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) {
......
......@@ -11,6 +11,7 @@
"license": "ISC",
"dependencies": {
"body-parser": "^1.20.2",
"dotenv": "^16.4.5",
"express": "^4.19.2",
"mongoose": "^8.6.0",
"nodemon": "^3.1.4",
......
// server.js
require('dotenv').config();
const express = require('express');
const bodyParser = require('body-parser');
const swaggerUi = require('swagger-ui-express');
......@@ -19,10 +19,11 @@ app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument));
// API base URL
app.use(apiBaseRouter);
// Start the server
const PORT = process.env.PORT || 5000;
const PORT = process.env.SERVICE_PORT || 5000;
const BASE_URL = process.env.SERVICE_BASE_URL || `http://localhost:${PORT}`;
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`);
console.log(`Swagger UI available at http://localhost:${PORT}/api-docs`);
console.log(`Swagger UI available at ${BASE_URL}/api-docs`);
});
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment