UNPKG

@tasolutions/express-core

Version:
44 lines (36 loc) 1.55 kB
const Response = require('../../utils/response'); const { mapHeadersToQuery } = require('../../utils/requestHeader'); const { parseFormData } = require('../../utils/collection.util'); const { uploadFiles } = require('../../utils/upload'); const { authInfo } = require('../../config'); module.exports = { /** * This crud create */ create: async (req, res, Collection) => { try { await mapHeadersToQuery(req, Collection); if (req.userLogin && req.userLogin.userId) { req.body.creatorId = req.userLogin.userId; } // Merchant if (authInfo.enableMerchant && !req.isSystemAdmin && configs.isFilterMerchant) { const { merchant } = req.headers; req.body.merchant_id = merchant; } // Remove fields with empty string values from req.body Object.keys(req.body).forEach((key) => { if (req.body[key] === "") { req.body[key] = null; } }); // Phân tích cú pháp req.body thành cấu trúc đối tượng const parsedBody = parseFormData(req.body); const newEntry = await uploadFiles(req, Collection); const createdEntry = await Collection.create({ ...newEntry, ...parsedBody }); // Kết hợp các trường với parsedBody return Response.success(res, createdEntry); } catch (e) { return Response.error(res, e.message); } } }