From cc7043f013e6c4214fe5e7a4894776d6ed94253f Mon Sep 17 00:00:00 2001 From: MOIS3Y Date: Wed, 9 Aug 2023 01:59:17 +0900 Subject: [PATCH] Remove: Token model use token field only in ticket model --- logs_collector/collector/admin.py | 3 +- ...hive_token_remove_archive_user_and_more.py | 47 +++++++++++++++++++ logs_collector/collector/models.py | 34 +++++--------- 3 files changed, 61 insertions(+), 23 deletions(-) create mode 100644 logs_collector/collector/migrations/0006_remove_archive_token_remove_archive_user_and_more.py diff --git a/logs_collector/collector/admin.py b/logs_collector/collector/admin.py index 199830e..b33b0c2 100644 --- a/logs_collector/collector/admin.py +++ b/logs_collector/collector/admin.py @@ -1,6 +1,6 @@ from django.contrib import admin -from .models import Platform, Archive, Ticket, Token +from .models import Platform, Archive, Ticket # Register your models here. @@ -23,4 +23,3 @@ class TokenAdmin(admin.ModelAdmin): admin.site.register(Platform, PlatformAdmin) admin.site.register(Ticket, TicketAdmin) admin.site.register(Archive, ArchiveAdmin) -admin.site.register(Token, TokenAdmin) diff --git a/logs_collector/collector/migrations/0006_remove_archive_token_remove_archive_user_and_more.py b/logs_collector/collector/migrations/0006_remove_archive_token_remove_archive_user_and_more.py new file mode 100644 index 0000000..c468b2c --- /dev/null +++ b/logs_collector/collector/migrations/0006_remove_archive_token_remove_archive_user_and_more.py @@ -0,0 +1,47 @@ +# Generated by Django 4.2 on 2023-08-08 16:52 + +import django.core.validators +from django.db import migrations, models +import django.db.models.deletion +import uuid + + +class Migration(migrations.Migration): + + dependencies = [ + ('collector', '0005_token_archive_token'), + ] + + operations = [ + migrations.RemoveField( + model_name='archive', + name='token', + ), + migrations.RemoveField( + model_name='archive', + name='user', + ), + migrations.AddField( + model_name='ticket', + name='token', + field=models.UUIDField(default=uuid.uuid4, editable=False), + ), + migrations.AddField( + model_name='ticket', + name='upload', + field=models.IntegerField(default=5, validators=[django.core.validators.MaxValueValidator(10), django.core.validators.MinValueValidator(1)]), + ), + migrations.AlterField( + model_name='platform', + name='name', + field=models.CharField(max_length=20, unique=True), + ), + migrations.AlterField( + model_name='ticket', + name='platform', + field=models.ForeignKey(db_column='platform_name', on_delete=django.db.models.deletion.CASCADE, to='collector.platform', to_field='name'), + ), + migrations.DeleteModel( + name='Token', + ), + ] diff --git a/logs_collector/collector/models.py b/logs_collector/collector/models.py index d2018f0..5bfb326 100644 --- a/logs_collector/collector/models.py +++ b/logs_collector/collector/models.py @@ -1,5 +1,5 @@ -import hashlib import uuid +import hashlib from functools import partial from django.core.validators import MaxValueValidator, MinValueValidator @@ -39,8 +39,6 @@ class Archive(models.Model): db_column='ticket_number', on_delete=models.CASCADE ) - token = models.ForeignKey('Token', on_delete=models.CASCADE) - user = models.ForeignKey(User, on_delete=models.CASCADE) def save(self, *args, **kwargs): # calculate sha 1 hash sum and write md5 field to db @@ -60,7 +58,7 @@ class Archive(models.Model): class Platform(models.Model): - name = models.CharField(max_length=20) + name = models.CharField(max_length=20, unique=True) pretty_name = models.CharField(max_length=20) def get_absolute_url(self): @@ -74,9 +72,19 @@ class Ticket(models.Model): number = models.IntegerField(unique=True, db_index=True) resolved = models.BooleanField(default=False) note = models.TextField(blank=True) + token = models.UUIDField(default=uuid.uuid4, editable=False) + attempts = models.IntegerField(default=5, validators=[ + MaxValueValidator(10), + MinValueValidator(1) + ]) time_create = models.DateTimeField(auto_now_add=True) time_update = models.DateTimeField(auto_now=True) - platform = models.ForeignKey('Platform', on_delete=models.CASCADE) + platform = models.ForeignKey( + 'Platform', + to_field='name', + db_column='platform_name', + on_delete=models.CASCADE + ) user = models.ForeignKey(User, on_delete=models.CASCADE) class Meta: @@ -90,19 +98,3 @@ class Ticket(models.Model): def __str__(self): return str(self.number) - - -class Token(models.Model): - id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) - expires = models.IntegerField(default=5, validators=[ - MaxValueValidator(10), - MinValueValidator(1) - ]) - blocked = models.BooleanField(default=False) - user = models.ForeignKey(User, on_delete=models.CASCADE) - - def get_absolute_url(self): - return reverse('collector:token') - - def __str__(self): - return str(self.id)