Commit Graph

253 Commits (ee086a6eec56d21349ab7aa241452672966c915f)

Author SHA1 Message Date
Cristi Vîjdea 68400386d3 Update swagger-ui to 3.20.4 2018-12-23 18:44:31 +02:00
Cristi Vîjdea bebcc982e6 Call APIView get_ methods instead of direct attribute access
queryset -> get_queryset
renderer_classes -> get_renderers
parser_classes -> get_parsers
2018-12-23 18:19:45 +02:00
Cristi Vîjdea 04d61b9d97 Log errors details of SwaggerValidationError 2018-12-23 15:33:55 +02:00
Cristi Vîjdea b15535995f Add assertion against TYPE_ARRAY with no items 2018-12-23 15:32:06 +02:00
Cristi Vîjdea dd5965fa92 Fix tuple types in sphinx docstrings 2018-12-21 18:18:58 +02:00
Cristi Vîjdea bfd13668cc Fix deprecation warnings 2018-12-21 16:07:48 +02:00
Cristi Vîjdea 66026d3483 Fix lint errors 2018-12-21 15:07:38 +02:00
Cristi Vîjdea db61c39ab1 Fix union types in sphinx docstrings 2018-12-21 15:04:25 +02:00
Cristi Vîjdea f77672875d Add /admin/ and /o/ urls to test urlconfs 2018-12-21 12:58:41 +02:00
Cristi Vîjdea 3b31c54b9e Add get_security_definitions and get_security_requirements hooks 2018-12-21 12:40:45 +02:00
Cristi Vîjdea de950461c7 Fix absolute urls for swagger-ui oauth settings 2018-12-21 12:40:31 +02:00
Cristi Vîjdea a9ec14620c Fix security definitions ordering consistency 2018-12-21 02:04:15 +02:00
Cristi Vîjdea 494d422bf4 Update swagger-ui to 3.20.3 2018-12-21 01:36:37 +02:00
Cristi Vîjdea bbed2acf06 Handle lazy() proxies in user-supplied objects 2018-12-21 01:07:10 +02:00
Cristi Vîjdea 4e4cd75fc4 Remove redundant getattr 2018-12-19 20:22:05 +02:00
Cristi Vîjdea e182ab65ea Add x-nullable to paginator response fields
Closes #263.
2018-12-19 20:22:05 +02:00
Cristi Vîjdea f8e9fd6327 Prefix localStorage keys with current pathname
This avoids collisions between multiple instance of drf-yasg on the same domain.

Fixes #269.
2018-12-19 19:15:38 +02:00
unloder f66c8e83e6 Use list instead of tuple for argparse options (#275)
Aparently pycharm has a problem with tuples?
2018-12-19 18:57:49 +02:00
Cristi Vîjdea c5d4e6ca53 Do not generate form parameters for read_only serializer fields
Fixes #261.
2018-12-19 03:22:43 +02:00
Cristi Vîjdea eeb1bba9e7 Refactor summary and description processing
Merge get_summary and get_description into get_summary_and_description.
2018-12-19 03:05:32 +02:00
Cristi Vîjdea 306e53461d Fix lint errors 2018-12-12 15:01:58 +02:00
Cristi Vîjdea 1f95f4098b Don't allow form parameters with non-form consumes
Closes #270.
2018-12-12 12:43:33 +02:00
Vitali Fokin f415a96aa6 Tags override support (#259) 2018-12-11 20:13:37 +02:00
Alexander Egorov c52daaea8c Fix incorrect return from _UIRenderer.render (#268) 2018-12-11 20:12:38 +02:00
Alexander Egorov f6544654ab Add enum type inference based on choices values (#264) 2018-12-07 14:11:13 +02:00
Cristi Vîjdea a2bf515cc9 Revert "Fix lint errors"
This reverts commit 9f60dc191a.
2018-11-29 02:23:31 +02:00
Cristi Vîjdea 6b5022cd7d Use some more coreschema attributes in CoreAPICompatInspector
Closes #212.
Closes #233.
2018-11-29 02:12:32 +02:00
Cristi Vîjdea 708e70a526 Use collectionFormat=multi for MultiChoiceField in query and formData
Fixes #257.
2018-11-29 01:38:40 +02:00
Cristi Vîjdea 9f60dc191a Fix lint errors 2018-11-29 01:27:27 +02:00
Cristi Vîjdea a2b35f3363 Update swagger-ui to 3.20.1 and ReDoc to 2.0.0-alpha.41 2018-11-29 01:22:49 +02:00
Cristi Vîjdea 754ec8a779 Enable minLength and maxLength for ListSerializer 2018-11-29 00:32:31 +02:00
Randall Wang 3cd93bd572 Fix typo (#252) 2018-11-16 13:53:19 +02:00
Cristi Vîjdea baaa79a29d Fix IE11 bugs 2018-10-14 21:25:17 +03:00
Cristi Vîjdea dfe06b5c95 Copy window query params when fetching the openapi document
Closes #208.
2018-10-14 20:40:34 +03:00
Cristi Vîjdea 18ff51a025 Improve handling of spec request url 2018-10-14 20:23:53 +03:00
Cristi Vîjdea e1aedab73f Support multiple auth schemes 2018-10-14 18:16:09 +03:00
Cristi Vîjdea 060fe1881a Add auth hook settings and apiKey query support 2018-10-14 17:38:39 +03:00
Cristi Vîjdea 5d8c936956 Moar blocks 2018-10-14 05:23:45 +03:00
Cristi Vîjdea 25dea81bc6 Update swagger-ui to 3.19.3 and ReDoc to 2.0.0-alpha.40 2018-10-14 04:30:53 +03:00
Cristi Vîjdea a419eec071 Add swagger-ui auth hooks
Save authorization to local storage, refetch spec on auth, etc.
2018-10-14 04:28:42 +03:00
Rémi Lapeyre d41f0c5ac4 Set x-nullable based on allow_null (#217)
Many fields may be set a nullable in an API. While not covered explicitly by Swagger 2, this information is usually indicated as a [vendor extension](https://swagger.io/docs/specification/2-0/swagger-extensions/) using the x-nullable field.
2018-10-10 01:24:42 +03:00
Cristi Vîjdea c510de13d7 Do not try to use inspect.signature on Python 2.7
Fixes #222.
2018-10-10 00:35:43 +03:00
Cristi Vîjdea 207a7e2b2d Do not generate full schema in UI views 2018-10-09 01:38:12 +03:00
Cristi Vîjdea cbae10c434 Refactor CamelCaseJSONFilter to be more extensible 2018-10-09 01:37:32 +03:00
Cristi Vîjdea 20786e53c3 Provide more OpenAPISchemaGenerator extension points
Add ``should_include_endpoint`` and ``get_paths_object``.
2018-09-13 05:51:34 +03:00
Cristi Vîjdea 120c4dd884 Fix IPv4 pattern on Django 1.11 2018-09-13 05:14:08 +03:00
Cristi Vîjdea 9d330d9509 Use the first line of view method docstring as Operation summary
Closes #205.
2018-09-13 04:18:55 +03:00
Cristi Vîjdea c8f6d16891 Update ReDoc to 2.0.0-alpha.38 2018-09-13 03:44:10 +03:00
Cristi Vîjdea 857ef05b07 Handle reverse_lazy
Fixes #209.
2018-09-13 03:38:13 +03:00
Cristi Vîjdea 586b88d8f3 Allow pattern on any field 2018-09-13 03:34:01 +03:00
Cristi Vîjdea 27cd5f7f2a Add some convenience methods 2018-09-11 02:41:55 +03:00
Cristi Vîjdea 90812f5c43 Refactor get_queryset_from_view 2018-09-10 14:34:30 +03:00
Cristi Vîjdea 91530b64c6 Add DISPLAY_OPERATION_ID setting for swagger-ui
Closes #206.
2018-09-10 14:02:25 +03:00
Cristi Vîjdea 6820d6bc70 Fix RelatedFieldInspector nesting issues 2018-09-10 05:04:03 +03:00
Cristi Vîjdea f50ad29a2b Fix lint errors 2018-09-10 02:48:08 +03:00
Cristi Vîjdea 27e38101a4 Add customization blocks to ui templates
Closes #178.
2018-09-10 02:41:02 +03:00
Cristi Vîjdea 4bac38e67b Update ReDoc settings 2018-09-10 01:39:57 +03:00
Cristi Vîjdea 0654aefe58 Update swagger-ui to 3.18.2 and ReDoc to 2.0.0-alpha.37 2018-09-10 00:13:39 +03:00
Cristi Vîjdea 41b1ca4483 Do not bail on response when request body is formData 2018-09-10 00:02:39 +03:00
Cristi Vîjdea 591c12f1a7 Fix request_body=no_body handling
Fixes #188, #199.
2018-09-09 23:14:09 +03:00
Cristi Vîjdea 271918a678 Fix empty swagger_auto_schema return value 2018-09-09 23:14:09 +03:00
Cristi Vîjdea c5c40e31c4 Log regex compilation failure in find_regex
Closes #193.
2018-09-09 22:33:13 +03:00
Cristi Vîjdea 3ac6c9ec3a Remove dependency on future
Sole use was raise_from. 

six.raise_from loses exception detail on Python 2, so god help the programmers of the past.

Fixes #196.
2018-09-09 22:29:11 +03:00
Cristi Vîjdea 5fa35d5b81 Check for None before calling to_representation
Django REST Framework also does this in serializers.

https://github.com/encode/django-rest-framework/issues/2299
4d57d46bf8/rest_framework/serializers.py (L518)

Fixes #203.
2018-09-09 22:22:58 +03:00
Terence D. Honles f9b215deab Fix missing backslashes found via pytest 3.8 (#202)
See: https://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals

Changed in version 3.6: Unrecognized escape sequences produce a DeprecationWarning

Closes #202.
2018-09-09 22:17:04 +03:00
Nour Chawich 0837873f55 Add missing overrides to `swagger_auto_schema` (#194)
Add missing `operation_summary` and `deprecated` to `swagger_auto_schema` decorator data. The previous PR missed adding these to extra overrides.

- Added tests
- Updated reference.yaml

Refs #149, #173.
Closes #194, #198.
2018-09-09 22:15:50 +03:00
Julian Bez 02b8848912 Fix error when using typing classes (#195)
Closes #195.
2018-09-09 22:11:29 +03:00
Cristi Vîjdea 6e39a58b2d Defer settings imports to avoid ImportErrors 2018-09-09 21:56:26 +03:00
Cristi Vîjdea ec7529399e Fix swagger-ui style when session auth is disabled 2018-09-09 21:56:26 +03:00
Cristi Vîjdea 9b56e1a4c8 Avoid invalid usage of readOnly 2018-08-09 04:27:08 +03:00
Cristi Vîjdea 608abaf0e1 Fuck this test 2018-08-09 04:02:35 +03:00
Cristi Vîjdea d1ae81a27e Fix relative imports 2018-08-09 03:52:09 +03:00
Cristi Vîjdea cd4bd4a18e Add SPEC_URL setting 2018-08-09 03:32:04 +03:00
Cristi Vîjdea 8a69f08c29 Update ReDoc to 2.0.0-alpha.34 2018-08-09 03:15:08 +03:00
Cristi Vîjdea e533b0827a Add ReDoc 1.x.x renderer 2018-08-09 03:14:08 +03:00
Cristi Vîjdea 23ebba4207 Rename swagger_serializer_method parameter and update docs 2018-08-08 01:41:54 +03:00
Cristi Vîjdea 12f1d23048 Fix lint errors 2018-08-08 01:24:36 +03:00
Cristi Vîjdea a5eb3dfa91 Add EXCLUDED_MEDIA_TYPES setting
Closes #158.
2018-08-08 00:59:01 +03:00
Cristi Vîjdea 5cd642c9a0 Show warning on ref_name collisions
Closes #156
2018-08-08 00:58:35 +03:00
Cristi Vîjdea 3f2d2871f0 Update swagger-ui to 3.18.0 2018-08-08 00:58:08 +03:00
Cristi Vîjdea 247c1a306a Add `operation_summary` and `deprecated` to `swagger_auto_schema`
Closes #149, #173.
2018-08-08 00:57:30 +03:00
Cristi Vîjdea 37c00ab3fb Make swagger_schema_fields work on serializer Fields
Closes #167.
2018-08-07 22:54:24 +03:00
Cristi Vîjdea 65aac1da2c Make swagger_auto_schema work with action mappings
Fixes #177.
2018-08-07 22:38:36 +03:00
Cristi Vîjdea 4c069138e8 Fix lint errors 2018-08-07 21:24:36 +03:00
John Carter 748b5d3c2f Add support for SerializerMethodField (#179)
Closes #137, #179.
2018-08-07 21:23:36 +03:00
John Carter 1dd7cfe043 Spelling fixes (#180) 2018-08-07 17:30:13 +03:00
Cristi Vîjdea 16b6ed7fd6
Test with Django 2.1 and Python 3.7 (#176)
* Test with Django 2.1 and Python 3.7
* Fix lint errors
* Remove setuptools-scm hack
* Factor out coverage script
* Cache .tox in travis
* Update README & docs
2018-08-06 12:24:56 +03:00
Cristi Vîjdea 904895ba3c Add 1.9.2 changelog 2018-08-03 23:43:52 +03:00
Cristi Vîjdea 79adfc19be Update swagger-ui to 3.17.6 and ReDoc to 2.0.0-alpha.32 2018-08-03 20:27:41 +03:00
Cristi Vîjdea 2965e08e39 Force descriptions to be str objects
Fixes #159
2018-08-03 20:27:31 +03:00
Amoki bbc70a7e3d Allow specific version generation in command
* Add --api-version parameter
* Fix request mocking
* Add tests
2018-08-03 16:43:26 +03:00
Étienne Noss db86981dc1 make generate_swagger work for projects without authentication (#161)
* make generate_swagger work for projects without authentication
* use get_user_model instead of importing User
2018-07-06 16:13:19 +03:00
Cristi Vîjdea 20370d912e Update swagger-ui to 3.17.1 and ReDoc to 2.0.0-alpha.25 2018-06-30 00:32:07 +03:00
Xiaohan Zhang 178390a9a0 Add get_default_response_serializer extension point (#153)
Enables easier request/response differentiation in SwaggerAutoSchema.
2018-06-30 00:26:29 +03:00
Cristi Vîjdea 9fa4765121 Ignore None when passed in as response override
Closes #148
2018-06-29 23:13:36 +03:00
Jack Cushman 544d72db0a Handle duplicate urls in urlconf (#155)
Django resolves urls in order from top to bottom, and only uses the first matching URL found.
2018-06-29 22:57:37 +03:00
Cristi Vîjdea 696ec3a94a Add swagger_fake_view marker to help detect fake views in get_serializer
Cleaner fix for #154
2018-06-29 18:00:54 +03:00
Cristi Vîjdea e0aec3ff45 Test that get_serializer is not called when overriden
Views' ``get_serializer`` methods should not be called when the serializer is provided by ``request_body`` or ``responses``.

Closes #154
2018-06-29 17:41:41 +03:00
Andrew Yager 4825ec70b1 Handle swagger_extra_fields in field_to_swagger_object (#142)
* Move add_manual_fields call to make_schema_definition
* Do not call add_manual_fields twice
2018-06-16 17:02:06 +03:00
Cristi Vîjdea 1184ea8b46 Add --generator-class argument to management command
Closes #140
2018-06-16 15:54:51 +03:00