831 Commits

Author SHA1 Message Date
Thomas Lallement
56d4b78bf1 CS Fix 2021-03-16 10:48:12 +01:00
Thomas Lallement
a945a47e32 CS Fixes 2021-03-16 10:46:21 +01:00
Thomas Lallement
73ad2e3cdf Fix property naming 2021-03-16 10:42:37 +01:00
Thomas Lallement
7f9b00d620 Code improvements and add unit test 2021-03-16 10:40:12 +01:00
Javier Spagnoletti
b08bf79212 Fix calls to nonexistent method ControllerReflector::getReflectionClassAndMethod() 2021-03-14 17:19:25 +01:00
Javier Spagnoletti
bfd197fafd Let PHPUnit fail on warnings and risky tests 2021-03-14 17:18:13 +01:00
Guilhem Niot
a48fb7b48a
Merge pull request #1796 from phansys/autoload
Declare "autoload-dev" for `Nelmio\ApiDocBundle\Tests\` namespace
2021-03-14 17:11:27 +01:00
Guilhem Niot
a4d2c6f761
Merge pull request #1793 from derrabus/patch-1
Fix branch alias
2021-03-14 17:10:00 +01:00
Guilhem Niot
f857061475
Merge pull request #1791 from phansys/useless_checks
Remove old useless configurations from tests
2021-03-14 17:08:49 +01:00
Guilhem Niot
d3a7d9bc28
Merge pull request #1790 from phansys/deps
Use explicit dependency declarations
2021-03-14 17:08:12 +01:00
Guilhem Niot
5ece42591d Merge branch 'origin/3.x' 2021-03-14 17:05:31 +01:00
Guilhem Niot
5e6140cd65
Merge pull request #1797 from nelmio/BACKPORT
Added support for constraint attributes
2021-03-14 17:03:59 +01:00
Alexander M. Turek
12ac91bfcd Added support for constraint attributes 2021-03-14 17:02:52 +01:00
Guilhem Niot
645531cf3e
Merge pull request #1789 from derrabus/feature/constraint-attributes
Added support for constraint attributes
2021-03-14 16:38:32 +01:00
Javier Spagnoletti
301da08cb3 Declare "autoload-dev" for Nelmio\ApiDocBundle\Tests\ namespace 2021-03-12 17:46:40 -03:00
Alexander M. Turek
deb80730e1
Fix branch alias 2021-03-12 13:16:07 +01:00
Alexander M. Turek
16221de418 Added support for constraint attributes 2021-03-12 10:57:40 +01:00
Javier Spagnoletti
3ef1549bf8 Use explicit dependency declarations 2021-03-12 00:35:44 -03:00
Javier Spagnoletti
64952d155c Remove old useless configurations from tests 2021-03-12 00:01:22 -03:00
Thomas Lallement
f2c75ebc9d
Fix Open API doc for DateTime requirements
When using the following requierement:

```
@Rest\QueryParam(name="updatedFrom", strict=true, nullable=true, requirements=@Constraints\DateTime("Y-m-d\TH:i:s"))
```

According to the OpenAPI 3.0 documentation https://swagger.io/specification/, we should have "format": "date-time" rather than "format": "DateTime" in the generated doc
2021-03-11 19:06:17 +01:00
Dmitry Pchelintsev
8f646b8484
allow areas annotation for controller class (#1528)
Co-authored-by: pchol <spchols@gmail.com>
Co-authored-by: Guilhem Niot <guilhem@gniot.fr>
2021-03-03 20:47:08 +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
Guilhem Niot
ceda09fe85
Merge pull request #1781 from chrisguitarguy/fix_lengths
Check Min and Max in Length Constraints Before Setting in Schemas
2021-02-16 01:03:59 +01:00
Guilhem Niot
d074e05436
Merge pull request #1777 from saleh199/add_yaml_doc
Add Yaml Documentation
2021-02-16 01:01:33 +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
Saleh Saeed
774057a91a
Revert DocumentationController name 2021-02-08 22:54:21 +01:00
Guilhem Niot
1b4437d88a
Merge pull request #1776 from chrisguitarguy/discriminator_field
Support Polymorphism via the Symfony Discriminator Map
2021-02-08 22:46:49 +01: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
Guilhem Niot
1913b1ab23
Merge pull request #1774 from illuin-tech/master
Support oauth2 scopes in Security annotation
2021-02-08 22:17:01 +01:00
Saleh Saeed
2b387e80f2 Fix styleci 2021-02-01 23:34:02 +01:00
Saleh Saeed
46ef005787 Add Yaml Documentation
Fixes #1613
2021-02-01 23:29:53 +01: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
Paul des Garets
eeb0b4efba Support oauth2 scopes in Security annotation 2021-01-26 19:08:53 +01:00
Guilhem Niot
306aba97a4 Merge #1769 2020-12-30 00:15:43 +01:00
Guilhem Niot
bc2b3f7530 Merge branch '3.x' 2020-12-29 10:30:06 +01:00
Guilhem Niot
e57ede23ed Use annotations reader without cache 2020-12-29 10:27:09 +01:00
Guilhem Niot
42365c71cc Fix a regression about manual paths in operation no longer being taken into account 2020-12-27 19:14:14 +01:00
Guilhem Niot
820c058de7
Update build status with github actions 2020-12-22 11:27:56 +01: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
76c6f05023 Use stable version of FOSRestBundle 2020-12-16 21:31:45 +01:00
Guilhem Niot
a9e8db4af0
Fix the tests (#1761)
* Bump phpunit-bridge

* Bump many dependencies
2020-12-10 23:00:21 +01:00
Guilhem Niot
85978ad800 Fix github actions 2020-12-10 22:40:50 +01:00
Guilhem Niot
18c040b1c4 Add master branch to git actions workflow 2020-12-10 22:32:53 +01:00
Guilhem Niot
909a7934b4 Merge branch '3.x' 2020-12-10 22:31:55 +01:00
Guilhem Niot
0a3785fd26 Fix cs 2020-12-10 22:30:50 +01:00
Guilhem Niot
363fd26f7c Merge branch '3.x' 2020-12-10 22:28:55 +01:00
Guilhem Niot
6d995a6e03
Add php 8 support (#1745)
* Add php 8 support

* Ignore platform reqs

* Change php constraint

* Use vendor/bin/simple-phpunit directly

* Remove willdurand/hateoas-bundle when testing php8

* Merge 3.x

* Move to github actions

* Fix the tests

* Change ./phpunit permissions

* Update deprecations policy
2020-12-10 21:59:36 +01:00