summaryrefslogtreecommitdiffstats
path: root/models.py
blob: b59ae66acf29901cf452df57e6b343cdb9cb7b9f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
from peewee import CharField, DateTimeField, BooleanField, ForeignKeyField
from peewee import create_model_tables
from datetime import datetime
from app import db

class User(db.Model):
    username = CharField()
    api_id = CharField(null=True)
    email = CharField()
    last_login = DateTimeField(default=datetime.now)
    active = BooleanField(default=True)
    admin = BooleanField(default=False)

    def __unicode__(self):
        return self.username

class Group(db.Model):
    name = CharField(unique=True)
    api_id = CharField(null=True)

    def __unicode__(self):
        return self.name

class Member(db.Model):
    group = ForeignKeyField(Group, related_name='members')
    user = ForeignKeyField(User, related_name='groups')
    manager = BooleanField(default=False)
    admin = BooleanField(default=False)

    def __unicode__(self):
        return "%s member of %s" % (self.user.username, self.group.name)

def create_tables():
    create_model_tables([User, Group, Member], fail_silently = True)