Coverage for backend/django/core/auxiliary/serializers/FlowsheetSerializer.py: 100%
27 statements
« prev ^ index » next coverage.py v7.10.7, created at 2026-03-26 20:57 +0000
« prev ^ index » next coverage.py v7.10.7, created at 2026-03-26 20:57 +0000
1from rest_framework import serializers
2from core.auxiliary.models.Flowsheet import Flowsheet
3from authentication.user.models import User
6class OwnerSerializer(serializers.ModelSerializer):
7 class Meta:
8 model = User
9 fields = [
10 'id',
11 'email',
12 'first_name',
13 'last_name'
14 ]
15 read_only_fields = [
16 'id',
17 'email',
18 'first_name',
19 'last_name'
20 ]
23class FlowsheetSerializer(serializers.ModelSerializer):
24 owner = OwnerSerializer(read_only=True)
26 class Meta:
27 model = Flowsheet
28 fields = "__all__"
29 read_only_fields = ['owner']
31 def create(self, validated_data):
32 context = self.context
33 request = context["request"]
34 owner = request.user
36 validated_data["owner"] = owner
38 # Return primary key of Flowsheet
39 return Flowsheet.create(**validated_data)
41 def validate(self, attrs):
42 context = self.context
43 request = context["request"]
44 owner = request.user
46 if owner is None:
47 raise serializers.ValidationError("Flowsheet must have an owner")
49 return super().validate(attrs)