Get req username in server-side

Solved Plugin Development
  • Hi,
    I don't know to get the username of request sender
    There is req.uid in RouteHelpers, but without req.username.
    Can render temp with username?
    Thank you!

  • You need to make your controller async for it to work.

    init: async params => {
        RouteHelpers.setupAdminPageRoute(params.router, '/admin/plugins/myplugin', params.middleware, [], async (req, res) => {
            res.render('admin/plugins/myplugin', { username: await User.getUserField(req.uid, 'username') })
        })
    }
    
  • You need to get the username with await user.getUserField(req.uid, 'username');

  • @baris the problem is: if I use with await - then route not work
    I tried

    init: async params => {
        RouteHelpers.setupAdminPageRoute(params.router, '/admin/plugins/myplugin', params.middleware, [], (req, res) => {
            res.render('admin/plugins/myplugin', { username: await User.getUserField(req.uid, 'username') })
        })
    }
    

    or

    init: async params => {
        User.getUserField(req.uid, 'username', username => {
            RouteHelpers.setupAdminPageRoute(params.router, '/admin/plugins/myplugin', params.middleware, [], (req, res) => {
                res.render('admin/plugins/myplugin', { username: username })
            })
        })
    }
    

    The admin route waiting and not load..
    What you think?

  • You need to make your controller async for it to work.

    init: async params => {
        RouteHelpers.setupAdminPageRoute(params.router, '/admin/plugins/myplugin', params.middleware, [], async (req, res) => {
            res.render('admin/plugins/myplugin', { username: await User.getUserField(req.uid, 'username') })
        })
    }
    
  • Y Yehonatan Albert marked this topic as a question on
  • Y Yehonatan Albert has marked this topic as solved on


Suggested Topics