43 lines
1.0 KiB
Python
43 lines
1.0 KiB
Python
from rest_framework import serializers
|
|
|
|
from core.apps.contracts.models import Folder
|
|
from core.apps.contracts.serializers.contract import ContractListSerializer
|
|
|
|
|
|
class FolderListSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Folder
|
|
fields = [
|
|
'id', 'name'
|
|
]
|
|
|
|
|
|
class FolderSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Folder
|
|
fields = [
|
|
'name'
|
|
]
|
|
|
|
def create(self, validated_data):
|
|
folder = Folder.objects.create(
|
|
name=validated_data.get('name'),
|
|
user=self.context.get('user'),
|
|
)
|
|
return folder
|
|
|
|
def update(self, instance, validated_data):
|
|
instance.name = validated_data.get('name', instance.name)
|
|
instance.save()
|
|
return instance
|
|
|
|
|
|
class FolderDetailSerializer(serializers.ModelSerializer):
|
|
contracts = ContractListSerializer(many=True)
|
|
|
|
class Meta:
|
|
model = Folder
|
|
fields = [
|
|
'id', 'name', 'contracts'
|
|
]
|