changeset 3127:71ce052f8b6b beta

add ipaddresses to repo data on API calls
author Marcin Kuzminski <marcin@python-works.com>
date Mon, 31 Dec 2012 16:52:16 +0100
parents 703070153bc1
children 36e2bbd6a85f
files docs/api/api.rst rhodecode/model/db.py
diffstat 2 files changed, 28 insertions(+), 20 deletions(-) [+]
line wrap: on
line diff
--- a/docs/api/api.rst	Mon Dec 31 01:51:30 2012 +0100
+++ b/docs/api/api.rst	Mon Dec 31 16:52:16 2012 +0100
@@ -233,16 +233,17 @@
     id : <id_given_in_input>
     result: None if user does not exist or 
             {
-                "user_id" :  "<user_id>",
-                "username" : "<username>",
-                "firstname": "<firstname>",
-                "lastname" : "<lastname>",
-                "email" :    "<email>",
-                "emails":    "<list_of_all_additional_emails>",
-                "active" :   "<bool>",
-                "admin" :    "<bool>",
-                "ldap_dn" :  "<ldap_dn>",
-                "last_login": "<last_login>",
+                "user_id" :     "<user_id>",
+                "username" :    "<username>",
+                "firstname":    "<firstname>",
+                "lastname" :    "<lastname>",
+                "email" :       "<email>",
+                "emails":       "<list_of_all_additional_emails>",
+                "ip_addresses": "<list_of_ip_addresses_for_user>",
+                "active" :      "<bool>",
+                "admin" :       "<bool>",
+                "ldap_dn" :     "<ldap_dn>",
+                "last_login":   "<last_login>",
                 "permissions": {
                     "global": ["hg.create.repository",
                                "repository.read",
@@ -274,16 +275,17 @@
     id : <id_given_in_input>
     result: [
               {
-                "user_id" :  "<user_id>",
-                "username" : "<username>",
-                "firstname": "<firstname>",
-                "lastname" : "<lastname>",
-                "email" :    "<email>",
-                "emails":    "<list_of_all_additional_emails>",
-                "active" :   "<bool>",
-                "admin" :    "<bool>",
-                "ldap_dn" :  "<ldap_dn>",
-                "last_login": "<last_login>",
+                "user_id" :     "<user_id>",
+                "username" :    "<username>",
+                "firstname":    "<firstname>",
+                "lastname" :    "<lastname>",
+                "email" :       "<email>",
+                "emails":       "<list_of_all_additional_emails>",
+                "ip_addresses": "<list_of_ip_addresses_for_user>",
+                "active" :      "<bool>",
+                "admin" :       "<bool>",
+                "ldap_dn" :     "<ldap_dn>",
+                "last_login":   "<last_login>",
               },

             ]
--- a/rhodecode/model/db.py	Mon Dec 31 01:51:30 2012 +0100
+++ b/rhodecode/model/db.py	Mon Dec 31 16:52:16 2012 +0100
@@ -370,6 +370,11 @@
         return [self.email] + [x.email for x in other]
 
     @property
+    def ip_addresses(self):
+        ret = UserIpMap.query().filter(UserIpMap.user == self).all()
+        return [x.ip_addr for x in ret]
+
+    @property
     def username_and_name(self):
         return '%s (%s %s)' % (self.username, self.firstname, self.lastname)
 
@@ -472,6 +477,7 @@
             admin=user.admin,
             ldap_dn=user.ldap_dn,
             last_login=user.last_login,
+            ip_addresses=user.ip_addresses
         )
         return data