feat: uuid token

This commit is contained in:
Ahmet Kaan GÜMÜŞ 2024-07-03 05:37:18 +03:00
parent a73553ab81
commit b90fa4ae3c
30 changed files with 223 additions and 142 deletions

0
user_token/__init__.py Normal file
View file

5
user_token/admin.py Normal file
View 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
View file

@ -0,0 +1,6 @@
from django.apps import AppConfig
class UserTokenConfig(AppConfig):
default_auto_field = "django.db.models.BigAutoField"
name = "user_token"

View 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",
),
),
],
),
]

View file

@ -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",
),
),
]

View file

17
user_token/models.py Normal file
View 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)

View 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
View file

@ -0,0 +1,3 @@
# from django.test import TestCase
# Create your tests here.

10
user_token/urls.py Normal file
View 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
View 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]