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)
|
source = models.CharField(max_length=255)
|
||||||
|
|
||||||
user = models.ForeignKey("auth.User", related_name="acquisitions", on_delete=models.CASCADE)
|
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 django.contrib.auth import models as auth_models
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
from sde.models import SDEType
|
|
||||||
from api import models
|
from api import models
|
||||||
|
from sde import serializers as sde_serializers, models as sde_models
|
||||||
|
|
||||||
|
|
||||||
class UserSerializer(serializers.ModelSerializer):
|
class UserSerializer(serializers.ModelSerializer):
|
||||||
@@ -20,3 +20,10 @@ class AcquisitionSerializer(serializers.ModelSerializer):
|
|||||||
class Meta:
|
class Meta:
|
||||||
model = models.Acquisition
|
model = models.Acquisition
|
||||||
fields = '__all__'
|
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'users', views.UserViewSet)
|
||||||
router.register(r'groups', views.GroupViewSet)
|
router.register(r'groups', views.GroupViewSet)
|
||||||
router.register(r'acquisitions', views.AcquisitionViewSet)
|
router.register(r'acquisitions', views.AcquisitionViewSet)
|
||||||
|
router.register(r'types_tracking', views.TypeTrackingViewSet)
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('', include(router.urls)),
|
path('', include(router.urls)),
|
||||||
|
|||||||
@@ -38,6 +38,15 @@ class AcquisitionViewSet(viewsets.ModelViewSet):
|
|||||||
permission_classes = [permissions.IsAuthenticated]
|
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'])
|
@api_view(['POST'])
|
||||||
def custom_types_search(request):
|
def custom_types_search(request):
|
||||||
cache_key = f"custom_types_search_{request.data}"
|
cache_key = f"custom_types_search_{request.data}"
|
||||||
|
|||||||
Reference in New Issue
Block a user