mirror of
https://github.com/pawelmalak/flame.git
synced 2026-03-11 06:53:12 +08:00
Split remaining controllers into separate files. Added iOS homescreen icon. Removed additional logging from weather module.
This commit is contained in:
21
controllers/queries/addQuery.js
Normal file
21
controllers/queries/addQuery.js
Normal file
@@ -0,0 +1,21 @@
|
||||
const asyncWrapper = require('../../middleware/asyncWrapper');
|
||||
const File = require('../../utils/File');
|
||||
|
||||
// @desc Add custom search query
|
||||
// @route POST /api/queries
|
||||
// @access Public
|
||||
const addQuery = asyncWrapper(async (req, res, next) => {
|
||||
const file = new File('data/customQueries.json');
|
||||
let content = JSON.parse(file.read());
|
||||
|
||||
// Add new query
|
||||
content.queries.push(req.body);
|
||||
file.write(content, true);
|
||||
|
||||
res.status(201).json({
|
||||
success: true,
|
||||
data: req.body,
|
||||
});
|
||||
});
|
||||
|
||||
module.exports = addQuery;
|
||||
22
controllers/queries/deleteQuery.js
Normal file
22
controllers/queries/deleteQuery.js
Normal file
@@ -0,0 +1,22 @@
|
||||
const asyncWrapper = require('../../middleware/asyncWrapper');
|
||||
const File = require('../../utils/File');
|
||||
|
||||
// @desc Delete query
|
||||
// @route DELETE /api/queries/:prefix
|
||||
// @access Public
|
||||
const deleteQuery = asyncWrapper(async (req, res, next) => {
|
||||
const file = new File('data/customQueries.json');
|
||||
let content = JSON.parse(file.read());
|
||||
|
||||
content.queries = content.queries.filter(
|
||||
(q) => q.prefix != req.params.prefix
|
||||
);
|
||||
file.write(content, true);
|
||||
|
||||
res.status(200).json({
|
||||
success: true,
|
||||
data: content.queries,
|
||||
});
|
||||
});
|
||||
|
||||
module.exports = deleteQuery;
|
||||
17
controllers/queries/getQueries.js
Normal file
17
controllers/queries/getQueries.js
Normal file
@@ -0,0 +1,17 @@
|
||||
const asyncWrapper = require('../../middleware/asyncWrapper');
|
||||
const File = require('../../utils/File');
|
||||
|
||||
// @desc Get custom queries file
|
||||
// @route GET /api/queries
|
||||
// @access Public
|
||||
const getQueries = asyncWrapper(async (req, res, next) => {
|
||||
const file = new File('data/customQueries.json');
|
||||
const content = JSON.parse(file.read());
|
||||
|
||||
res.status(200).json({
|
||||
success: true,
|
||||
data: content.queries,
|
||||
});
|
||||
});
|
||||
|
||||
module.exports = getQueries;
|
||||
@@ -1,81 +1,6 @@
|
||||
const asyncWrapper = require('../../middleware/asyncWrapper');
|
||||
const File = require('../../utils/File');
|
||||
const { join } = require('path');
|
||||
|
||||
const QUERIES_PATH = join(__dirname, '../../data/customQueries.json');
|
||||
|
||||
// @desc Add custom search query
|
||||
// @route POST /api/queries
|
||||
// @access Public
|
||||
exports.addQuery = asyncWrapper(async (req, res, next) => {
|
||||
const file = new File(QUERIES_PATH);
|
||||
let content = JSON.parse(file.read());
|
||||
|
||||
// Add new query
|
||||
content.queries.push(req.body);
|
||||
file.write(content, true);
|
||||
|
||||
res.status(201).json({
|
||||
success: true,
|
||||
data: req.body,
|
||||
});
|
||||
});
|
||||
|
||||
// @desc Get custom queries file
|
||||
// @route GET /api/queries
|
||||
// @access Public
|
||||
exports.getQueries = asyncWrapper(async (req, res, next) => {
|
||||
const file = new File(QUERIES_PATH);
|
||||
const content = JSON.parse(file.read());
|
||||
|
||||
res.status(200).json({
|
||||
success: true,
|
||||
data: content.queries,
|
||||
});
|
||||
});
|
||||
|
||||
// @desc Update query
|
||||
// @route PUT /api/queries/:prefix
|
||||
// @access Public
|
||||
exports.updateQuery = asyncWrapper(async (req, res, next) => {
|
||||
const file = new File(QUERIES_PATH);
|
||||
let content = JSON.parse(file.read());
|
||||
|
||||
let queryIdx = content.queries.findIndex(
|
||||
(q) => q.prefix == req.params.prefix
|
||||
);
|
||||
|
||||
// query found
|
||||
if (queryIdx > -1) {
|
||||
content.queries = [
|
||||
...content.queries.slice(0, queryIdx),
|
||||
req.body,
|
||||
...content.queries.slice(queryIdx + 1),
|
||||
];
|
||||
}
|
||||
|
||||
file.write(content, true);
|
||||
|
||||
res.status(200).json({
|
||||
success: true,
|
||||
data: content.queries,
|
||||
});
|
||||
});
|
||||
|
||||
// @desc Delete query
|
||||
// @route DELETE /api/queries/:prefix
|
||||
// @access Public
|
||||
exports.deleteQuery = asyncWrapper(async (req, res, next) => {
|
||||
const file = new File(QUERIES_PATH);
|
||||
let content = JSON.parse(file.read());
|
||||
|
||||
content.queries = content.queries.filter(
|
||||
(q) => q.prefix != req.params.prefix
|
||||
);
|
||||
file.write(content, true);
|
||||
|
||||
res.status(200).json({
|
||||
success: true,
|
||||
data: content.queries,
|
||||
});
|
||||
});
|
||||
module.exports = {
|
||||
addQuery: require('./addQuery'),
|
||||
getQueries: require('./getQueries'),
|
||||
updateQuery: require('./updateQuery'),
|
||||
deleteQuery: require('./deleteQuery'),
|
||||
};
|
||||
|
||||
32
controllers/queries/updateQuery.js
Normal file
32
controllers/queries/updateQuery.js
Normal file
@@ -0,0 +1,32 @@
|
||||
const asyncWrapper = require('../../middleware/asyncWrapper');
|
||||
const File = require('../../utils/File');
|
||||
|
||||
// @desc Update query
|
||||
// @route PUT /api/queries/:prefix
|
||||
// @access Public
|
||||
const updateQuery = asyncWrapper(async (req, res, next) => {
|
||||
const file = new File('data/customQueries.json');
|
||||
let content = JSON.parse(file.read());
|
||||
|
||||
let queryIdx = content.queries.findIndex(
|
||||
(q) => q.prefix == req.params.prefix
|
||||
);
|
||||
|
||||
// query found
|
||||
if (queryIdx > -1) {
|
||||
content.queries = [
|
||||
...content.queries.slice(0, queryIdx),
|
||||
req.body,
|
||||
...content.queries.slice(queryIdx + 1),
|
||||
];
|
||||
}
|
||||
|
||||
file.write(content, true);
|
||||
|
||||
res.status(200).json({
|
||||
success: true,
|
||||
data: content.queries,
|
||||
});
|
||||
});
|
||||
|
||||
module.exports = updateQuery;
|
||||
Reference in New Issue
Block a user