3

I have a file CreateNewUserID.js, which has the code as below.

        const Connection = require('./database/Connection')

const createNewUserID = async(connData, userId) => {
    try{
         var getConn = await Connection.get().getConn();
         const query = `exec BaseDB.get_client_info`
         var clientusers = await getConn.query(query);
        
        var getConn1 = await Connection.get().getConnection(connData)
        var res = await getConn1.execute('BaseDB.get_all_existing_users');
        res.recordsets[1].map(async (val) => {
            try{
                var newid = val.id+'NEWID';
                var getConn2 = await Connection.get().getConnection(connData)
                getConn2.input('userid', userid)
                getConn2.input('updatedid', newid)
                var res2 = await getConn2.execute(`BaseDB.update_users_with_newid`)
            } catch (err) {
                console.log(err)
                return { err, message: 'First DB Connection' }
            }
        })
    } catch (err) {
        console.log(err)
        return { err, message: 'Second DB Connection' }
    }
}

const connData = {
    "clientuserid": "12345"
}

createNewUserID(connData)

Also I have a Connection.js where I have made DB connection configurations of Base Database and client DB.The client DB Database will be dynamic. So, for now I am passing the DB name through constant connData. I have defined connData in the same file above in CreateNewUserID.js.

My Connection.js is below:

    const sql = require('mssql')
class Connection {

    // CONNECTION CONFIGURATION OF CLIENT DB
    getConnection = async (conData) => {
        const connData = JSON.parse(conData)
        try {
            // sql.close();
            const config = {
                user: process.env.SQL_USER,
                password: process.env.SQL_PASSWORD,
                server: process.env.SQL_SERVER,
                database: connData.clientuserid
            }
            const pool = await new sql.ConnectionPool(config)
            const req=await pool.connect()
            const conn = await req.request()

            // const req = await sql.connect(config)
            // const conn = await req.request()
            return conn;
        } catch (err) {
            return err;
        }
    };
    // CONNECTION CONFIGURATION OF BASE DB
    getConn = async () => {
        try {
            // sql.close();
            const config = {
                user: process.env.SQL_USER,
                password: process.env.SQL_PASSWORD,
                server: process.env.SQL_SERVER,
                database: process.env.SQL_DATABASE
            }
            const pool = await new sql.ConnectionPool(config)
            const req=await pool.connect()
            const conn = await req.request()
            // const req = await sql.connect(config)
            // const conn = await req.request()
            return conn;
        } catch (err) {
            return err;
        }
    };


}
Connection.__instance = null;
Connection.get = () => {
    if (!Connection.__instance) {
        Connection.__instance = new Connection();
    }
    return Connection.__instance;
};
module.exports = Connection;

When I try to run the file through CMD with command node CreateNewUserID.js I am getting the error as unexpected token 0 in json at position 1 at first catch with message "First DB connection".

Why am I getting the error and how to resolve it. Please help. Thanks in advance

apokryfos
  • 38,771
  • 9
  • 70
  • 114
Sai sri
  • 515
  • 12
  • 25

0 Answers0