67 Commits

Author SHA1 Message Date
Guilhem Niot
363fd26f7c Merge branch '3.x' 2020-12-10 22:28:55 +01:00
Guilhem Niot
a01fd1e4f0 Fix error 2020-11-28 16:11:05 +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
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
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
Filip Benčo
9592c7ebfa
Fix nullable array properties (#1697)
* Fix nullable array properties

* Fix tests & Remove weird leftover dump

* Fix test

Co-authored-by: Filip Benčo <filip.benco@websupport.sk>
2020-08-06 10:22:59 +02:00
Guilhem Niot
9de23eb4a5 Merge '3.x' 2020-07-18 13:37:58 +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
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
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
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
Asmir Mustafic
eb255010a0 Support typed embedded relation with willdurand/hateoas 3.0 (#1510)
* allow typed embedded relation with hateoas 3.0

* symfony/framework-bundle 4.2.7 is broken

https://github.com/symfony/symfony/pull/31156

* internal public methods
2019-05-02 10:02:16 +02:00
Asmir Mustafic
65e940f7f8
use jms serialization groups detection 2019-04-17 22:05:30 +02:00
Asmir Mustafic
d6ea99420e Allow model describers on jms custom types (#1495)
* allow model describers on jms custom types

* add fallback describer

* test custom type def

* remove object_fallback describer from the container when jms is not active
2019-04-16 12:13:33 +02:00
Asmir Mustafic
0fb5d7afa2
jms 2.0 groups tested 2019-01-26 21:03:21 +01:00
Asmir Mustafic
d15b4123c1
add hateoas v3 compat 2019-01-26 20:55:52 +01:00
Guilhem N
0bca7f377d
Merge pull request #1447 from AyrtonRicardo/master
Change validation to allow fields described as DateTimeInterface.
2019-01-02 23:20:13 +01:00
Romain BigZ Richard
9968027aad feature: Add new validation from constraints.
- Add minimum and maximum from the range annotation
- Add maximum from the LessThan and LessThanOrEqual annotation

FIX: remove the extra date-time format, which was not standard and not in sync with what symfony exposes
Swagger specifies that date-time should follow the RFC3339, and this is what symfony does as default.
2018-12-19 16:25:14 +01:00
Ayrton Ricardo
2ddf4362c0 Change validation to allow fields described as DateTimeInterface. 2018-12-10 14:21:09 +01:00
Michael Moll
d37a543502 fix codestyle errors 2018-11-11 20:31:50 +01:00
Asmir Mustafic
9bae1115d6 jms serializer group names are based on the internal property name, not on the serialized name (#1421) 2018-10-17 17:19:37 +02:00
Piotr Antosik
a9d6b3fd46
Fix choice annotation with callback method name without class 2018-09-26 16:51:43 +02:00
Pavel Batanov
995ade1c8d Respect property name for constraints 2018-09-11 13:42:50 +03:00
Guilhem N
99833189fd
Ignore Type::$nullable (#1391) 2018-08-30 01:10:36 +02:00
Guilhem N
fcb36d8e8d
AssertLength doesn't make the field required (#1389) 2018-08-30 00:32:11 +02:00
Asmir Mustafic
bd26696f8f respect jms serializer nested group exclusion 2018-08-26 22:58:35 +02:00
Javier Spagnoletti
df9893428e [JMSModelDescriber] Allow to use free form objects from JMS serialization (#1368)
* [JMSModelDescriber] Allow to use free form objects from JMS serialization

* Remove unused variable

* Refactor `describeItem()`

* Add more tests

* early detect of free form objects

* Add test for array property without type

* Merge `findPropertyType()` and `registerPropertyType()` methods

* Update `registerPropertyType()` in order to set "object" as type for arrays with undefined item types

* Set "additionalProperties" definition for arrays without defined items

* Simplified `registerPropertyType()`

* Merged `registerPropertyType()` into `describeItem()`

* Fix comment

* Fix comment
2018-08-21 17:41:32 +02:00
Asmir Mustafic
09e6f30572 Jms serializer default groups should not generate new definitions when possible (#1367)
* if the group does not define per property exclusion, then remove possible obsolete property exclusions

* if the group is using only the default group, then is as not defining a group

* test that the user does not get a new alias just because another property pf the same object has some groups

* use strict comparison
2018-07-26 14:14:26 +02:00
Javier Spagnoletti
1063972c27 [JMSModelDescriber] Update JMSModelDescriber in order to iterate over nested array definitions (#1365) 2018-07-23 18:35:05 +02:00
Guilhem N
abc3e71114
Fixes tests 2018-06-03 19:19:29 +02:00
Palluel-Lafleur Frédéric
c2f036c159 fix(SymfonyConstraintAnnotationReader): fixed enum guessing in Assert… (#1325)
* fix(SymfonyConstraintAnnotationReader): fixed enum guessing in Assert\Choicewhen callback parameter is used

* fix(SymfonyConstraints): turn double quotes in single quotes
2018-05-20 15:59:52 +02:00
Guilhem N
304b3f5816
Merge pull request #1313 from phansys/modeldescriber
Normalize description for classes implementing `\DateTimeInterface`
2018-05-05 23:20:03 +02:00
Asmir Mustafic
4253ff6b67 Merge pull request #1277 from goetas/bazinga-hateoas
Add basic BazingaHateoasBundle support
2018-05-05 14:49:17 +02:00
Javier Spagnoletti
dbd2076921 Normalize description for classes implementing \DateTimeInterface 2018-05-04 15:22:18 -03:00
Asmir Mustafic
c5b1d538f8 Improve support for JMS dictionaries (associative arrays) (#1301)
* improve support for JMS dictionaries (associative arrays)

Doc: https://swagger.io/docs/specification/data-models/dictionaries/

* use schema merge instead of reflection
2018-04-21 16:57:37 +02:00
Guilhem Niot
8026ff46eb Support `@Model` in in-object annotations 2018-03-22 19:14:01 +01:00
Guilhem Niot
7d99a96cf4 Allow to change a property name 2018-02-19 21:42:56 +01:00
Martijn van Kempen
c72085a507 Added test for the Symfony constraints (#1213)
* Added test for the Symfony constraints

* Added missing ,

* Removed whiteline

* Moved test from JMS to FunctionTest

* Style ci changes

* Removed unused code

* Removed use
2018-02-05 18:39:58 +01:00
Martijn van Kempen
b07043ce33 Added Symfony constraint annotation reader (#1202)
* Added Symfony constraint annotation reader

* StyleCI analysis changes

* StyleCI analysis

* StyleCI analysis

* No longer adding the constraint description for NotBlank and NotNull

* Updated doc comment

* Removed @param

* Removed the AbstractComparison condition

* Using Assert and removed unused method
2018-01-25 14:59:48 +01:00
Robert Gruber
fe9d12772b Add some missing property attributes for JMS model describer (#1196)
* Add some missing property attributes for JMS model describer

* Introduce own Swagger definition annotation reader

* Shorten annotation mapping by using merge
2018-01-24 15:20:20 +01:00
Guilhem N
73a5f104d6
Use @SWG\Parameter type when set instead of throwing (#1174)
* Add an exception

* Just use the manually defined type when set

* Update the jms model describer
2018-01-11 12:26:59 +01:00
Guilhem Niot
eb77f3708c Cleanup 2018-01-04 11:34:23 +01:00