wps_forward_bot
🚀 New issue to wemake-services/django-modern-rest by @sobolevn
📝 Change how we work with `FileMetadata` validation (#1493)
Currently, this code is allowed:
from typing import Literal
import pydantic
from dmr import Body, Controller, FileMetadata
from dmr.plugins.pydantic import PydanticSerializer
from dmr.parsers import JsonParser, MultiPartParser
class Text(pydantic.BaseModel):
content_type: Literal['text/plain']
class Files(pydantic.BaseModel):
text: Text
class MyController(Controller[PydanticSerializer]):
parsers = [JsonParser(), MultiPartParser()]
def post(
self,
parsed_body: Body[dict[str, str]],
parsed_file_metadata: FileMetadata[Files],
) -> str:
return 'done'
But, how can we ever satisfy?
• JsonParser()
• parsed_file_metadata: FileMetadata[Files]
It is not optional. Every request here will fail.
What we can do? Change
django-modern-rest/dmr/components.py
Lines 866 to 889 in f822e35
from any to all.
#bug #good_first_issue #help_wanted #opensource_september #django_modern_rest
sent via relator
1 · 228 ·