[Bug]: In some resorce getting randome email id insted of my data which is an incremental int value prsenent in id column
or in same table getting javascript error
Can you share your entity's schema and what's the ORM/ODM/AdminJS adapter you're using?
Can you share your entity's schema and what's the ORM/ODM/AdminJS adapter you're using?
ORM -SEQUELIZE
package.json
admin.js file
import * as AdminJSMongoose from '@adminjs/mongoose';
import AdminJS from 'adminjs'; import AdminJSExpress from '@adminjs/express'; import AdminJSSequelize from '@adminjs/sequelize'; import Connect from 'connect-pg-simple'; import adminOptions from './app/routes/admin_models.js'; import cors from 'cors'; import dbConfig from './config/database.cjs'; import dotenv from 'dotenv'; import exceptionHandler from './lib/exceptionHandler.js'; import express from 'express'; import http from 'http'; import mongoose from 'mongoose'; import session from 'express-session';
// Dot ENV config to load *.env files based on profile development/production/test if(process.env.NODE_ENV != 'production'){ dotenv.config(); }
const dbOptions = dbConfig[process.env.NODE_ENV];
const connectionURL = postgres://${dbOptions.username}:${dbOptions.password}@${dbOptions.host}:${dbOptions.port}/${dbOptions.database};
const DEFAULT_ADMIN = { email: '[email protected]', password: 'xxxx', };
const authenticate = async (email, password) => { if (email === DEFAULT_ADMIN.email && password === DEFAULT_ADMIN.password) { return Promise.resolve(DEFAULT_ADMIN); }
return null; };
const app = express();
// mongoose.connect(process.env.DB_MONGO_URL); app.use(cors());
AdminJS.registerAdapter({ Resource: AdminJSSequelize.Resource, Database: AdminJSSequelize.Database, });
// AdminJS.registerAdapter({ // Resource: AdminJSMongoose.Resource, // Database: AdminJSMongoose.Database, // });
// TODO: migrate to sequelize, just using example for now https://docs.adminjs.co/installation/plugins/express const ConnectSession = Connect(session); const sessionStore = new ConnectSession({ conObject: { connectionString: connectionURL, ssl: process.env.NODE_ENV === 'production', }, tableName: 'session', createTableIfMissing: true, });
const admin = new AdminJS(adminOptions);
const adminRouter = AdminJSExpress.buildAuthenticatedRouter( admin, { authenticate, cookieName: 'adminjs', cookiePassword: 'sessionsecret', }, null, { store: sessionStore, resave: true, saveUninitialized: true, secret: 'sessionsecret', cookie: { httpOnly: process.env.NODE_ENV === 'production', secure: process.env.NODE_ENV === 'production', }, name: 'adminjs', } );
app.use(admin.options.rootPath, adminRouter); app.use(exceptionHandler);
const server = http.createServer(app);
export default server;
I was asking about User Banks entity, I want to figure out why it uses email in your id column.
I was asking about
User Banksentity, I want to figure out why it uses email in your id column.
user bank model
import { DataTypes, Model } from 'sequelize';
import BankIfscMaster from './bank_ifsc_master.js'; import UserSip from './user_sip.js'; import sequelize from '../../lib/sequelize.js';
class UserBank extends Model { /**
- Helper method for defining associations.
- This method is not a part of Sequelize lifecycle.
- The
models/indexfile will call this method automatically. */ static associate(models) { // define association here } } // TODO: Raise validation error if user bank accs greater than 5 for same ucc UserBank.init({ id: { type: DataTypes.BIGINT, primaryKey: true, autoIncrement: true }, user_id: { type: DataTypes.BIGINT }, bank_account_number: { type: DataTypes.STRING }, ifsc_code: DataTypes.STRING, bank_account_type_bse_code: DataTypes.STRING, bse_user_id: { type: DataTypes.BIGINT, references: { model: { tableName: 'bse_users' }, key: 'id' } }, ucc_bank_num: DataTypes.INTEGER }, { sequelize, modelName: 'UserBank', tableName: 'user_banks', underscored: true, hooks: { beforeCreate: async (userBank, options) => { const count = await UserBank.count({ where: { user_id: userBank.user_id, bse_user_id: userBank.bse_user_id }}); userBank.ucc_bank_num = count + 1; } } });
UserBank.hasOne(BankIfscMaster, { foreignKey: 'ifsc_code', sourceKey: 'ifsc_code' }); UserSip.belongsTo(UserBank, { foreignKey: 'user_bank_id', targetKey: 'id' }); UserBank.hasMany(UserSip, { foreignKey: 'user_bank_id', sourceKey: 'id'});
export default UserBank;