🚀 New issue to wemake-services/django-modern-rest by @sobolevn
📝
Similar to https://github.com/wemake-services/django-modern-rest/issues/93 we have several important public APIs for
But, we never test that they can actually be applied. This is a very simple issue with just 2 extra tests with existing examples from https://github.com/wemake-services/django-modern-rest/pull/95
#helpwanted #goodfirst_issue #enhancement
sent via relator
📝
Endpoint customizations are not tested (#104)Similar to https://github.com/wemake-services/django-modern-rest/issues/93 we have several important public APIs for
Endpoint customization: https://github.com/wemake-services/django-modern-rest/blob/9e1a24deb3a65683f991ebd14465b0b20e0c22b1/djangomodernrest/endpoint.py#L53-L58But, we never test that they can actually be applied. This is a very simple issue with just 2 extra tests with existing examples from https://github.com/wemake-services/django-modern-rest/pull/95
#helpwanted #goodfirst_issue #enhancement
sent via relator
👍2
  🚀 New issue to wemake-services/django-modern-rest by @sobolevn
📝 Write a test for custom
Our endpoints have two methods to handle custom errors: https://github.com/wemake-services/django-modern-rest/blob/17edd60e1d13b88f4ee2c229095c237b1919b415/djangomodernrest/endpoint.py#L118-L132
But, they are not tested to be customized. Please, add two cases with:
1. Async endpoint and
2. Sync endpoint and
#helpwanted #goodfirst_issue #enhancement
sent via relator
  📝 Write a test for custom
handle_error and handle_async_error types (#110)Our endpoints have two methods to handle custom errors: https://github.com/wemake-services/django-modern-rest/blob/17edd60e1d13b88f4ee2c229095c237b1919b415/djangomodernrest/endpoint.py#L118-L132
But, they are not tested to be customized. Please, add two cases with:
1. Async endpoint and
handle_async_error that custom errors can be serialized to json the right way2. Sync endpoint and
handle_error with the same logic#helpwanted #goodfirst_issue #enhancement
sent via relator
🚀 New issue to wemake-services/django-modern-rest by @sobolevn
📝 Remove
Since we use python3.11+, we can use default
• https://github.com/wemake-services/django-modern-rest/blob/9781921e76acb39f56a90cb413e09e563f43f288/pyproject.toml#L94
• https://github.com/wemake-services/django-modern-rest/blob/9781921e76acb39f56a90cb413e09e563f43f288/docs/conf.py#L17
Docs: https://docs.python.org/3/library/tomllib.html
This is a very easy task :)
#helpwanted #dependencies #goodfirst_issue
sent via relator
📝 Remove
tomli, use tomllib instead (#148)Since we use python3.11+, we can use default
tomllib, tomli can be removed:• https://github.com/wemake-services/django-modern-rest/blob/9781921e76acb39f56a90cb413e09e563f43f288/pyproject.toml#L94
• https://github.com/wemake-services/django-modern-rest/blob/9781921e76acb39f56a90cb413e09e563f43f288/docs/conf.py#L17
Docs: https://docs.python.org/3/library/tomllib.html
This is a very easy task :)
#helpwanted #dependencies #goodfirst_issue
sent via relator
⚡7
  🚀 New issue to wemake-services/django-modern-rest by @sobolevn
📝 Figure out why
See https://github.com/wemake-services/django-modern-rest/blob/7aa23316219d4226d7c49435f9b028130f8c5dbc/docs/conf.py#L98-L99
When
This does not seem right, because everything is configure: intersphinx, imports, etc.
• Links in the form of inline
<img width="721" height="115" alt="Image" src="https://github.com/user-attachments/assets/91a0e5ee-90de-4e04-ae52-58514cc275f4" />
• The link in the annotations is not generated
<img width="737" height="377" alt="Image" src="https://github.com/user-attachments/assets/9ab218c1-0153-45f4-836f-e2d2eaaec92b" />
#documentation #helpwanted #goodfirst_issue
sent via relator
📝 Figure out why
sphinx does not link HttpResponse as a return type (#153)See https://github.com/wemake-services/django-modern-rest/blob/7aa23316219d4226d7c49435f9b028130f8c5dbc/docs/conf.py#L98-L99
When
make -C docs clean html is generated without this line, sphinx produces:django-modern-rest/django_modern_rest/errors.py:docstring of django_modern_rest.errors.global_error_handler:1: WARNING: py:class reference target not found: django.http.response.HttpResponse [ref.class]
django-modern-rest/django_modern_rest/endpoint.py:docstring of django_modern_rest.endpoint.Endpoint.__call__:1: WARNING: py:class reference target not found: django.http.response.HttpResponse [ref.class]
django-modern-rest/django_modern_rest/endpoint.py:docstring of django_modern_rest.endpoint.Endpoint.handle_async_error:1: WARNING: py:class reference target not found: django.http.response.HttpResponse [ref.class]
django-modern-rest/django_modern_rest/endpoint.py:docstring of django_modern_rest.endpoint.Endpoint.handle_error:1: WARNING: py:class reference target not found: django.http.response.HttpResponse [ref.class]
This does not seem right, because everything is configure: intersphinx, imports, etc.
• Links in the form of inline
:class: roles are rendered correctly<img width="721" height="115" alt="Image" src="https://github.com/user-attachments/assets/91a0e5ee-90de-4e04-ae52-58514cc275f4" />
• The link in the annotations is not generated
<img width="737" height="377" alt="Image" src="https://github.com/user-attachments/assets/9ab218c1-0153-45f4-836f-e2d2eaaec92b" />
#documentation #helpwanted #goodfirst_issue
sent via relator
❤1
  🚀 New issue to wemake-services/django-modern-rest by @sobolevn
📝 Change how
There's a room for potential optimization of how
How it works now:
https://github.com/wemake-services/django-modern-rest/blob/c6071d9907c72a54258bc7f644822e91640559d4/djangomodernrest/endpoint.py#L304-L323
We can remove this
We would need to select proper
https://github.com/wemake-services/django-modern-rest/blob/c6071d9907c72a54258bc7f644822e91640559d4/djangomodernrest/endpoint.py#L97-L109
We would need to types:
• one for validating
• one for raw responses
#enhancement #helpwanted #goodfirst_issue
sent via relator
  📝 Change how
ResponseValidator is selected (#229)There's a room for potential optimization of how
ResponseValidator is selected.How it works now:
https://github.com/wemake-services/django-modern-rest/blob/c6071d9907c72a54258bc7f644822e91640559d4/djangomodernrest/endpoint.py#L304-L323
We can remove this
if isinstance from the hot path to the import time.We would need to select proper
ResponseValidator type for the response during metadata build in endpoint.py https://github.com/wemake-services/django-modern-rest/blob/c6071d9907c72a54258bc7f644822e91640559d4/djangomodernrest/endpoint.py#L97-L109
We would need to types:
• one for validating
HttpResponses• one for raw responses
#enhancement #helpwanted #goodfirst_issue
sent via relator
