fixed API server crash when admin query voip-carrier (#442)

This commit is contained in:
Hoan Luu Huu
2025-05-09 18:42:24 +07:00
committed by GitHub
parent 48e39f37d3
commit 27c3664391

View File

@@ -74,11 +74,15 @@ decorate(router, VoipCarrier, ['add', 'update', 'delete'], preconditions);
router.get('/', async(req, res) => {
const logger = req.app.locals.logger;
const {lookupAccountBySid} = req.app.locals;
const account = req.user.service_provider_sid ? req.user : await lookupAccountBySid(req.user.account_sid);
try {
const results = req.user.hasAdminAuth ?
await VoipCarrier.retrieveAll(req.user.hasAccountAuth ? req.user.account_sid : null) :
await VoipCarrier.retrieveAllForSP(account.service_provider_sid);
let results = [];
if (req.user.hasAdminAuth) {
results = await VoipCarrier.retrieveAll(req.user.hasAccountAuth ? req.user.account_sid : null);
} else {
const account = req.user.service_provider_sid ? req.user : await lookupAccountBySid(req.user.account_sid);
results = await VoipCarrier.retrieveAllForSP(account.service_provider_sid);
}
if (req.user.hasScope('account')) {
return res.status(200).json(results.filter((c) => c.account_sid === req.user.account_sid || !c.account_sid));