diff sat/core/sat_main.py @ 3777:001ea5f4a2f9

core: method to know if a profile/entity is an admin: the new `is_admin` SatXMPPEntity property tell if it's an administrator. Admin JIDs are retrieve on init, so they can be looked after when profle is not available (notably when a component handle a request and has only a JID available). The new `memory.isAdminJID` method is then used.
author Goffi <goffi@goffi.org>
date Sun, 15 May 2022 14:14:52 +0200
parents 16e36f0dd1cb
children 89b13b405b93
line wrap: on
line diff
--- a/sat/core/sat_main.py	Sat May 14 23:00:35 2022 +0200
+++ b/sat/core/sat_main.py	Sun May 15 14:14:52 2022 +0200
@@ -939,6 +939,10 @@
             return False
         return self.profiles[profile].isConnected()
 
+    def isAdmin(self, client: xmpp.SatXMPPEntity) -> bool:
+        """Tells if a client is an administrator with extra privileges"""
+        return client.profile in self.memory.admins
+
     ## Encryption ##
 
     def registerEncryptionPlugin(self, *args, **kwargs):