Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | 1x 1x 1x 1x 1x 1x 1x 1x 1x | const campaignService = require("../services/campaignService");
const logger = require("../utils/logger");
const successResponse = require("../utils/successResponse");
const { createCampaingSchema } = require("../utils/validationSchema");
/**
* Function to fetch all campaigns record
* Method: GET
*/
exports.listCampaigns = async (req, res, next) => {
try {
const userID = req?.userId;
const { limit = 10, offset = 0 } = req.query;
// logger.info(`${userID}: `);
const campaigns = await campaignService?.getCampaigns(
userID,
offset,
limit,
);
// Return success response
successResponse(res, campaigns, "Campaigns fetched successfully", 200);
} catch (error) {
next(error);
}
};
/**
* Function to fetch single campaign record
* Method: GET
*/
exports.listOneCampaign = async (req, res, next) => {
try {
const userID = req?.userId;
const campaignID = req?.params?.id;
const campaign = await campaignService?.getOneCampaign(userID, campaignID);
// Return success response
successResponse(res, campaign, "Campaign fetched successfully", 200);
} catch (error) {
next(error);
}
};
/**
* Function to create a campaign
* Method: POST
*/
exports.createCampaign = async (req, res, next) => {
try {
const userID = req?.userId;
let { name, status, brand_color, addresses } = req.body;
const postcard_front_img_path = req?.files?.postcard_front_img[0]?.path;
const company_logo_path = req?.files?.company_logo[0]?.path;
const campaign = await campaignService?.createCampaign(
userID,
name,
status,
brand_color,
postcard_front_img_path,
company_logo_path,
addresses,
);
// Return success response
successResponse(res, campaign, "Campaign created successfully", 201);
} catch (error) {
next(error);
}
};
/**
* Function to update a campaign
* Method: PUT
*/
exports.updateCampaign = async (req, res, next) => {
try {
const userID = req?.userId;
const campaignID = req?.params?.id;
const { name, status, brand_color } = req.body;
const campaign = await campaignService?.updateCampaign(campaignID, userID, {
name,
status,
brand_color,
});
// Return success response
successResponse(res, campaign, "Campaign updated successfully", 200);
} catch (error) {
next(error);
}
};
/**
* Function to delete a campaign
* Method: DELETE
*/
exports.deleteCampaign = async (req, res, next) => {
try {
const userID = req?.userId;
const campaignID = req?.params?.id;
const campaign = await campaignService?.deleteCampaign(campaignID, userID);
// Return success response
successResponse(res, campaign, "Campaign deleted successfully", 204);
} catch (error) {
next(error);
}
};
|