aboutsummaryrefslogtreecommitdiff
path: root/rhodecode/model/db.py
diff options
context:
space:
mode:
authorMarcin Kuzminski <marcin@python-works.com>2012-06-26 02:21:06 +0200
committerMarcin Kuzminski <marcin@python-works.com>2012-06-26 02:21:06 +0200
commitcd437fc91e8cda625753e5b1af7ec3f412900682 (patch)
tree8993211d694d33f759c4573977a6010315c16bd2 /rhodecode/model/db.py
parent5271882acbcedb8b430bc66dd5b6711b7ac46cf4 (diff)
Added functions for getting API data to repo and user models
--HG-- branch : beta
Diffstat (limited to 'rhodecode/model/db.py')
-rwxr-xr-xrhodecode/model/db.py41
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
#==========================================================================