Compare commits

...

4 Commits

Author SHA1 Message Date
Jonas Schäfer
2762304ae8 Make AdminUserInfo compatible with new API
The mod_http_admin_api changed recently [1], so we need to follow
suit.

Fixes #149.

   [1]: https://hg.prosody.im/prosody-modules/rev/d68348323406
2023-03-28 22:21:07 +02:00
Jonas Schäfer
49bbc3ab09 Merge pull request #148 from Zash/newscopes
Update to match new Prosody scope naming scheme
2023-03-28 21:42:00 +02:00
Kim Alvefur
8f1f80b7d7 Update to match new Prosody scope naming scheme
Ref https://hg.prosody.im/prosody-modules/rev/5ab134b7e510

Thanks Jonas
2023-03-28 21:14:20 +02:00
Jonas Schäfer
13bc283a3e Merge pull request #140 from snikket-im/feature/site-name-consistency
entrypoint: default SNIKKET_WEB_SITE_NAME to SNIKKET_SITE_NAME
2023-03-28 20:59:17 +02:00

View File

@@ -27,8 +27,8 @@ from . import xmpputil
from .xmpputil import split_jid
SCOPE_DEFAULT = "prosody:scope:default"
SCOPE_ADMIN = "prosody:scope:admin"
SCOPE_DEFAULT = "prosody:user"
SCOPE_ADMIN = "prosody:admin"
T = typing.TypeVar("T")
@@ -61,12 +61,18 @@ class AdminUserInfo:
cls,
data: typing.Mapping[str, typing.Any],
) -> "AdminUserInfo":
try:
roles: typing.Optional[typing.List[str]] = [data["role"]]
assert roles is not None # make mypy happy
roles.extend(data.get("secondary_roles", []))
except KeyError:
roles = data.get("roles")
return cls(
localpart=data["username"],
display_name=data.get("display_name") or None,
email=data.get("email") or None,
phone=data.get("phone") or None,
roles=data.get("roles"),
roles=roles,
)