'How to pass variable into init in a JavaScript program

I have a model named user.js that uses Sequelize:

const { Sequelize, Model, STRING,} = require('sequelize');

var sequelizeCredentials = null;

class User extends Model{
    constructor(sequelizeCredentials){
        this.sequelizeCredentials = sequelizeCredentials;
    }
};
console.log(sequelizeCredentials);
User.init(
    {
        id: {type:Sequelize.UUID, defaultValue: Sequelize.UUIDV4, primaryKey:true},
        username: {type:STRING, allowNull:false},
        password: {type:STRING, allowNull:false},
        name: {type:STRING, allowNull:false},
    },{sequelize: sequelizeCredentials, modelName:'user'}
);
module.exports = { User };

I am trying to pass my sequelize credentials from the app.js like this:

const express = require('express');
const { Sequelize } = require('sequelize');
const mysql = require('mysql2/promise');
const user = require('./modals/user');
const app = express();

app.use(express.json());

initialize();
async function initialize() {
   const sequelize = new Sequelize(
        'express_project',
        'root',
        '',
        {
            dialect: 'mysql'
        }
    );

    localUser = new user.User(sequelize);

    await sequelize.sync();
}

However, I keep getting an error saying "No Sequelize instance passed".

I am very new to JS/TS.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source