# HG changeset patch # User Marcin Kuzminski # Date 1340670066 -7200 # Node ID 43cb5b6047fd85802cda034919f905de9b67ce56 # Parent 374693af2849964b6eeb92b3709139b32c54390c Added functions for getting API data to repo and user models diff -r 374693af2849 -r 43cb5b6047fd rhodecode/model/db.py --- a/rhodecode/model/db.py Mon Jun 25 23:20:27 2012 +0200 +++ b/rhodecode/model/db.py Tue Jun 26 02:21:06 2012 +0200 @@ -427,6 +427,26 @@ 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 @@ 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 #==========================================================================