Show More
@@ -61,37 +61,6 b' log = logging.getLogger(__name__)' | |||||
61 | _hash_key = lambda k: hashlib.md5(safe_str(k)).hexdigest() |
|
61 | _hash_key = lambda k: hashlib.md5(safe_str(k)).hexdigest() | |
62 |
|
62 | |||
63 |
|
63 | |||
64 | class ModelSerializer(json.JSONEncoder): |
|
|||
65 | """ |
|
|||
66 | Simple Serializer for JSON, |
|
|||
67 |
|
||||
68 | usage:: |
|
|||
69 |
|
||||
70 | to make object customized for serialization implement a __json__ |
|
|||
71 | method that will return a dict for serialization into json |
|
|||
72 |
|
||||
73 | example:: |
|
|||
74 |
|
||||
75 | class Task(object): |
|
|||
76 |
|
||||
77 | def __init__(self, name, value): |
|
|||
78 | self.name = name |
|
|||
79 | self.value = value |
|
|||
80 |
|
||||
81 | def __json__(self): |
|
|||
82 | return dict(name=self.name, |
|
|||
83 | value=self.value) |
|
|||
84 |
|
||||
85 | """ |
|
|||
86 |
|
||||
87 | def default(self, obj): |
|
|||
88 |
|
||||
89 | if hasattr(obj, '__json__'): |
|
|||
90 | return obj.__json__() |
|
|||
91 | else: |
|
|||
92 | return json.JSONEncoder.default(self, obj) |
|
|||
93 |
|
||||
94 |
|
||||
95 | class BaseModel(object): |
|
64 | class BaseModel(object): | |
96 | """ |
|
65 | """ | |
97 | Base Model for all classess |
|
66 | Base Model for all classess | |
@@ -112,8 +81,13 b' class BaseModel(object):' | |||||
112 | d[k] = getattr(self, k) |
|
81 | d[k] = getattr(self, k) | |
113 |
|
82 | |||
114 | # also use __json__() if present to get additional fields |
|
83 | # also use __json__() if present to get additional fields | |
115 |
|
|
84 | _json_attr = getattr(self, '__json__', None) | |
116 | d[k] = val |
|
85 | if _json_attr: | |
|
86 | # update with attributes from __json__ | |||
|
87 | if callable(_json_attr): | |||
|
88 | _json_attr = _json_attr() | |||
|
89 | for k, val in _json_attr.iteritems(): | |||
|
90 | d[k] = val | |||
117 | return d |
|
91 | return d | |
118 |
|
92 | |||
119 | def get_appstruct(self): |
|
93 | def get_appstruct(self): | |
@@ -173,8 +147,8 b' class RhodeCodeSetting(Base, BaseModel):' | |||||
173 | 'mysql_charset': 'utf8'} |
|
147 | 'mysql_charset': 'utf8'} | |
174 | ) |
|
148 | ) | |
175 | app_settings_id = Column("app_settings_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
|
149 | app_settings_id = Column("app_settings_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | |
176 |
app_settings_name = Column("app_settings_name", String( |
|
150 | app_settings_name = Column("app_settings_name", String(255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | |
177 |
_app_settings_value = Column("app_settings_value", String( |
|
151 | _app_settings_value = Column("app_settings_value", String(255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | |
178 |
|
152 | |||
179 | def __init__(self, k='', v=''): |
|
153 | def __init__(self, k='', v=''): | |
180 | self.app_settings_name = k |
|
154 | self.app_settings_name = k | |
@@ -254,9 +228,9 b' class RhodeCodeUi(Base, BaseModel):' | |||||
254 | HOOK_PULL = 'preoutgoing.pull_logger' |
|
228 | HOOK_PULL = 'preoutgoing.pull_logger' | |
255 |
|
229 | |||
256 | ui_id = Column("ui_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
|
230 | ui_id = Column("ui_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | |
257 |
ui_section = Column("ui_section", String( |
|
231 | ui_section = Column("ui_section", String(255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | |
258 |
ui_key = Column("ui_key", String( |
|
232 | ui_key = Column("ui_key", String(255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | |
259 |
ui_value = Column("ui_value", String( |
|
233 | ui_value = Column("ui_value", String(255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | |
260 | ui_active = Column("ui_active", Boolean(), nullable=True, unique=None, default=True) |
|
234 | ui_active = Column("ui_active", Boolean(), nullable=True, unique=None, default=True) | |
261 |
|
235 | |||
262 | @classmethod |
|
236 | @classmethod | |
@@ -303,16 +277,16 b' class User(Base, BaseModel):' | |||||
303 | 'mysql_charset': 'utf8'} |
|
277 | 'mysql_charset': 'utf8'} | |
304 | ) |
|
278 | ) | |
305 | user_id = Column("user_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
|
279 | user_id = Column("user_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | |
306 |
username = Column("username", String( |
|
280 | username = Column("username", String(255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | |
307 |
password = Column("password", String( |
|
281 | password = Column("password", String(255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | |
308 | active = Column("active", Boolean(), nullable=True, unique=None, default=True) |
|
282 | active = Column("active", Boolean(), nullable=True, unique=None, default=True) | |
309 | admin = Column("admin", Boolean(), nullable=True, unique=None, default=False) |
|
283 | admin = Column("admin", Boolean(), nullable=True, unique=None, default=False) | |
310 |
name = Column("firstname", String( |
|
284 | name = Column("firstname", String(255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | |
311 |
lastname = Column("lastname", String( |
|
285 | lastname = Column("lastname", String(255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | |
312 |
_email = Column("email", String( |
|
286 | _email = Column("email", String(255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | |
313 | last_login = Column("last_login", DateTime(timezone=False), nullable=True, unique=None, default=None) |
|
287 | last_login = Column("last_login", DateTime(timezone=False), nullable=True, unique=None, default=None) | |
314 |
ldap_dn = Column("ldap_dn", String( |
|
288 | ldap_dn = Column("ldap_dn", String(255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | |
315 |
api_key = Column("api_key", String( |
|
289 | api_key = Column("api_key", String(255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | |
316 |
|
290 | |||
317 | user_log = relationship('UserLog', cascade='all') |
|
291 | user_log = relationship('UserLog', cascade='all') | |
318 | user_perms = relationship('UserToPerm', primaryjoin="User.user_id==UserToPerm.user_id", cascade='all') |
|
292 | user_perms = relationship('UserToPerm', primaryjoin="User.user_id==UserToPerm.user_id", cascade='all') | |
@@ -470,7 +444,7 b' class UserEmailMap(Base, BaseModel):' | |||||
470 |
|
444 | |||
471 | email_id = Column("email_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
|
445 | email_id = Column("email_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | |
472 | user_id = Column("user_id", Integer(), ForeignKey('users.user_id'), nullable=True, unique=None, default=None) |
|
446 | user_id = Column("user_id", Integer(), ForeignKey('users.user_id'), nullable=True, unique=None, default=None) | |
473 |
_email = Column("email", String( |
|
447 | _email = Column("email", String(255, convert_unicode=False, assert_unicode=None), nullable=True, unique=False, default=None) | |
474 |
|
448 | |||
475 | user = relationship('User', lazy='joined') |
|
449 | user = relationship('User', lazy='joined') | |
476 |
|
450 | |||
@@ -500,9 +474,9 b' class UserLog(Base, BaseModel):' | |||||
500 | user_log_id = Column("user_log_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
|
474 | user_log_id = Column("user_log_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | |
501 | user_id = Column("user_id", Integer(), ForeignKey('users.user_id'), nullable=False, unique=None, default=None) |
|
475 | user_id = Column("user_id", Integer(), ForeignKey('users.user_id'), nullable=False, unique=None, default=None) | |
502 | repository_id = Column("repository_id", Integer(), ForeignKey('repositories.repo_id'), nullable=True) |
|
476 | repository_id = Column("repository_id", Integer(), ForeignKey('repositories.repo_id'), nullable=True) | |
503 |
repository_name = Column("repository_name", String( |
|
477 | repository_name = Column("repository_name", String(255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | |
504 |
user_ip = Column("user_ip", String( |
|
478 | user_ip = Column("user_ip", String(255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | |
505 |
action = Column("action", UnicodeText( |
|
479 | action = Column("action", UnicodeText(1200000, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | |
506 | action_date = Column("action_date", DateTime(timezone=False), nullable=True, unique=None, default=None) |
|
480 | action_date = Column("action_date", DateTime(timezone=False), nullable=True, unique=None, default=None) | |
507 |
|
481 | |||
508 | @property |
|
482 | @property | |
@@ -521,7 +495,7 b' class UsersGroup(Base, BaseModel):' | |||||
521 | ) |
|
495 | ) | |
522 |
|
496 | |||
523 | users_group_id = Column("users_group_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
|
497 | users_group_id = Column("users_group_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | |
524 |
users_group_name = Column("users_group_name", String( |
|
498 | users_group_name = Column("users_group_name", String(255, convert_unicode=False, assert_unicode=None), nullable=False, unique=True, default=None) | |
525 | users_group_active = Column("users_group_active", Boolean(), nullable=True, unique=None, default=None) |
|
499 | users_group_active = Column("users_group_active", Boolean(), nullable=True, unique=None, default=None) | |
526 |
|
500 | |||
527 | members = relationship('UsersGroupMember', cascade="all, delete, delete-orphan", lazy="joined") |
|
501 | members = relationship('UsersGroupMember', cascade="all, delete, delete-orphan", lazy="joined") | |
@@ -594,16 +568,16 b' class Repository(Base, BaseModel):' | |||||
594 | ) |
|
568 | ) | |
595 |
|
569 | |||
596 | repo_id = Column("repo_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
|
570 | repo_id = Column("repo_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | |
597 |
repo_name = Column("repo_name", String( |
|
571 | repo_name = Column("repo_name", String(255, convert_unicode=False, assert_unicode=None), nullable=False, unique=True, default=None) | |
598 |
clone_uri = Column("clone_uri", String( |
|
572 | clone_uri = Column("clone_uri", String(255, convert_unicode=False, assert_unicode=None), nullable=True, unique=False, default=None) | |
599 |
repo_type = Column("repo_type", String( |
|
573 | repo_type = Column("repo_type", String(255, convert_unicode=False, assert_unicode=None), nullable=False, unique=False, default=None) | |
600 | user_id = Column("user_id", Integer(), ForeignKey('users.user_id'), nullable=False, unique=False, default=None) |
|
574 | user_id = Column("user_id", Integer(), ForeignKey('users.user_id'), nullable=False, unique=False, default=None) | |
601 | private = Column("private", Boolean(), nullable=True, unique=None, default=None) |
|
575 | private = Column("private", Boolean(), nullable=True, unique=None, default=None) | |
602 | enable_statistics = Column("statistics", Boolean(), nullable=True, unique=None, default=True) |
|
576 | enable_statistics = Column("statistics", Boolean(), nullable=True, unique=None, default=True) | |
603 | enable_downloads = Column("downloads", Boolean(), nullable=True, unique=None, default=True) |
|
577 | enable_downloads = Column("downloads", Boolean(), nullable=True, unique=None, default=True) | |
604 |
description = Column("description", String( |
|
578 | description = Column("description", String(10000, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | |
605 | created_on = Column('created_on', DateTime(timezone=False), nullable=True, unique=None, default=datetime.datetime.now) |
|
579 | created_on = Column('created_on', DateTime(timezone=False), nullable=True, unique=None, default=datetime.datetime.now) | |
606 |
landing_rev = Column("landing_revision", String( |
|
580 | landing_rev = Column("landing_revision", String(255, convert_unicode=False, assert_unicode=None), nullable=False, unique=False, default=None) | |
607 |
|
581 | |||
608 | fork_id = Column("fork_id", Integer(), ForeignKey('repositories.repo_id'), nullable=True, unique=False, default=None) |
|
582 | fork_id = Column("fork_id", Integer(), ForeignKey('repositories.repo_id'), nullable=True, unique=False, default=None) | |
609 | group_id = Column("group_id", Integer(), ForeignKey('groups.group_id'), nullable=True, unique=False, default=None) |
|
583 | group_id = Column("group_id", Integer(), ForeignKey('groups.group_id'), nullable=True, unique=False, default=None) | |
@@ -941,9 +915,9 b' class RepoGroup(Base, BaseModel):' | |||||
941 | __mapper_args__ = {'order_by': 'group_name'} |
|
915 | __mapper_args__ = {'order_by': 'group_name'} | |
942 |
|
916 | |||
943 | group_id = Column("group_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
|
917 | group_id = Column("group_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | |
944 |
group_name = Column("group_name", String( |
|
918 | group_name = Column("group_name", String(255, convert_unicode=False, assert_unicode=None), nullable=False, unique=True, default=None) | |
945 | group_parent_id = Column("group_parent_id", Integer(), ForeignKey('groups.group_id'), nullable=True, unique=None, default=None) |
|
919 | group_parent_id = Column("group_parent_id", Integer(), ForeignKey('groups.group_id'), nullable=True, unique=None, default=None) | |
946 |
group_description = Column("group_description", String( |
|
920 | group_description = Column("group_description", String(10000, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | |
947 |
|
921 | |||
948 | repo_group_to_perm = relationship('UserRepoGroupToPerm', cascade='all', order_by='UserRepoGroupToPerm.group_to_perm_id') |
|
922 | repo_group_to_perm = relationship('UserRepoGroupToPerm', cascade='all', order_by='UserRepoGroupToPerm.group_to_perm_id') | |
949 | users_group_to_perm = relationship('UsersGroupRepoGroupToPerm', cascade='all') |
|
923 | users_group_to_perm = relationship('UsersGroupRepoGroupToPerm', cascade='all') | |
@@ -1091,8 +1065,8 b' class Permission(Base, BaseModel):' | |||||
1091 | ] |
|
1065 | ] | |
1092 |
|
1066 | |||
1093 | permission_id = Column("permission_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
|
1067 | permission_id = Column("permission_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | |
1094 |
permission_name = Column("permission_name", String( |
|
1068 | permission_name = Column("permission_name", String(255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | |
1095 |
permission_longname = Column("permission_longname", String( |
|
1069 | permission_longname = Column("permission_longname", String(255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | |
1096 |
|
1070 | |||
1097 | def __unicode__(self): |
|
1071 | def __unicode__(self): | |
1098 | return u"<%s('%s:%s')>" % ( |
|
1072 | return u"<%s('%s:%s')>" % ( | |
@@ -1297,8 +1271,8 b' class CacheInvalidation(Base, BaseModel)' | |||||
1297 | 'mysql_charset': 'utf8'}, |
|
1271 | 'mysql_charset': 'utf8'}, | |
1298 | ) |
|
1272 | ) | |
1299 | cache_id = Column("cache_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
|
1273 | cache_id = Column("cache_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | |
1300 |
cache_key = Column("cache_key", String( |
|
1274 | cache_key = Column("cache_key", String(255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | |
1301 |
cache_args = Column("cache_args", String( |
|
1275 | cache_args = Column("cache_args", String(255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | |
1302 | cache_active = Column("cache_active", Boolean(), nullable=True, unique=None, default=False) |
|
1276 | cache_active = Column("cache_active", Boolean(), nullable=True, unique=None, default=False) | |
1303 |
|
1277 | |||
1304 | def __init__(self, cache_key, cache_args=''): |
|
1278 | def __init__(self, cache_key, cache_args=''): | |
@@ -1529,9 +1503,14 b' class PullRequest(Base, BaseModel):' | |||||
1529 | 'mysql_charset': 'utf8'}, |
|
1503 | 'mysql_charset': 'utf8'}, | |
1530 | ) |
|
1504 | ) | |
1531 |
|
1505 | |||
|
1506 | STATUS_NEW = u'new' | |||
|
1507 | STATUS_OPEN = u'open' | |||
|
1508 | STATUS_CLOSED = u'closed' | |||
|
1509 | ||||
1532 | pull_request_id = Column('pull_request_id', Integer(), nullable=False, primary_key=True) |
|
1510 | pull_request_id = Column('pull_request_id', Integer(), nullable=False, primary_key=True) | |
1533 | title = Column('title', Unicode(256), nullable=True) |
|
1511 | title = Column('title', Unicode(256), nullable=True) | |
1534 | description = Column('description', Unicode(10240), nullable=True) |
|
1512 | description = Column('description', UnicodeText(10240), nullable=True) | |
|
1513 | status = Column('status', Unicode(256), nullable=False, default=STATUS_NEW) | |||
1535 | created_on = Column('created_on', DateTime(timezone=False), nullable=False, default=datetime.datetime.now) |
|
1514 | created_on = Column('created_on', DateTime(timezone=False), nullable=False, default=datetime.datetime.now) | |
1536 | user_id = Column("user_id", Integer(), ForeignKey('users.user_id'), nullable=False, unique=None) |
|
1515 | user_id = Column("user_id", Integer(), ForeignKey('users.user_id'), nullable=False, unique=None) | |
1537 | _revisions = Column('revisions', UnicodeText(20500)) # 500 revisions max |
|
1516 | _revisions = Column('revisions', UnicodeText(20500)) # 500 revisions max | |
@@ -1595,7 +1574,7 b' class Notification(Base, BaseModel):' | |||||
1595 |
|
1574 | |||
1596 | notification_id = Column('notification_id', Integer(), nullable=False, primary_key=True) |
|
1575 | notification_id = Column('notification_id', Integer(), nullable=False, primary_key=True) | |
1597 | subject = Column('subject', Unicode(512), nullable=True) |
|
1576 | subject = Column('subject', Unicode(512), nullable=True) | |
1598 | body = Column('body', Unicode(50000), nullable=True) |
|
1577 | body = Column('body', UnicodeText(50000), nullable=True) | |
1599 | created_by = Column("created_by", Integer(), ForeignKey('users.user_id'), nullable=True) |
|
1578 | created_by = Column("created_by", Integer(), ForeignKey('users.user_id'), nullable=True) | |
1600 | created_on = Column('created_on', DateTime(timezone=False), nullable=False, default=datetime.datetime.now) |
|
1579 | created_on = Column('created_on', DateTime(timezone=False), nullable=False, default=datetime.datetime.now) | |
1601 | type_ = Column('type', Unicode(256)) |
|
1580 | type_ = Column('type', Unicode(256)) |
General Comments 0
You need to be logged in to leave comments.
Login now