feat: ✨ uuid token
This commit is contained in:
parent
a73553ab81
commit
b90fa4ae3c
30 changed files with 223 additions and 142 deletions
0
user_token/__init__.py
Normal file
0
user_token/__init__.py
Normal file
5
user_token/admin.py
Normal file
5
user_token/admin.py
Normal file
|
@ -0,0 +1,5 @@
|
|||
from django.contrib import admin
|
||||
from .models import UserToken
|
||||
|
||||
# Register your models here.
|
||||
admin.site.register(UserToken)
|
6
user_token/apps.py
Normal file
6
user_token/apps.py
Normal file
|
@ -0,0 +1,6 @@
|
|||
from django.apps import AppConfig
|
||||
|
||||
|
||||
class UserTokenConfig(AppConfig):
|
||||
default_auto_field = "django.db.models.BigAutoField"
|
||||
name = "user_token"
|
39
user_token/migrations/0001_initial.py
Normal file
39
user_token/migrations/0001_initial.py
Normal file
|
@ -0,0 +1,39 @@
|
|||
# Generated by Django 5.0.6 on 2024-07-03 01:46
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
("user", "0001_initial"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name="UserToken",
|
||||
fields=[
|
||||
(
|
||||
"token",
|
||||
models.CharField(
|
||||
auto_created=True,
|
||||
max_length=16,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
unique=True,
|
||||
),
|
||||
),
|
||||
(
|
||||
"user",
|
||||
models.ForeignKey(
|
||||
auto_created=True,
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="tokens",
|
||||
to="user.user",
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
]
|
|
@ -0,0 +1,36 @@
|
|||
# Generated by Django 5.0.6 on 2024-07-03 02:25
|
||||
|
||||
import django.db.models.deletion
|
||||
import uuid
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
dependencies = [
|
||||
("user", "0001_initial"),
|
||||
("user_token", "0001_initial"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name="usertoken",
|
||||
name="token",
|
||||
field=models.CharField(
|
||||
auto_created=True,
|
||||
default=uuid.UUID("f609e128-79ad-4fbd-b384-9bb5e9c0b631"),
|
||||
max_length=36,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
unique=True,
|
||||
),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name="usertoken",
|
||||
name="user",
|
||||
field=models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="tokens",
|
||||
to="user.user",
|
||||
),
|
||||
),
|
||||
]
|
0
user_token/migrations/__init__.py
Normal file
0
user_token/migrations/__init__.py
Normal file
17
user_token/models.py
Normal file
17
user_token/models.py
Normal file
|
@ -0,0 +1,17 @@
|
|||
from django.db import models
|
||||
from user.models import User
|
||||
import uuid
|
||||
|
||||
|
||||
class UserToken(models.Model):
|
||||
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name="tokens")
|
||||
token = models.CharField(
|
||||
max_length=36,
|
||||
unique=True,
|
||||
auto_created=True,
|
||||
primary_key=True,
|
||||
default=uuid.uuid4(),
|
||||
)
|
||||
|
||||
def __str__(self):
|
||||
return str(self.token)
|
9
user_token/serializers.py
Normal file
9
user_token/serializers.py
Normal file
|
@ -0,0 +1,9 @@
|
|||
from rest_framework import serializers
|
||||
from .models import UserToken
|
||||
|
||||
|
||||
class UserTokenSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = UserToken
|
||||
fields = "__all__"
|
||||
read_only_fields = ["user", "token"]
|
3
user_token/tests.py
Normal file
3
user_token/tests.py
Normal file
|
@ -0,0 +1,3 @@
|
|||
# from django.test import TestCase
|
||||
|
||||
# Create your tests here.
|
10
user_token/urls.py
Normal file
10
user_token/urls.py
Normal file
|
@ -0,0 +1,10 @@
|
|||
from django.urls import path, include
|
||||
from rest_framework.routers import DefaultRouter
|
||||
from user_token import views as user_token_views
|
||||
|
||||
router = DefaultRouter()
|
||||
router.register(r"", user_token_views.UserViewSet)
|
||||
|
||||
urlpatterns = [
|
||||
path("", include(router.urls)),
|
||||
]
|
11
user_token/views.py
Normal file
11
user_token/views.py
Normal file
|
@ -0,0 +1,11 @@
|
|||
from rest_framework.viewsets import ReadOnlyModelViewSet
|
||||
|
||||
# from rest_framework.permissions import IsAuthenticatedOrReadOnly
|
||||
from .models import UserToken
|
||||
from .serializers import UserTokenSerializer
|
||||
|
||||
|
||||
class UserViewSet(ReadOnlyModelViewSet):
|
||||
queryset = UserToken.objects.all()
|
||||
serializer_class = UserTokenSerializer
|
||||
# permission_classes = [IsAuthenticatedOrReadOnly]
|
Loading…
Add table
Add a link
Reference in a new issue