【问题标题】:How to add AWS Cognito sub UUID to Sequelize table as primary key?如何将 AWS Cognito 子 UUID 添加到 Sequelize 表作为主键?
【发布时间】:2021-06-03 16:42:56
【问题描述】:

尝试将我的 Cognito 用户子 UUID 添加到我的 Sequelize 表中时遇到了很多问题。我已经看到 Sequelize 的解决方案可以自动生成自己的 UUID,但不能用于自定义 UUID?我正在从客户端推送 AWS 子 UUID 作为快递中的有效负载。

模型文件:

function User(sequelize) {
  const User = sequelize.define(
    "User",
    {
      id: {
        type: DataTypes.UUID,
        primaryKey: true,
        allowNull: false,
      },

客户端

      console.log('result: ', user);
      console.log('result: ', user.userSub, typeof user.userSub);
      console.log('uuid result: ', uuidParse(user.userSub), typeof uuidParse(user.userSub));

      let payload = {
        id: user.userSub,
        username: username,
        email: email,
        birthday: birthdate
      }

      const request = {
        url: `/api/user`,
        method: 'POST',
        payload,
      };

      query(request);

错误:

"name":"SequelizeValidationError","errors":[{"message":"User.id cannot be null","type":"notNull Violation","path":"id","value":null,"origin":"CORE"

谢谢

【问题讨论】:

    标签: node.js sequelize.js amazon-cognito sequelize-cli


    【解决方案1】:

    刚刚想通了,似乎我忘记在模型的 createUser 方法中的参数中添加 id 了。一切正常

     User.createUser = async function ({ **id**, username, email, bio, birthday, gender }) {
        return await this.create({
          **id**,
          username,
          email,
          bio,
          birthday,
          gender
        });
      };
    

    【讨论】:

      猜你喜欢
      • 2019-12-12
      • 2018-10-29
      • 2021-01-10
      • 2018-09-08
      • 2018-07-19
      • 1970-01-01
      • 2019-11-29
      • 2010-11-23
      • 1970-01-01
      相关资源
      最近更新 更多