Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 6 additions & 57 deletions Backend/db/index.js
Original file line number Diff line number Diff line change
@@ -1,60 +1,9 @@
const mongoose = require('mongoose');
const pg = require("pg");

// Connect to MongoDB
const db = new pg.Client({
connectionString:"postgresql://week-10_owner:O5aPjGvRTi0X@ep-fancy-cell-a529ozuv.us-east-2.aws.neon.tech/LMS?sslmode=require"
})

// Define a function to establish MongoDB connection
async function connectToMongoDB() {
try {
// Connect to MongoDB Atlas
await mongoose.connect('mongodb+srv://sanketyelave11:sanket@cluster0.vauajse.mongodb.net/prone', {
db.connect();

});

// Connection successful, log a message
console.log("Connected to MongoDB");

// Optionally, you can return the Mongoose connection object for further use
return mongoose.connection;
} catch (error) {
// Connection failed, log the error
console.error("Error connecting to MongoDB:", error);
throw error; // Optionally, rethrow the error for handling elsewhere
}
}
connectToMongoDB()
// Define schemas

const AdministratorSchema = new mongoose.Schema({
// Schema definition here
email: String,
password: String,
phonenumber: String
});

const AdminSchema = new mongoose.Schema({
// Schema definition here
email: String,
password: String,
phonenumber: String
});


const issueSchema = new mongoose.Schema({
// Schema definition here
department: String,
issue: String,
labNo: String,
status: String
});



const Administrator = mongoose.model('Administrator', AdministratorSchema);
const Admin = mongoose.model('Admin', AdminSchema);
const Issue = mongoose.model('Issue', issueSchema);

module.exports = {
Administrator,
Admin,
Issue,
}
module.exports = {db};
6 changes: 3 additions & 3 deletions Backend/db/issue.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
const { Router } = require("express");
const {Issue} =require("./index");
const {db} =require("./index");
const router = Router();

router.get('/', async(req,res) => {

const response = await Issue.find({});
const response = await db.query("SELECT * FROM issues");
console.log(response);
res.json({
issue: response
})
})

module.exports = router;
module.exports = router;
1 change: 1 addition & 0 deletions Backend/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,4 @@ app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`);
});


2 changes: 1 addition & 1 deletion Backend/middleware/admin.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ function adminMiddleware(req, res, next) {
}
}

module.exports = adminMiddleware;
module.exports = adminMiddleware;
29 changes: 8 additions & 21 deletions Backend/routes/admin.js
Original file line number Diff line number Diff line change
@@ -1,23 +1,17 @@
const { Router } = require("express");
const {Admin,Issue} =require("../db");
const {db} =require("../db");
const adminMiddleware = require("../middleware/admin");
const router = Router();
const {JWT_SECRET} = require("../config");
const jwt = require("jsonwebtoken");
// Admin Routes


router.post('/signin', async(req, res) => {
// Implement admin signup logic
const email = req.body.email;
const password = req.body.password;
const phonenumber = req.body.phonenumber
const user = await Admin.find({
email,
password,

})
if(user.length!=0){
const phonenumber = req.body.phonenumber;
const user = await db.query("SELECT * FROM admins WHERE email =$1",[email]);
if(user[0].length!=0){
const token = jwt.sign({
email
},JWT_SECRET);
Expand All @@ -36,16 +30,9 @@ router.post('/signin', async(req, res) => {

router.post('/issue', adminMiddleware, async(req, res) => {
// Implement course creation logic
const department = req.body.department;
const issue = req.body.issue;
const labNo = req.body.labNo;
const status = req.body.status;
const newIssue = await Issue.create({
department:department,
issue:issue,
labNo:labNo,
status:status
})
const {department,issue,labNo,status} = req.body;
const newIssue = await db.query("INSERT INTO issues (department,issue,labNo,status,newIssue) VALUES ($1,$2,$3,$4)",[{department},{issue},{labNo},{status}])

console.log(issue);
res.json({
message:'Issue created successfully',issueId: newIssue._id
Expand All @@ -54,7 +41,7 @@ router.post('/issue', adminMiddleware, async(req, res) => {
});
router.get('/showIssue', async(req,res) => {

const response = await Issue.find({});
const response = await db.query("SELECT * FROM issues");
console.log(response);
res.json({
issue: response
Expand Down
42 changes: 14 additions & 28 deletions Backend/routes/administrator.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
const { Router } = require("express");
const { Admin, Administrator, Issue } = require("../db");
const { db} = require("../db");
const administratorMiddleware = require("../middleware/administrator");
const router = Router();
const { JWT_SECRET } = require("../config");
const jwt = require("jsonwebtoken");
const { parseArgs } = require("util");
// Admin Routes

router.post('/signin', async (req, res) => {
Expand All @@ -12,10 +13,7 @@ router.post('/signin', async (req, res) => {
const email = req.body.email;
const password = req.body.password;
const phonenumber = req.body.phonenumber;
const user = await Administrator.find({
email,
password,
})
const user = await db.query("SELECT email FROM administrators WHERE email = $1",[email])
if (user.length != 0) {
const token = jwt.sign({
email
Expand All @@ -33,16 +31,8 @@ router.post('/signin', async (req, res) => {

router.post('/issue', administratorMiddleware, async (req, res) => {
// Implement course creation logic
const department = req.body.department;
const issue = req.body.issue;
const labNo = req.body.labNo;
const status = req.body.status;
const newIssue = await Issue.create({
department: department,
issue: issue,
labNo: labNo,
status: status
})
const {department,issue,labNo,status} = req.body;
const newIssue = await db.query("INSERT INTO issues (department,issue,labNo,status) VALUES ($1,$2,$3,$4)",[{department},{issue},{labNo},{status}])
console.log(issue);
res.json({
message: 'Issue created successfully', issueId: newIssue._id
Expand All @@ -51,33 +41,29 @@ router.post('/issue', administratorMiddleware, async (req, res) => {
});

router.post('/permission', administratorMiddleware, async (req, res) => {
const email = req.body.email;
const password = req.body.password;
const phonenumber = req.body.phonenumber;

await Admin.create({
email: email,
password: password,
phonenumber: phonenumber
})
const a = req.body.email;
const b = req.body.password;
const c = req.body.phonenumber;
console.log(req.body);
await db.query("INSERT INTO admins (email,password,status,phonenumber) VALUES ($1,$2,$3,$4)",[a,b,"admin",c]);
res.json({
message: 'Admin created succesfully'
})
})

router.delete('/delete/:adminId', administratorMiddleware, async (req, res) => {
await Admin.deleteMany({
_id: req.params.adminId
})
const response = await Admin.find({});
await db.query("DELETE FROM admins WHERE id=$1",req.params.adminId);

const response = await db.query("SELECT * FROM admins")
res.json({
courses: response
})

})
router.get('/showIssue', async (req, res) => {

const response = await Issue.find({});
const response = await db.query("SELECT * FROM issues");
console.log(response);
res.json({
issue: response
Expand Down