diff --git a/userausfall/migrations/0002_accountrequest.py b/userausfall/migrations/0002_accountrequest.py new file mode 100644 index 0000000..5ea832a --- /dev/null +++ b/userausfall/migrations/0002_accountrequest.py @@ -0,0 +1,25 @@ +# Generated by Django 2.2.13 on 2021-04-12 08:56 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('userausfall', '0001_initial'), + ] + + operations = [ + migrations.CreateModel( + name='AccountRequest', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('created_time', models.DateTimeField(auto_now_add=True)), + ('email', models.EmailField(max_length=254)), + ('is_verified', models.BooleanField(default=False)), + ('confidant_email', models.EmailField(blank=True, max_length=254)), + ('is_trustable', models.BooleanField(default=False)), + ('username', models.CharField(blank=True, max_length=100)), + ], + ), + ] diff --git a/userausfall/models.py b/userausfall/models.py index 3d30525..4a6bf46 100644 --- a/userausfall/models.py +++ b/userausfall/models.py @@ -1,5 +1,18 @@ from django.contrib.auth.models import AbstractUser +from django.db import models class User(AbstractUser): pass + + +class AccountRequest(models.Model): + created_time = models.DateTimeField(auto_now_add=True) + + email = models.EmailField() + is_verified = models.BooleanField(default=False) + + confidant_email = models.EmailField(blank=True) + is_trustable = models.BooleanField(default=False) + + username = models.CharField(max_length=100, blank=True) diff --git a/userausfall/rest_api/__init__.py b/userausfall/rest_api/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/userausfall/rest_api/serializers.py b/userausfall/rest_api/serializers.py new file mode 100644 index 0000000..be09b17 --- /dev/null +++ b/userausfall/rest_api/serializers.py @@ -0,0 +1,9 @@ +from rest_framework import serializers + +from userausfall.models import AccountRequest + + +class AccountRequestSerializer(serializers.HyperlinkedModelSerializer): + class Meta: + model = AccountRequest + fields = ('url', 'email', 'confidant_email', 'username', 'is_verified', 'is_trustable') diff --git a/userausfall/rest_api/urls.py b/userausfall/rest_api/urls.py new file mode 100644 index 0000000..6ebc0df --- /dev/null +++ b/userausfall/rest_api/urls.py @@ -0,0 +1,6 @@ +from rest_framework import routers + +from userausfall.rest_api.views import AccountRequestViewSet + +router = routers.DefaultRouter(trailing_slash=False) +router.register(r'account_requests', AccountRequestViewSet) diff --git a/userausfall/rest_api/views.py b/userausfall/rest_api/views.py new file mode 100644 index 0000000..7a269f7 --- /dev/null +++ b/userausfall/rest_api/views.py @@ -0,0 +1,9 @@ +from rest_framework import viewsets + +from userausfall.models import AccountRequest +from userausfall.rest_api.serializers import AccountRequestSerializer + + +class AccountRequestViewSet(viewsets.ModelViewSet): + serializer_class = AccountRequestSerializer + queryset = AccountRequest.objects.all() diff --git a/userausfall/urls.py b/userausfall/urls.py index 22db1ce..f442c90 100644 --- a/userausfall/urls.py +++ b/userausfall/urls.py @@ -1,6 +1,9 @@ from django.contrib import admin from django.urls import path, include +from userausfall.rest_api import urls as rest_api_urls + urlpatterns = [ path('admin/', admin.site.urls), + path('api/', include(rest_api_urls.router.urls)) ]