Software /
code /
prosody
File
net/resolvers/chain.lua @ 13684:026a75a443de 13.0
mod_admin_shell: Hide secondary role commands, focus on primary roles
Secondary roles are an advanced feature without any strong use cases
currently. Having multiple ways to manage roles is confusing.
Now the 'user:role' command will just show the primary role if that is all
there is, but will list secondary roles too if there are any (which in 99.9%
of cases there won't be).
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Thu, 13 Feb 2025 16:18:59 +0000 |
parent | 12204:7c397a49d163 |
line wrap: on
line source
local methods = {}; local resolver_mt = { __index = methods }; -- Find the next target to connect to, and -- pass it to cb() function methods:next(cb) if self.resolvers then if not self.resolver then if #self.resolvers == 0 then cb(nil); return; end local next_resolver = table.remove(self.resolvers, 1); self.resolver = next_resolver; end self.resolver:next(function (...) if self.resolver then self.last_error = self.resolver.last_error; end if ... == nil then self.resolver = nil; self:next(cb); else cb(...); end end); return; end end local function new(resolvers) return setmetatable({ resolvers = resolvers }, resolver_mt); end return { new = new; };