Alexander M. Turek
16221de418
Added support for constraint attributes
2021-03-12 10:57:40 +01:00
Christopher Davis
883d7b6c89
Apply enum
from Choice Constraints to Items When Choice is Multiple ( #1784 )
...
* Apply `enum` from Choice Constraints to Items When Choice is Multiple
Otherwise JSON schema like this is generated:
```
"property": {
"type": "array",
"enum": ["one", "two", "three"],
"items": {
"type": "string"
}
}
```
With this change, however, this schema is generated:
```
"property": {
"type": "array",
"items": {
"type": "string",
"enum": ["one", "two", "three"]
}
}
```
A possible downside here is that the symfony constraint stuff happens
before types are figured out from PHPDoc. So it's _possible_ to end up
with something that won't validated. Take something like this:
```
/**
* @Assert\Choice(multiple=true, choices={"..."})
* @var string
*/
```
This would generate:
```
"property": {
"type": "string",
"items": {
"enum": ["..."]
}
}
```
* Fix CS
* cs
* more cs
* fix tests
Co-authored-by: Guilhem Niot <guilhem@gniot.fr>
2021-02-19 09:41:32 +01:00
Christopher Davis
530311c489
Check Min and Max in Length Constraints Before Setting in Schemas
...
Sometimes folks will set a `min` length without a max, for instance and
the generated open api schema would previously have been nonsense:
```
"property": {
"type":"string",
"maxLength":0,
"minLength":1
}
```
2021-02-10 10:33:55 -06:00
Christopher Davis
87004fc428
Don't Use ref
in Discriminator mapping
...
Instead just include the schema ref directly per the documentation.
2021-02-08 15:39:14 -06:00
Christopher Davis
ac7e29da21
Fix CS
2021-02-01 09:50:15 -06:00
Christopher Davis
9299c0e52e
Support OpenAPI Polymorphism in ObjectModelDescriber
...
This is the default "symfony support" class, so seems like the right
place.
2021-02-01 08:56:31 -06:00
Christopher Davis
d8626c2735
Introduce a Trait to Build OpenAPI Discriminators
...
See https://swagger.io/docs/specification/data-models/inheritance-and-polymorphism/
This is the adapter layer that will be included in the various model
describers. The creation of the discriminator and the `oneOf` values is
a little finicky and I wanted it to be tested and centralized.
2021-02-01 08:37:20 -06:00
Guilhem Niot
ba3fe1cdfa
Merge branch '3.x'
2020-12-17 00:06:17 +01:00
Guilhem Niot
3895e17fe4
Fix exposure of private/protected methods
2020-12-16 23:46:29 +01:00
Guilhem Niot
363fd26f7c
Merge branch '3.x'
2020-12-10 22:28:55 +01:00
Guilhem Niot
90f835f1ef
Allow to not document form types fields ( #1752 )
...
* Allow the usage of `@SWG\Definition` on form types
* Allow to not document form types fields
* Reduce the number of changes
2020-12-02 15:38:38 +01:00
Guilhem Niot
68bf1670f3
Fix CS
2020-11-20 17:10:21 +01:00
Guilhem Niot
0912c85a0d
Improve error when the items type of an array is not specified
2020-11-20 17:06:56 +01:00
Alex Kalineskou
290df23dc0
Fix property_exists for SymfonyConstraintAnnotationReader
2020-09-29 12:30:21 +02:00
Alex Kalineskou
3f6afe54cd
Fix property_exists for SymfonyConstraintAnnotationReader
2020-09-28 22:45:24 +03:00
Guilhem Niot
4436c468f1
Fix the tests broken by zircote/swagger-php
2020-09-27 22:20:04 +02:00
Guilhem Niot
416d1f2d2a
Merge branch '3.x'
2020-09-20 20:38:43 +02:00
Guilhem Niot
6faec06321
Fix the tests ( #1720 )
...
* Fix the tests
* Add a comment
* fix the tests
* cs
2020-09-20 20:38:26 +02:00
Guilhem Niot
865527b85b
Merge branch '3.x'
2020-09-09 08:55:20 +02:00
Alex Kalineskou
0da1909cb9
Add support for allowNull for Assert\NotBlank
2020-09-09 08:45:53 +02:00
Guilhem Niot
c1903db109
Fix the JMSModelDescriber
2020-09-09 08:38:25 +02:00
Paul Dugas
429d809f41
Ignore ReflectionException for "magic" JMS\Accessor methods ( #1715 )
...
* Update JMSModelDescriber.php
Ignore ReflectionException thrown when getter or setter from JMS\ Accessor are "magic" methods.
* Add tests to avoid future regressions
* CS
Co-authored-by: Guilhem Niot <guilhem.niot@gmail.com>
2020-09-09 08:38:08 +02:00
Guilhem Niot
5b6983e179
Fix the JMSModelDescriber
2020-09-09 08:35:01 +02:00
Paul Dugas
fcb52246b2
Ignore ReflectionException for "magic" JMS\Accessor methods ( #1715 )
...
* Update JMSModelDescriber.php
Ignore ReflectionException thrown when getter or setter from JMS\ Accessor are "magic" methods.
* Add tests to avoid future regressions
* CS
Co-authored-by: Guilhem Niot <guilhem.niot@gmail.com>
2020-09-09 08:27:47 +02:00
Guilhem Niot
eeb4a8b90e
Fix ServerVariable management ( #1694 )
...
* Fix ServerVariable management
* Fix cs
* Apply StyleCI fixes
2020-08-11 16:44:05 +02:00
Guilhem Niot
23fdbf0412
Merge branch '3.x'
2020-08-06 10:29:17 +02:00
Guilhem Niot
edf6b70175
Apply StyleCI fixes
2020-08-06 10:26:59 +02:00
Guilhem Niot
523d28e955
Add annotations support at methods level when using the JMS serializer ( #1682 )
2020-07-18 13:31:41 +02:00
Guilhem Niot
545432f7ec
Support annotations for virtual properties
2020-07-18 10:10:37 +02:00
Guilhem Niot
ad4e5551f5
Merge remote-tracking branch 'origin/3.x' into HEAD
2020-07-12 15:07:56 +02:00
Guilhem Niot
8948d5418b
Add methods metadata support for models ( #1678 )
...
* Add methods metadata support for models
* fix cs
2020-07-12 14:54:39 +02:00
Guilhem Niot
d167685f42
Merge remote-tracking branch 'origin/3.x' into HEAD
2020-07-11 18:12:14 +02:00
Guilhem Niot
7d9573ddf6
Move the OpenApi processing to ApiDocGenerator ( #1671 )
...
* Move the OpenApi processing to ApiDocGenerator
* Temporary fix for https://github.com/zircote/swagger-php/pull/791
* Stop using the ModelRegistry in OpenApiPhpDescriber
2020-07-06 19:50:34 +02:00
pratyam
fe39acd6a8
Bugfix/remove pattern from property expression message error ( #1670 )
...
* remove pattern added from the Expression Violation message.
This string confuses the API client showing a violation message instead of having a Regex. Any informatory message for the client should be placed in "description"
* fix tests
* fix typo
2020-07-04 16:27:40 +02:00
Guilhem Niot
8e0713be53
Always use the SerializerExtractor (from the PropertyInfo component) ( #1665 )
...
* Always use the SerializerExtractor (from the PropertyInfo component)
* typo
2020-06-22 16:37:32 +02:00
Filip Benčo
d932b06bbb
Add support for compound properties ( #1651 )
...
* Add support for compound properties
* Fix CS & Tests
* Another fixing :D
* Final CS fix
* Allow complex compound properties
* cs
* Update the Upgrading guide
* Update php doc
* Add Support for Nullable properties
* Fix CS
* Fix CS
* Add Support for Nullable Types & Schemas as in OA3
* Update Nullable Property handling
* CS
* Fix tests
* Accept also nullable config for Alternative model names
* Refactor nullable refs
* Fix CS & Tests
* Another CS
* Revert "Another CS"
This reverts commit 03ada32b3263f3537d2af63f0abe79bd4a9ac0b5.
* Revert "Fix CS & Tests"
This reverts commit 369f2ccd170aebeeb9d87e9e00cba5cea62d5529.
* Revert "Refactor nullable refs"
This reverts commit 91cdf6fd0130f3ebf415de99f8a91edbc764255e.
* Revert "Revert "Refactor nullable refs""
This reverts commit 0e50fc1938ce3e620fc655a7d1e9284a9f8c24f0.
* Revert "Revert "Fix CS & Tests""
This reverts commit 228d3ca994eb4622c4db81aaa5f32845862e5616.
* Revert "Revert "Another CS""
This reverts commit a5b08dedf5bca8fb711b816c62bed2de9f1c9521.
* Improve nullable refs description
Co-authored-by: Filip Benčo <filip.benco@websupport.sk>
Co-authored-by: Guilhem Niot <guilhem.niot@gmail.com>
2020-06-16 13:11:53 +02:00
Mantis Development
5e6b894bdc
Fix User Warning: Multiple definitions for @OA\\Property()->title ( #1630 )
...
* Fix User Warning: Multiple definitions for @OA\\Property()->title
* Add test
* Pass CI..
2020-05-31 10:30:13 +02:00
Guilhem Niot
82d766bfe4
Merge branch 'v3'
2020-05-30 18:23:49 +02:00
Guilhem Niot
dfff2476d8
Add @SerializedName
support ( #1636 )
...
* Add `@SerializedName` support
* Also test `@SerializedName` on properties
* Fix tests with sf < 4.2
* Fix the tests
* Update the CHANGELOG
2020-05-30 18:08:25 +02:00
Guilhem Niot
fb84e36fdf
Fix #1628 : annotations construction is context dependant ( #1632 )
...
* Fix #1628 : since annotations construction is context dependant, we cannot use the cached annotations reader
* CS
* Small improvement
* cs
2020-05-29 21:52:06 +02:00
Filip Benčo
78664ef9ec
OpenApi 3 Support ( #1623 )
...
* Initial pass for OA3 upgrade
* Fix Util Tests
* Fix first batch of Unit Tests. Up to Model
* Another batch of fixed tests
* Update annotations
* Convert Model & Property Describers
* Update tests, Fix RouteDescribers, FIx additional bugs
* Another batch of updates
* Another batch of fixed Functional Tests
* Fix FunctionalTest tests
* Fix Bazinga Tests
* FIx FOS Rest
* Fix JMS TEsts & describers
* Fix all Tests
* Fix few stuff from own CR
* CS Fixes
* CS Fixes 2
* CS Fixes 3
* CS Fixes 4
* Remove collection bug
* Updates after first CRs
* CS
* Drop support for SF3
* Update the docs
* Add an upgrade guide
* misc doc fixes
* Configurable media types
* Code Style Fixes
* Don't use ::$ref for @Response and @RequestBody
* Fix upgrading guide
* Fix OA case
Co-authored-by: Filip Benčo <filip.benco@websupport.sk>
Co-authored-by: Guilhem Niot <guilhem.niot@gmail.com>
Co-authored-by: Mantis Development <mantis@users.noreply.github.com>
2020-05-28 13:19:11 +02:00
Asmir Mustafic
2fd95e2242
add support for jms serializer inline property feature
2020-05-07 20:02:10 +02:00
katinsv
82aa08e5ff
Fix Assert\Choice when choices are object not array
2020-03-13 16:59:56 +03:00
Clément Lovergne
9ba4735b78
Fix invalid tag which doesn't has description
2020-03-05 13:39:58 +01:00
Guilhem Niot
d58b4a4d66
Apply fixes from StyleCI
2020-02-23 16:50:24 +00:00
Filip Benčo
bb19ed7568
Revert ModelDescriberAwareInterface
2020-02-18 21:08:48 +01:00
Filip Benčo
90bae6738a
Update after PR
2020-02-18 20:45:58 +01:00
Filip Benčo
5d8765db04
Fix codestyle
2019-12-13 22:45:32 +01:00
Filip Benčo
2de03859c0
Fix some bugs and confings
2019-12-13 22:20:13 +01:00
Filip Benčo
f9eacee3fd
Add exntensible Property Describers
2019-12-13 21:40:42 +01:00