diff --git a/web/dashboard/migrations/0010_userpreferences.py b/web/dashboard/migrations/0010_userpreferences.py new file mode 100644 index 00000000..ad643af9 --- /dev/null +++ b/web/dashboard/migrations/0010_userpreferences.py @@ -0,0 +1,24 @@ +# Generated by Django 3.2.23 on 2024-09-05 14:43 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('dashboard', '0009_hackeroneapikey'), + ] + + operations = [ + migrations.CreateModel( + name='UserPreferences', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('bug_bounty_mode', models.BooleanField(default=True)), + ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + ] diff --git a/web/dashboard/models.py b/web/dashboard/models.py index cbec6778..a1ed47a7 100644 --- a/web/dashboard/models.py +++ b/web/dashboard/models.py @@ -1,5 +1,7 @@ from django.db import models from reNgine.definitions import * +from django.contrib.auth.models import User + class SearchHistory(models.Model): query = models.CharField(max_length=1000) @@ -85,3 +87,11 @@ class InAppNotification(models.Model): def is_system_wide(self): # property to determine if the notification is system wide or project specific return self.notification_type == 'system' + + +class UserPreferences(models.Model): + user = models.OneToOneField(User, on_delete=models.CASCADE) + bug_bounty_mode = models.BooleanField(default=True) + + def __str__(self): + return f"{self.user.username}'s preferences"