|
@@ -1,12 +1,9 @@
|
|
|
# @Author : Rocky
|
|
|
# @File : serializers.py
|
|
|
# @Time : 2023/7/24 13:35
|
|
|
-from rest_framework import serializers
|
|
|
from rest_framework.serializers import ModelSerializer, SerializerMethodField
|
|
|
-from background.Object import AmazonS3Util
|
|
|
from background.models import ProductInfo, VideoInfo, QuickStartInfo, UpgradeFirmwareInfo
|
|
|
|
|
|
-bucket_name = 'ansjerfilemanager'
|
|
|
|
|
|
|
|
|
class ReadWriteSerializerMethodField(SerializerMethodField):
|
|
@@ -52,57 +49,68 @@ class ProductInfoSerializer(ModelSerializer):
|
|
|
|
|
|
|
|
|
class VideoInSerializer(ModelSerializer):
|
|
|
- link = ReadWriteSerializerMethodField()
|
|
|
+ # link = ReadWriteSerializerMethodField()
|
|
|
|
|
|
class Meta:
|
|
|
model = VideoInfo
|
|
|
fields = '__all__'
|
|
|
|
|
|
- @staticmethod
|
|
|
- def get_link(obj):
|
|
|
- file_key = 'vsees/video_file/{}'.format(obj.link)
|
|
|
- s3_obj = AmazonS3Util()
|
|
|
- link = s3_obj.generate_file_obj_url(bucket_name, file_key)
|
|
|
- return link
|
|
|
-
|
|
|
- @staticmethod
|
|
|
- def set_link(obj):
|
|
|
- return {'link': obj}
|
|
|
+ def create(self, validated_data):
|
|
|
+ link = validated_data.get('link')
|
|
|
+ validated_data['link'] = 'https://ansjerfilemanager.s3.amazonaws.com/vsees/video_file/{}'.format(link)
|
|
|
+ video_qs = VideoInfo.objects.create(**validated_data)
|
|
|
+ return video_qs
|
|
|
+
|
|
|
+ def update(self, instance, validated_data):
|
|
|
+ link = 'https://ansjerfilemanager.s3.amazonaws.com/vsees/video_file/{}'.format(validated_data.get('link'))
|
|
|
+ instance.link = link
|
|
|
+ instance.save()
|
|
|
+ return instance
|
|
|
+ # @staticmethod
|
|
|
+ # def get_link(obj):
|
|
|
+ # file_key = 'vsees/video_file/{}'.format(obj.link)
|
|
|
+ # s3_obj = AmazonS3Util()
|
|
|
+ # link = s3_obj.generate_file_obj_url(bucket_name, file_key)
|
|
|
+ # return link
|
|
|
+ #
|
|
|
+ # @staticmethod
|
|
|
+ # def set_link(obj):
|
|
|
+ # return {'link': obj}
|
|
|
|
|
|
|
|
|
class QuickStartInfoSerializer(ModelSerializer):
|
|
|
- link = ReadWriteSerializerMethodField()
|
|
|
-
|
|
|
class Meta:
|
|
|
model = QuickStartInfo
|
|
|
fields = '__all__'
|
|
|
|
|
|
- @staticmethod
|
|
|
- def get_link(obj):
|
|
|
- file_key = 'vsees/quick_start_file/{}'.format(obj.link)
|
|
|
- s3_obj = AmazonS3Util()
|
|
|
- link = s3_obj.generate_file_obj_url(bucket_name, file_key)
|
|
|
- return link
|
|
|
+ def create(self, validated_data):
|
|
|
+ link = validated_data.get('link')
|
|
|
+ validated_data['link'] = 'https://ansjerfilemanager.s3.amazonaws.com/vsees/quick_start_file/{}'.format(link)
|
|
|
+ video_qs = VideoInfo.objects.create(**validated_data)
|
|
|
+ return video_qs
|
|
|
|
|
|
- @staticmethod
|
|
|
- def set_link(obj):
|
|
|
- return {'link': obj}
|
|
|
+ def update(self, instance, validated_data):
|
|
|
+ link = 'https://ansjerfilemanager.s3.amazonaws.com/vsees/quick_start_file/{}'.format(validated_data.get('link'))
|
|
|
+ instance.link = link
|
|
|
+ instance.save()
|
|
|
+ return instance
|
|
|
|
|
|
|
|
|
class UpgradeFirmwareInfoSerializer(ModelSerializer):
|
|
|
- link = ReadWriteSerializerMethodField()
|
|
|
-
|
|
|
class Meta:
|
|
|
model = UpgradeFirmwareInfo
|
|
|
fields = '__all__'
|
|
|
|
|
|
- @staticmethod
|
|
|
- def get_link(obj):
|
|
|
- file_key = 'vsees/upgrade_firmware_file/{}'.format(obj.link)
|
|
|
- s3_obj = AmazonS3Util()
|
|
|
- link = s3_obj.generate_file_obj_url(bucket_name, file_key)
|
|
|
- return link
|
|
|
-
|
|
|
- @staticmethod
|
|
|
- def set_link(obj):
|
|
|
- return {'link': obj}
|
|
|
+ def create(self, validated_data):
|
|
|
+ link = validated_data.get('link')
|
|
|
+ validated_data['link'] = 'https://ansjerfilemanager.s3.amazonaws.com/vsees/upgrade_firmware_file/{}'.format(
|
|
|
+ link)
|
|
|
+ video_qs = VideoInfo.objects.create(**validated_data)
|
|
|
+ return video_qs
|
|
|
+
|
|
|
+ def update(self, instance, validated_data):
|
|
|
+ link = 'https://ansjerfilemanager.s3.amazonaws.com/vsees/upgrade_firmware_file/{}'.format(
|
|
|
+ validated_data.get('link'))
|
|
|
+ instance.link = link
|
|
|
+ instance.save()
|
|
|
+ return instance
|