summaryrefslogtreecommitdiff
path: root/src/mailman/rest/users.py
diff options
context:
space:
mode:
authorBarry Warsaw2015-09-23 20:45:41 -0400
committerBarry Warsaw2015-09-23 20:45:41 -0400
commit6c75191a230474d51505ba3269f14b9093b35863 (patch)
tree8d2f66779c50bd64c449b9f0ad975fd12c5dd695 /src/mailman/rest/users.py
parent4e92faced9c8b215420971164fd5e1de97db7a46 (diff)
parent3023f73c87588de46b7096123e778d999d6b4111 (diff)
downloadmailman-6c75191a230474d51505ba3269f14b9093b35863.tar.gz
mailman-6c75191a230474d51505ba3269f14b9093b35863.tar.zst
mailman-6c75191a230474d51505ba3269f14b9093b35863.zip
A new top-level resource `<api>/owners` can be used to get the list of server
owners as `IUser`s. (Closes #135)
Diffstat (limited to 'src/mailman/rest/users.py')
-rw-r--r--src/mailman/rest/users.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/mailman/rest/users.py b/src/mailman/rest/users.py
index 252e7757b..6c352fd8c 100644
--- a/src/mailman/rest/users.py
+++ b/src/mailman/rest/users.py
@@ -464,3 +464,18 @@ class OwnersForDomain(_UserBase):
def _get_collection(self, request):
"""See `CollectionMixin`."""
return list(self._domain.owners)
+
+
+
+class ServerOwners(_UserBase):
+ """All server owners."""
+
+ def on_get(self, request, response):
+ """/owners"""
+ resource = self._make_collection(request)
+ okay(response, etag(resource))
+
+ @paginate
+ def _get_collection(self, request):
+ """See `CollectionMixin`."""
+ return list(getUtility(IUserManager).server_owners)