diff options
Diffstat (limited to 'layerindex/restviews.py')
-rw-r--r-- | layerindex/restviews.py | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/layerindex/restviews.py b/layerindex/restviews.py new file mode 100644 index 0000000000..61698a9918 --- /dev/null +++ b/layerindex/restviews.py @@ -0,0 +1,58 @@ +from models import Branch, LayerItem, LayerNote, LayerBranch, LayerDependency, Recipe, Machine +from rest_framework import viewsets, serializers +from querysethelper import params_to_queryset, get_search_tuple + +class ParametricSearchableModelViewSet(viewsets.ModelViewSet): + def get_queryset(self): + model = self.__class__.serializer_class.Meta.model + qs = model.objects.all() + (filter_string, search_term, ordering_string) = get_search_tuple(self.request, model) + return params_to_queryset(model, qs, filter_string, search_term, ordering_string) + +class BranchSerializer(serializers.ModelSerializer): + class Meta: + model = Branch + +class BranchViewSet(ParametricSearchableModelViewSet): + queryset = Branch.objects.all() + serializer_class = BranchSerializer + +class LayerItemSerializer(serializers.ModelSerializer): + class Meta: + model = LayerItem + +class LayerItemViewSet(ParametricSearchableModelViewSet): + queryset = LayerItem.objects.all() + serializer_class = LayerItemSerializer + +class LayerBranchSerializer(serializers.ModelSerializer): + class Meta: + model = LayerBranch + +class LayerBranchViewSet(ParametricSearchableModelViewSet): + queryset = LayerBranch.objects.all() + serializer_class = LayerBranchSerializer + +class LayerDependencySerializer(serializers.ModelSerializer): + class Meta: + model = LayerDependency + +class LayerDependencyViewSet(ParametricSearchableModelViewSet): + queryset = LayerDependency.objects.all() + serializer_class = LayerDependencySerializer + +class RecipeSerializer(serializers.ModelSerializer): + class Meta: + model = Recipe + +class RecipeViewSet(ParametricSearchableModelViewSet): + queryset = Recipe.objects.all() + serializer_class = RecipeSerializer + +class MachineSerializer(serializers.ModelSerializer): + class Meta: + model = Machine + +class MachineViewSet(ParametricSearchableModelViewSet): + queryset = Machine.objects.all() + serializer_class = MachineSerializer |