from rest_framework import serializers, viewsets, routers

from files.models import File


class FileSerializer(serializers.ModelSerializer):
    data = serializers.CharField(max_length=1000000, write_only=True)

    class Meta:
        model = File
        fields = ['hash', 'data']
        read_only_fields = ['hash']


class FileViewSet(viewsets.ModelViewSet):
    serializer_class = FileSerializer
    queryset = File.objects.all()
    lookup_field = 'hash'
    permission_classes = []
    authentication_classes = []


router = routers.SimpleRouter(trailing_slash=False)
router.register(r'files', FileViewSet, basename='files')
router.register(r'file', FileViewSet, basename='files')

urlpatterns = router.urls