javascriptnode.jsexpressadmin-bro

How can I change default url in my admin panel?


I am using admin bro for making an admin panel for my project.

What I want is to change the default URL for the admin panel.(example Now the URL is http://127.0.0.1:3000/admin and I want to change it to http://127.0.0.1:3000/myAdmin)

Here is my Code

const buildAdminRouter = require('./admin/admin.router');
const options = require('./admin/admin.options');

const databaseConnect = async () => {
  mongooseDb = await mongoose.connect(url, { useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex:true })
  .then((result) => app.listen(3000))
  .catch((err) => console.log(err));

  const db = mongoose.connection;
  db.on('error', console.error.bind(console, 'connection error:'));
  db.once('open', function() {
    console.log("we are connected to database");
  });

  //-------------Here is Admin Bro Logics---------------------------------------------
    const admin = new AdminBro(options)
    const router = buildAdminRouter(admin);
    app.use(admin.options.rootPath, router);
  
};
databaseConnect();

Options are imported from this file

const {default : AdminBro} = require('admin-bro');
const AdminBroMongoose = require('admin-bro-mongoose');

AdminBro.registerAdapter(AdminBroMongoose);

// const { Company} = require('./Data/company');
const User = require('../models/User');
const Topic = require('../models/topics');
const Question = require('../models/question');

const options = {
    // databases : [mongooseDb]
    databases : [],
    rootpath : '/roshan'

};

module.exports = options;

Here is the buildAdminRouter function :

const {default : AdminBro} = require('admin-bro');
const {buildRouter} = require('admin-bro-expressjs');
const express = require('express');

const buildAdminRouter = (admin) => {
    const router = buildRouter(admin);
    return router;
}
module.exports = buildAdminRouter;

EDIT 1: I added rootpath in options but still It doesn't work, admin panel is still under /admin.


Solution

  • It's rootPath and not rootpath