changeset 2010:14dffcfebb02 beta

API get_user and get_repo methods can fetch by id or names
author Marcin Kuzminski <marcin@python-works.com>
date Tue, 21 Feb 2012 02:51:28 +0200
parents b63adad7c4af
children 4bf79abde983
files docs/api/api.rst rhodecode/controllers/api/api.py rhodecode/model/repo.py
diffstat 3 files changed, 12 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/docs/api/api.rst	Tue Feb 21 02:35:43 2012 +0200
+++ b/docs/api/api.rst	Tue Feb 21 02:51:28 2012 +0200
@@ -87,7 +87,7 @@
 get_user
 --------
 
-Get's an user by username, Returns empty result if user is not found.
+Get's an user by username or user_id, Returns empty result if user is not found.
 This command can be executed only using api_key belonging to user with admin 
 rights.
 
@@ -97,7 +97,7 @@
     api_key : "<api_key>"
     method :  "get_user"
     args :    { 
-                "username" : "<username>"
+                "userid" : "<username or user_id>"
               }
 
 OUTPUT::
@@ -370,8 +370,8 @@
 get_repo
 --------
 
-Gets an existing repository. This command can be executed only using api_key
-belonging to user with admin rights
+Gets an existing repository by it's name or repository_id. This command can 
+be executed only using api_key belonging to user with admin rights.
 
 
 INPUT::
@@ -379,7 +379,7 @@
     api_key : "<api_key>"
     method :  "get_repo"
     args:     {
-                "repo_name" : "<reponame>"
+                "repoid" : "<reponame or repo_id>"
               }
 
 OUTPUT::
--- a/rhodecode/controllers/api/api.py	Tue Feb 21 02:35:43 2012 +0200
+++ b/rhodecode/controllers/api/api.py	Tue Feb 21 02:51:28 2012 +0200
@@ -80,7 +80,7 @@
             raise JSONRPCError('Unable to pull changes from "%s"' % repo_name)
 
     @HasPermissionAllDecorator('hg.admin')
-    def get_user(self, apiuser, username):
+    def get_user(self, apiuser, userid):
         """"
         Get a user by username
 
@@ -88,7 +88,7 @@
         :param username:
         """
 
-        user = User.get_by_username(username)
+        user = UserModel().get_user(userid)
         if user is None:
             return user
 
@@ -342,7 +342,7 @@
             raise JSONRPCError('failed to remove user from group')
 
     @HasPermissionAnyDecorator('hg.admin')
-    def get_repo(self, apiuser, repo_name):
+    def get_repo(self, apiuser, repoid):
         """"
         Get repository by name
 
@@ -350,7 +350,7 @@
         :param repo_name:
         """
 
-        repo = Repository.get_by_repo_name(repo_name)
+        repo = RepoModel().get_repo(repoid)
         if repo is None:
             raise JSONRPCError('unknown repository %s' % repo)
 
--- a/rhodecode/model/repo.py	Tue Feb 21 02:35:43 2012 +0200
+++ b/rhodecode/model/repo.py	Tue Feb 21 02:51:28 2012 +0200
@@ -82,6 +82,9 @@
                                           "get_repo_%s" % repo_id))
         return repo.scalar()
 
+    def get_repo(self, repository):
+        return self.__get_repo(repository)
+
     def get_by_repo_name(self, repo_name, cache=False):
         repo = self.sa.query(Repository)\
             .filter(Repository.repo_name == repo_name)