Skip to content

Instantly share code, notes, and snippets.

@YohannesTz
Created May 2, 2022 15:30
Show Gist options
  • Save YohannesTz/7026d6182fe6b108f10731187beac340 to your computer and use it in GitHub Desktop.
Save YohannesTz/7026d6182fe6b108f10731187beac340 to your computer and use it in GitHub Desktop.
All of my files related to the error.
const express = require('express');
const app = express();
const bodyParser = require('body-parser');
const figlet = require('figlet');
const PORT = process.env.PORT || 5000;
const helmet = require('helmet');
const verifyToken = require('./util/auth.js');
const cors = require('cors');
const formidable = require('express-formidable');
const multer = require('multer');
const upload = multer();
app.use(cors());
app.use(helmet());
app.use(express.urlencoded({extended: false, limit: '25mb'}));
app.use(express.json());
//app.use(formidable());
//app.use(upload.array());
app.use(express.static('./images'));
app.use(express.static('./files'));
app.use('/api/users', require('./routes/user-route'));
app.use('/api/images', require('./routes/images-route'));
app.use('/api/news', require('./routes/news-route'));
app.use('/api/admins', require('./routes/admins-route'));
app.use('/api/config', require('./routes/config-route'));
app.get('/', (_req, res) => res.send("<h1>The Server Running</h1>"));
app.listen(PORT, () => {
console.log("ENADB Server running on localhost:" + PORT);
figlet.text("ENADB", (_err, data) => {
console.log(data);
});
});
const Knex = require('../util/dbconnection');
module.exports = {
getAllNews: function (cb) {
Knex.select().from('news_events')
.then(news => cb(null, news))
.catch(err => cb(err, null));
},
getNewsById: function (cb, id) {
Knex('news_events').where('id', id)
.then(news => cb(null, news))
.catch(err => cb(err, null));
},
getNewsByAuthor: function (cb, author) {
Knex('news_events').where('author', author)
.then(news => cb(null, news))
.catch(err => cb(err, null));
},
getNewsByFileId: function (cb, fileId) {
Knex('news_events').where('fileId', fileId)
.then(news => cb(null, news))
.catch(err => cb(err, null));
},
getNewsByType: function (cb, type) {
Knex('news_events').where('type', type)
.then(news => cb(null, news))
.catch(err => cb(err, null));
},
getNewsByStatus: function (cb, status) {
Knex('news_events').where('status', status)
.then(news => cb(null, news))
.catch(err => cb(err, null));
},
createNews: function (cb, newsData) {
createNewsOperation(newsData)
.then(news => cb(null, news))
.catch(err => cb(err, null));
},
updateNews: function (cb, id, newsData) {
updateNewsOperation(id, newsData)
.then(news => cb(null, news))
.catch(err => cb(err, null));
},
hideNews: function (cb, id) {
hideNewsOperation(id)
.then(news => cb(null, news))
.catch(err => cb(err, null));
},
deleteNews:function(cb, id) {
deleteNewsOperation(id)
.then(news => cb(null, news))
.catch(err => cb(err, null));
}
};
async function createNewsOperation(newsData) {
try {
let createNewsOperation = await Knex('news_events').insert(newsData);
return await Knex('news_events').where('id', createNewsOperation);
} catch (error) {
return error;
}
}
async function updateNewsOperation(id, newsData){
try {
let updateNews = await Knex('news_events').where('id', id).update(newsData);
console.log(updateNews);
return await Knex('news_events').where('id', id);
} catch (error) {
return error;
}
}
async function hideNewsOperation(id) {
try {
let hideNews = await Knex('news_events').where('id', id).update('status', 'HIDDEN');
console.log(hideNews);
return await Knex('news_events').where('id', id);
} catch(error) {
return error;
}
}
async function deleteNewsOperation(id) {
try {
let deleteNews = await Knex('news_events').where('id', id).update('stats', 'DELETED');
console.log(deleteNews);
return await Knex('news_events').where('id', id);
} catch (error) {
return error;
}
}
const express = require('express');
const router = express.Router();
const multer = require('multer');
const auth = require('../util/auth');
const newsOps = require('../operations/news-ops');
const upload = multer();
const multiparty = require('multiparty');
const fileStorageEngine = multer.diskStorage({
destination: (req, files, cb) => {
console.log("-------------inside---------------");
console.log(req);
console.log(files);
console.log("-------------inside---------------");
cb(null, "./files");
},
filename: (req, file, cb) => {
cb(null, file.originalname);
},
});
const uploader = multer({storage: fileStorageEngine});
const logger = (req, res, next) => {
console.log("-------------inside logger---------------");
console.log(req);
console.log("-------------inside logger---------------");
return next();
};
router.get('/', (req, res) => {
newsOps.getAllNews((err, response) => {
res.send(err ? err.toString() : response);
});
});
router.get('/id/:id', (req, res) => {
newsOps.getNewsById((err, response) => {
res.send(err ? err.toString() : response);
}, req.params.id);
});
router.get('/author/:author', (req, res) => {
newsOps.getNewsByAuthor((err, response) => {
res.send(err ? err.toString() : response);
}, req.params.author);
});
router.get('/fileId/:fileId', (req, res) => {
newsOps.getNewsByFileId((err, response) => {
res.send(err ? err.toString() : response);
}, req.params.fileId);
});
router.get('/status/:status', (req, res) => {
newsOps.getNewsByStatus((err, response) => {
res.send(err ? err.toString() : response);
}, req.params.status);
});
/*router.post('/add', auth, (req, res) => {
newsOps.createNews((err, response) => {
res.send(err ? err.toString() : response);
}, req.body);
});*/
router.post('/upload', auth, uploader.single("file"), (req, res) => {
console.log(req.file);
res.send({"message": "Single file uploaded Success..."});
});
router.post('/add', logger, auth, uploader.single("file"), (req, res) => {
let fileUploaded = req.file;
console.log(fileUploaded);
let { title, intro, file_id, author, should_notify, location, type } = req.body; //.uploadData;
const blog_data = {
title,
intro,
file_id,
author,
should_notify,
location,
type,
status: "DONE"
};
newsOps.createNews((err, response) => {
res.send(err ? err.toString() : response);
}, blog_data);
});
router.put('/update/:id', auth, (req, res) => {
newsOps.updateNews((err, response) => {
res.send(err ? err.toString() : response);
},req.params.id, req.body);
});
router.put('/hide/:newsId', auth, (req, res) => {
newsOps.hideNews((err, response) => {
res.send(err ? err.toString() : response);
}, req.params.newsId);
});
router.delete('/delete/:newsId', auth, (req, res) => {
newsOps.deleteNews((err, response) => {
res.send(err ? err.toString() : response);
}, req.params.newsId);
});
module.exports = router;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment