refactor: rewrite ke codebase lama

This commit is contained in:
Muhammad Zhafran Ilham
2026-06-07 20:17:49 +07:00
parent ce5487dcbf
commit fe74b2213d
146 changed files with 14608 additions and 6686 deletions
+44
View File
@@ -0,0 +1,44 @@
const axios = require('axios');
const path = require('path');
const { deleteFileIfExists } = require('../helpers/utils/fileHelper');
const { response } = require('../helpers/utils/wrapper');
const { SUCCESS, ERROR } = require('../helpers/http-status/status_code');
const verifyRecaptcha = async (req, res, next) => {
const recaptchaToken = req.body?.['g-recaptcha-response'] || req.query?.['g-recaptcha-response'];
const cv = req.files.cv?.[0]?.filename;
const pdf = req.files.portofolio?.[0]?.filename;
const files = [cv, pdf];
if (!recaptchaToken) {
await deleteFiles(files);
return response(res, "fail", { err: 'Recaptcha token is missing' }, "Recaptcha Verification Failed", ERROR.BAD_REQUEST);
}
try {
const secretKey = process.env.RECAPTCHA_SECRET_KEY;
const response = await axios.post(
`https://www.google.com/recaptcha/api/siteverify?secret=${secretKey}&response=${recaptchaToken}`
)
if (!response.data.success) {
await deleteFiles(files);
return res.status(400).json({ message: 'Recaptcha verification failed' });
}
return next();
} catch (error) {
console.error('Recaptcha verification error:', error);
res.status(500).json({ message: 'Recaptcha verification failed' });
}
};
async function deleteFiles(files) {
for (const file of files) {
if (file) {
const fileName = path.basename(`/uploads/${file}`);
await deleteFileIfExists(fileName);
}
}
}
module.exports = verifyRecaptcha;