initial work on adding models for starring repos.

I'm sick of using `git stash`.
This commit is contained in:
Jimmy Zelinskie 2014-11-19 14:50:56 -05:00
parent f3259c862b
commit eb956e5b7d
5 changed files with 197 additions and 16 deletions

View file

@ -4,7 +4,9 @@ import uuid
from random import SystemRandom
from datetime import datetime
from peewee import *
from peewee import (Proxy, MySQLDatabase, SqliteDatabase, PostgresqlDatabase, fn, CharField,
BooleanField, IntegerField, DateTimeField, ForeignKeyField, TextField,
BigIntegerField)
from data.read_slave import ReadSlaveModel
from sqlalchemy.engine.url import make_url
from util.names import urn_generator
@ -265,6 +267,20 @@ class Repository(BaseModel):
super(Repository, self).delete_instance(recursive=False, delete_nullable=False)
class Star(BaseModel):
user = ForeignKeyField(User, index=True, related_name="stars")
repository = ForeignKeyField(Repository, index=True, related_name="stargazers")
created = DateTimeField(default=datetime.now)
class Meta:
database = db
read_slaves = (read_slave,)
indexes = (
# create a unique index on user and repository
(('user', 'repository'), True),
)
class Role(BaseModel):
name = CharField(index=True, unique=True)
@ -550,4 +566,4 @@ all_models = [User, Repository, Image, AccessToken, Role, RepositoryPermission,
Notification, ImageStorageLocation, ImageStoragePlacement,
ExternalNotificationEvent, ExternalNotificationMethod, RepositoryNotification,
RepositoryAuthorizedEmail, ImageStorageTransformation, DerivedImageStorage,
TeamMemberInvite]
TeamMemberInvite, Star]