diff options
author | Marcin Kuzminski <marcin@python-works.com> | 2012-06-26 02:21:06 +0200 |
---|---|---|
committer | Marcin Kuzminski <marcin@python-works.com> | 2012-06-26 02:21:06 +0200 |
commit | cd437fc91e8cda625753e5b1af7ec3f412900682 (patch) | |
tree | 8993211d694d33f759c4573977a6010315c16bd2 /rhodecode/model/db.py | |
parent | 5271882acbcedb8b430bc66dd5b6711b7ac46cf4 (diff) |
Added functions for getting API data to repo and user models
--HG--
branch : beta
Diffstat (limited to 'rhodecode/model/db.py')
-rwxr-xr-x | rhodecode/model/db.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/rhodecode/model/db.py b/rhodecode/model/db.py index 138aeda1..89b1e743 100755 --- a/rhodecode/model/db.py +++ b/rhodecode/model/db.py @@ -427,6 +427,26 @@ class User(Base, BaseModel): Session.add(self) log.debug('updated user %s lastlogin' % self.username) + def get_api_data(self): + """ + Common function for generating user related data for API + """ + user = self + data = dict( + id=user.user_id, + username=user.username, + api_key=user.api_key, + firstname=user.name, + lastname=user.lastname, + email=user.email, + emails=user.emails, + active=user.active, + admin=user.admin, + ldap_dn=user.ldap_dn, + last_login=user.last_login, + ) + return data + def __json__(self): return dict( user_id=self.user_id, @@ -734,6 +754,27 @@ class Repository(Base, BaseModel): return is_valid_repo(repo_name, cls.base_path()) + def get_api_data(self): + """ + Common function for generating repo api data + + """ + repo = self + data = dict( + id=repo.repo_id, + repo_name=repo.repo_name, + repo_type=repo.repo_type, + clone_uri=repo.clone_uri, + private=repo.private, + created_on=repo.created_on, + description=repo.description, + landing_rev=repo.landing_rev, + owner=repo.user.username, + fork_of=repo.fork.repo_name if repo.fork else None + ) + + return data + #========================================================================== # SCM PROPERTIES #========================================================================== |