Skip to content
Snippets Groups Projects
Commit 354ca8ae authored by shwtea's avatar shwtea
Browse files

basic get request added

parent 7c6ff283
No related branches found
No related tags found
1 merge request!2Shweta working
const healthCheckRouter = require('./health-check/routes');
const layoutRouter = require('./layout/routes');
const apiBaseRouter = require('express').Router();
// Exposed endpoints
apiBaseRouter.use('/health-check', healthCheckRouter);
// apiBaseRouter.use('/pan', panRouter);
// apiBaseRouter.use('/otp', otpRouter);
apiBaseRouter.use('/widget', layoutRouter);
module.exports = apiBaseRouter;
const healthCheck = (req, res, next) => {
try {
return res.sendStatus(200);
} catch (error) {
console.log(error)
}
};
module.exports = {
healthCheck,
};
const healthCheckRouter = require('express').Router();
const { healthCheck } = require('./controller');
healthCheckRouter.get('/', healthCheck);
module.exports = healthCheckRouter;
/* eslint-disable prefer-promise-reject-errors */
/* eslint-disable no-throw-literal */
// const logger = require('utils/logger');
const getAllWidgetService = require('../layout/service');
const getAllWidget = async () => {
try {
// logger.info(`Entering | getAllWidget BusinessLogic |`);
const response = await getAllWidgetService.getAllWidget();
// logger.info(`Exiting | generateAadhaarOtp BusinessLogic |`);
return { status: '200', response }
} catch (error) {
// logger.error(` Error | getAllWidget BusinessLogic | ${error}`)
throw error
}
};
module.exports = {
getAllWidget,
};
// const logger = require('utils/logger');
const layoutBusiness = require('./business');
// const Joi = require('joi');
const getAllWidget = async (req, res, next) => {
try {
console.log("comign here")
// logger.info(`Entering | getAllWidget Controller | ${req.body}`);
// const schema = Joi.object({
// aadhaarNumber: Joi.string().required(),
// });
// const { error } = schema.validate({ });
// if (error) {
// logger.error(` Error | getAllWidget Controller | ${JSON.stringify(error)}`)
// return next(new ExpressError('BAD_REQUEST'));
// }
const response = await layoutBusiness.getAllWidget();
// logger.info(`Exiting | getAllWidget Controller |`);
return res.status(response.status).json({ data: response });
} catch (error) {
// logger.error(` Error | getAllWidget Controller | ${error}`)
next(new ExpressError(error));
}
};
module.exports = {
getAllWidget,
};
\ No newline at end of file
const layoutRouter = require('express').Router();
const { getAllWidget} = require('./controller');
layoutRouter.get('/allLayout', getAllWidget);
// layoutRouter.post('/aadhaarOtpVerify', aadhaarOtpVerify);
// layoutRouter.post('/aadhaarPanSimilarity', aadhaarPanSimilarity);
module.exports = layoutRouter;
\ No newline at end of file
// const logger = require('utils/logger');
const getAllWidget = async () => {
try {
// logger.info(`Entering | getAllWidget Service |`);
const response = "123";
// logger.info(`Exiting | getAllWidget Service |`);
return { status: '200', response }
} catch (error) {
// logger.error(` Error | getAllWidget Service | ${error}`)
throw error
}
};
module.exports = {
getAllWidget,
};
\ No newline at end of file
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
// Define schema for widgets within a template or page
const WidgetRefSchema = new Schema({
widgetId: { type: mongoose.Schema.Types.ObjectId, ref: 'Widget', required: true }, // Reference to the Widget model
position: { type: Number, required: true },
startTime: { type: Date, required: true },
endTime: { type: Date, required: true }
});
// Define main Template schema
const TemplateSchema = new Schema({
name: { type: String, required: true },
desc: { type: String },
widgets: [WidgetRefSchema],
hashId: { type: String, unique: true, required: true },
createdAt: { type: Date, default: Date.now },
updatedAt: { type: Date, default: Date.now }
});
module.exports = mongoose.model('Template', TemplateSchema);
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
// Define schema for the button data
const ButtonDataSchema = new Schema({
url: { type: String, required: true },
title: { type: String, required: true }
});
// Define schema for banner data
const BannerDataSchema = new Schema({
imageName: { type: String, default: '' },
headingText: { type: String, required: true },
subHeadingText: { type: String, required: true },
landingUrl: { type: String, required: true },
timerPosition: { type: String, default: null },
timerColor: { type: String, default: null }
});
// Define schema for list items
const ListItemSchema = new Schema({
bannerData: { type: BannerDataSchema, required: true },
display_order: { type: Number, required: true },
dimension: {
length: { type: Number, required: true },
breadth: { type: Number, required: true }
},
banner_title: { type: String, required: true }
});
// Define main Widget schema
const WidgetSchema = new Schema({
title: { type: String, required: true },
layout: { type: String, required: true },
priority: { type: Number, required: true },
enable: { type: Boolean, default: true },
buttonData: [ButtonDataSchema],
sectionHeadingText: { type: String, required: true },
apiUrl: { type: String, required: true },
list: [ListItemSchema],
createdAt: { type: Date, default: Date.now },
updatedAt: { type: Date, default: Date.now }
});
module.exports = mongoose.model('Widget', WidgetSchema);
...@@ -7,6 +7,9 @@ const connectDB = require('./db'); ...@@ -7,6 +7,9 @@ const connectDB = require('./db');
const app = express(); const app = express();
app.use(bodyParser.json()); app.use(bodyParser.json());
const apiBaseRouter = require('./api/apiBaseRouter');
const baseURL = '/api-service';
// Connect to MongoDB // Connect to MongoDB
connectDB(); connectDB();
...@@ -15,6 +18,9 @@ connectDB(); ...@@ -15,6 +18,9 @@ connectDB();
const swaggerDocument = YAML.load('./swagger.yaml'); const swaggerDocument = YAML.load('./swagger.yaml');
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument)); app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument));
// API base URL
app.use(apiBaseRouter);
// Start the server // Start the server
const PORT = process.env.PORT || 5000; const PORT = process.env.PORT || 5000;
......
...@@ -3,6 +3,7 @@ info: ...@@ -3,6 +3,7 @@ info:
title: Layout Management API title: Layout Management API
version: 1.0.0 version: 1.0.0
description: API for managing layouts including creating, retrieving, and deleting layouts. description: API for managing layouts including creating, retrieving, and deleting layouts.
paths: paths:
/api/layout/{layout}: /api/layout/{layout}:
get: get:
...@@ -79,7 +80,7 @@ paths: ...@@ -79,7 +80,7 @@ paths:
404: 404:
description: Layout not found description: Layout not found
/api/AllLayout: /widget/allLayout:
get: get:
summary: Get all layouts summary: Get all layouts
responses: responses:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment