| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /**
- * @file Provides the model and operation for messages.
- * @author Inigo Valentin
- * @since 4.0.0
- */
- const logger = require('pino')();
- const db = require("../models");
- const User = db.users;
- const Message = db.messages;
- const Op = db.Sequelize.Op;
- /**
- * Create and save a new message.
- *
- * @param req The received request by the server.
- * @param res The request to be sent by the server.
- */
- exports.create = async (req, res) => {
- // Validate request
- let missing = [];
- if (!req.body.name) missing.push("name");
- if (!req.body.email) missing.push("email");
- if (!req.body.text) missing.push("text");
- if (missing.length > 0){
- let message = "Missing required fields: [";
- for (let i = 0; i < missing.length; i ++){
- message += missing[i];
- if (i < missing.length - 1) message += ", ";
- }
- message += "].";
- res.status(400).send(message);
- return;
- }
- const name = req.body.name;
- const email = req.body.email;
- const subject = req.body.subject;
- const text = req.body.text;
- const lang = req.body.lang;
- //const user = User.findActive().id;
- const user = (await User.findOne({where: {active: true}})).id;
- console.log("ACTIVES: " + user);
-
- // Create a message
- const message = {
- userId: user, name: name, email: email, subject: subject, text: text, lang: lang
- };
-
- // Save Project in the database
- Message.create(message)
- .then(data => {res.send(data);})
- .catch(err => {
- logger.error("Error creating message: " + err);
- res.status(500).send("Error creating message.");
- });
- };
|