add typetracking
This commit is contained in:
25
api/migrations/0002_typetracking.py
Normal file
25
api/migrations/0002_typetracking.py
Normal file
@@ -0,0 +1,25 @@
|
||||
# Generated by Django 4.2.6 on 2023-10-30 21:25
|
||||
|
||||
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),
|
||||
('sde', '0001_initial'),
|
||||
('api', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='TypeTracking',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='tracked_by', to='sde.sdetype')),
|
||||
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='types_tracking', to=settings.AUTH_USER_MODEL)),
|
||||
],
|
||||
),
|
||||
]
|
||||
@@ -13,3 +13,8 @@ class Acquisition(models.Model):
|
||||
source = models.CharField(max_length=255)
|
||||
|
||||
user = models.ForeignKey("auth.User", related_name="acquisitions", on_delete=models.CASCADE)
|
||||
|
||||
|
||||
class TypeTracking(models.Model):
|
||||
user = models.ForeignKey("auth.User", related_name="types_tracking", on_delete=models.CASCADE)
|
||||
type = models.ForeignKey(SDEType, related_name="tracked_by", on_delete=models.CASCADE)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from django.contrib.auth import models as auth_models
|
||||
from rest_framework import serializers
|
||||
from sde.models import SDEType
|
||||
from api import models
|
||||
from sde import serializers as sde_serializers, models as sde_models
|
||||
|
||||
|
||||
class UserSerializer(serializers.ModelSerializer):
|
||||
@@ -20,3 +20,10 @@ class AcquisitionSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = models.Acquisition
|
||||
fields = '__all__'
|
||||
|
||||
|
||||
class TypeTrackingSerializer(serializers.ModelSerializer):
|
||||
type = sde_serializers.SDETypeSerializer()
|
||||
class Meta:
|
||||
model = models.TypeTracking
|
||||
fields = '__all__'
|
||||
|
||||
@@ -6,6 +6,7 @@ router = routers.DefaultRouter()
|
||||
router.register(r'users', views.UserViewSet)
|
||||
router.register(r'groups', views.GroupViewSet)
|
||||
router.register(r'acquisitions', views.AcquisitionViewSet)
|
||||
router.register(r'types_tracking', views.TypeTrackingViewSet)
|
||||
|
||||
urlpatterns = [
|
||||
path('', include(router.urls)),
|
||||
|
||||
@@ -38,6 +38,15 @@ class AcquisitionViewSet(viewsets.ModelViewSet):
|
||||
permission_classes = [permissions.IsAuthenticated]
|
||||
|
||||
|
||||
class TypeTrackingViewSet(viewsets.ModelViewSet):
|
||||
"""
|
||||
API endpoint that allows types tracking to be viewed or edited.
|
||||
"""
|
||||
queryset = models.TypeTracking.objects.all()
|
||||
serializer_class = serializers.TypeTrackingSerializer
|
||||
permission_classes = [permissions.IsAuthenticated]
|
||||
|
||||
|
||||
@api_view(['POST'])
|
||||
def custom_types_search(request):
|
||||
cache_key = f"custom_types_search_{request.data}"
|
||||
|
||||
Reference in New Issue
Block a user