123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- const asyncWrapper = require('../middleware/asyncWrapper');
- const ErrorResponse = require('../utils/ErrorResponse');
- const Config = require('../models/Config');
- // @desc Insert new key:value pair
- // @route POST /api/config
- // @access Public
- exports.createPair = asyncWrapper(async (req, res, next) => {
- const pair = await Config.create(req.body);
- res.status(201).json({
- success: true,
- data: pair
- })
- })
- // @desc Get all key:value pairs
- // @route GET /api/config
- // @access Public
- exports.getAllPairs = asyncWrapper(async (req, res, next) => {
- const pairs = await Config.findAll();
- res.status(201).json({
- success: true,
- data: pairs
- })
- })
- // @desc Get single key:value pair
- // @route GET /api/config/:key
- // @access Public
- exports.getSinglePair = asyncWrapper(async (req, res, next) => {
- const pair = await Config.findOne({
- where: { key: req.params.key }
- });
- if (!pair) {
- return next(new ErrorResponse(`Key ${req.params.key} was not found`, 404));
- }
- res.status(201).json({
- success: true,
- data: pair
- })
- })
- // @desc Update value
- // @route PUT /api/config/:key
- // @access Public
- exports.updateValue = asyncWrapper(async (req, res, next) => {
- let pair = await Config.findOne({
- where: { key: req.params.key }
- });
- if (!pair) {
- return next(new ErrorResponse(`Key ${req.params.key} was not found`, 404));
- }
- if (pair.isLocked) {
- return next(new ErrorResponse(`Value of key ${req.params.key} is locked and can not be changed`, 400));
- }
- pair = await pair.update({ ...req.body });
- res.status(200).json({
- success: true,
- data: pair
- })
- })
- // @desc Delete key:value pair
- // @route DELETE /api/config/:key
- // @access Public
- exports.deletePair = asyncWrapper(async (req, res, next) => {
- const pair = await Config.findOne({
- where: { key: req.params.key }
- });
- if (!pair) {
- return next(new ErrorResponse(`Key ${req.params.key} was not found`, 404));
- }
- if (pair.isLocked) {
- return next(new ErrorResponse(`Value of key ${req.params.key} is locked and can not be deleted`, 400));
- }
- await pair.destroy();
- res.status(200).json({
- success: true,
- data: {}
- })
- })
|