aboutsummaryrefslogtreecommitdiffstats
path: root/djangorestframework/tokenauth/models.py
blob: b5a9f7b922de75aad8b7d3bbe5e22ee2a005bbb0 (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
import uuid
from django.db import models

class BaseToken(models.Model):
    """
    The base abstract authorization token model class.
    """
    key = models.CharField(max_length=32, primary_key=True, blank=True)
    user = models.ForeignKey('auth.User')
    revoked = models.BooleanField(default=False)

    class Meta:
        abstract=True

    def save(self, *args, **kwargs):
        if not self.key:
            self.key = uuid.uuid4().hex
        return super(BaseToken, self).save(*args, **kwargs)


class Token(BaseToken):
    """
    The default authorization token model class.
    """
    pass