]> git.0d.be Git - panikdb.git/blob - panikdb/oauth/models.py
style: do not display hours for emission playlist zones
[panikdb.git] / panikdb / oauth / models.py
1 import uuid
2
3 from django.conf import settings
4 from django.db import models
5
6
7 class OAuthClient(models.Model):
8     client_id = models.CharField(max_length=100)
9     client_secret = models.CharField(max_length=100, default=uuid.uuid4)
10
11     def __str__(self):
12         return self.client_id
13
14
15 class OAuthSub(models.Model):
16     sub = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
17     client = models.ForeignKey(OAuthClient, on_delete=models.CASCADE)
18     user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
19
20
21 class OAuthCode(models.Model):
22     code = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
23     client = models.ForeignKey(OAuthClient, on_delete=models.CASCADE)
24     user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
25     creation_timestamp = models.DateTimeField(auto_now_add=True, null=True)
26
27
28 class OAuthAccessToken(models.Model):
29     token = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
30     client = models.ForeignKey(OAuthClient, on_delete=models.CASCADE)
31     user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
32     creation_timestamp = models.DateTimeField(auto_now_add=True, null=True)