Sequalize возвращает null для CreatedAt и UpdatedAt - PullRequest
0 голосов
/ 10 июля 2020

Я работаю над проектом, в котором создаю викторины по MYSQL DB. Я использую облачные функции sequelize и firebase. моя функция addQuiz добавляет тест в базу данных и возвращает созданный тест. моя проблема - это поля createdAt и updatedAt. Я хочу, чтобы моя функция addQuiz также возвращала эти два поля, но я не знаю, почему она возвращает значение null. Есть ли способ получить доступ к этим двум полям?

Вот моя функция:

exports.addQuiz = functions.https.onCall(async data => {
  
  const quiz = await db.Quiz.create({
    title: data.title,
    description: data.description,
    numRounds: 0,
    author: data.userId,
    createdOn: admin.firestore.FieldValue.serverTimestamp()
  });
  
  console.log(quiz);

  return quiz.get({ plain: true });
});

Модель викторины

module.exports = (sequelize, DataTypes) => {
    const Quiz = sequelize.define('Quiz', { // 'Quiz' is the name of the table 
        idQuizzes: {
            type: DataTypes.INTEGER,
            allowNull: false,
            autoIncrement: true,
            primaryKey: true
        },
        title: {
            type: DataTypes.STRING,
            allowNull: false
        },
        description: {
            type: DataTypes.STRING,
            allowNull: true
        },
        author: { // userId
            type: DataTypes.INTEGER,
            allowNull: false
        },
        roundIds: {
            type: DataTypes.ARRAY(DataTypes.INTEGER),
            allowNull: true
        },
        date: {
            type: 'TIMESTAMP',
            defaultValue: Sequelize.literal('CURRENT_TIMESTAMP'),
            allowNull: false
        },
        /** 
        createdAt: {
            type: DataType.DATE,
            get() {
                return moment(this.getDataValue('createdAt')).format('DD/MM/YYYY h:mm:ss');
            }
        },
        updatedAt: {
            type: DataType.DATE,
            get() {
                return moment(this.getDataValue('updatedAt')).format('DD/MM/YYYY h:mm:ss');
            }
        }**/
        createdOn: {
            allowNull: false,
            type: Sequelize.DATE
          },
          updatedAt: {
            allowNull: false,
            type: Sequelize.DATE
          }
    });

Часть внешнего интерфейса, где я ' m звонит addquiz;

 // create the data to pass to cloud function

    const quizData = {
      title: quizTitle,
      description: quizDescription,
      userId: context.userId,
    };
    console.log("quizData in continue step", quizData);

    createQuiz(quizData);
  };

  const createQuiz = async quizData => {
    console.log("creating quiz...");
    //console.log(quizData);
    const quiz = await addQuiz(quizData);
    console.log("created quiz", quiz);
    
...