Mercurial > kallithea
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)