initial work on adding models for starring repos.
I'm sick of using `git stash`.
This commit is contained in:
parent
f3259c862b
commit
eb956e5b7d
5 changed files with 197 additions and 16 deletions
|
@ -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]
|
||||
|
|
Reference in a new issue