diff --git a/README.md b/README.md index f3643f1..3720894 100644 --- a/README.md +++ b/README.md @@ -121,7 +121,7 @@ The library models OpenAPI tags as tags. It does not assign SDK service or platf ### Schemas -Schemas are represented by typed classes under `Utopia\OpenAPI\Model\Schema`: +Schemas are represented by typed classes under `Utopia\OpenAPI\Model`, with `Schema` as their common base: - `AnySchema` and `NeverSchema` - `StringSchema` @@ -147,7 +147,7 @@ The model preserves: Schema references remain references rather than being recursively expanded: ```php -use Utopia\OpenAPI\Model\Schema\ReferenceSchema; +use Utopia\OpenAPI\Model\ReferenceSchema; $schema = $specification->schemas['Pet']; diff --git a/src/Model/Schema/AnySchema.php b/src/Model/AnySchema.php similarity index 68% rename from src/Model/Schema/AnySchema.php rename to src/Model/AnySchema.php index 5f42013..007d6a7 100644 --- a/src/Model/Schema/AnySchema.php +++ b/src/Model/AnySchema.php @@ -2,6 +2,6 @@ declare(strict_types=1); -namespace Utopia\OpenAPI\Model\Schema; +namespace Utopia\OpenAPI\Model; final readonly class AnySchema extends Schema {} diff --git a/src/Model/Schema/ArraySchema.php b/src/Model/ArraySchema.php similarity index 95% rename from src/Model/Schema/ArraySchema.php rename to src/Model/ArraySchema.php index 600b097..b257c6b 100644 --- a/src/Model/Schema/ArraySchema.php +++ b/src/Model/ArraySchema.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Utopia\OpenAPI\Model\Schema; +namespace Utopia\OpenAPI\Model; final readonly class ArraySchema extends Schema { diff --git a/src/Model/Schema/BooleanSchema.php b/src/Model/BooleanSchema.php similarity index 69% rename from src/Model/Schema/BooleanSchema.php rename to src/Model/BooleanSchema.php index a191a67..15b3a64 100644 --- a/src/Model/Schema/BooleanSchema.php +++ b/src/Model/BooleanSchema.php @@ -2,6 +2,6 @@ declare(strict_types=1); -namespace Utopia\OpenAPI\Model\Schema; +namespace Utopia\OpenAPI\Model; final readonly class BooleanSchema extends Schema {} diff --git a/src/Model/Schema/CompositeSchema.php b/src/Model/CompositeSchema.php similarity index 95% rename from src/Model/Schema/CompositeSchema.php rename to src/Model/CompositeSchema.php index aa2f9ec..412f4c6 100644 --- a/src/Model/Schema/CompositeSchema.php +++ b/src/Model/CompositeSchema.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Utopia\OpenAPI\Model\Schema; +namespace Utopia\OpenAPI\Model; final readonly class CompositeSchema extends Schema { diff --git a/src/Model/Schema/Composition.php b/src/Model/Composition.php similarity index 78% rename from src/Model/Schema/Composition.php rename to src/Model/Composition.php index 7ac471c..725e5ca 100644 --- a/src/Model/Schema/Composition.php +++ b/src/Model/Composition.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Utopia\OpenAPI\Model\Schema; +namespace Utopia\OpenAPI\Model; enum Composition: string { diff --git a/src/Model/Schema/Discriminator.php b/src/Model/Discriminator.php similarity index 89% rename from src/Model/Schema/Discriminator.php rename to src/Model/Discriminator.php index 9182c8f..ae9f281 100644 --- a/src/Model/Schema/Discriminator.php +++ b/src/Model/Discriminator.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Utopia\OpenAPI\Model\Schema; +namespace Utopia\OpenAPI\Model; final readonly class Discriminator { diff --git a/src/Model/Header.php b/src/Model/Header.php index cd09459..358c76f 100644 --- a/src/Model/Header.php +++ b/src/Model/Header.php @@ -4,8 +4,6 @@ namespace Utopia\OpenAPI\Model; -use Utopia\OpenAPI\Model\Schema\Schema; - final readonly class Header { /** diff --git a/src/Model/Schema/IntegerSchema.php b/src/Model/IntegerSchema.php similarity index 95% rename from src/Model/Schema/IntegerSchema.php rename to src/Model/IntegerSchema.php index cb6f20b..a765742 100644 --- a/src/Model/Schema/IntegerSchema.php +++ b/src/Model/IntegerSchema.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Utopia\OpenAPI\Model\Schema; +namespace Utopia\OpenAPI\Model; final readonly class IntegerSchema extends Schema { diff --git a/src/Model/MediaType.php b/src/Model/MediaType.php index 7fd818f..d192bcd 100644 --- a/src/Model/MediaType.php +++ b/src/Model/MediaType.php @@ -4,8 +4,6 @@ namespace Utopia\OpenAPI\Model; -use Utopia\OpenAPI\Model\Schema\Schema; - final readonly class MediaType { /** diff --git a/src/Model/Schema/NeverSchema.php b/src/Model/NeverSchema.php similarity index 76% rename from src/Model/Schema/NeverSchema.php rename to src/Model/NeverSchema.php index 235054a..ee3a072 100644 --- a/src/Model/Schema/NeverSchema.php +++ b/src/Model/NeverSchema.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Utopia\OpenAPI\Model\Schema; +namespace Utopia\OpenAPI\Model; /** A JSON Schema boolean false schema. */ final readonly class NeverSchema extends Schema {} diff --git a/src/Model/Schema/NumberSchema.php b/src/Model/NumberSchema.php similarity index 95% rename from src/Model/Schema/NumberSchema.php rename to src/Model/NumberSchema.php index fe0ce41..7cc1b4d 100644 --- a/src/Model/Schema/NumberSchema.php +++ b/src/Model/NumberSchema.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Utopia\OpenAPI\Model\Schema; +namespace Utopia\OpenAPI\Model; final readonly class NumberSchema extends Schema { diff --git a/src/Model/Schema/ObjectSchema.php b/src/Model/ObjectSchema.php similarity index 96% rename from src/Model/Schema/ObjectSchema.php rename to src/Model/ObjectSchema.php index e323b0e..8ae9e4f 100644 --- a/src/Model/Schema/ObjectSchema.php +++ b/src/Model/ObjectSchema.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Utopia\OpenAPI\Model\Schema; +namespace Utopia\OpenAPI\Model; final readonly class ObjectSchema extends Schema { diff --git a/src/Model/Parameter.php b/src/Model/Parameter.php index 5160ad7..86c74fc 100644 --- a/src/Model/Parameter.php +++ b/src/Model/Parameter.php @@ -4,8 +4,6 @@ namespace Utopia\OpenAPI\Model; -use Utopia\OpenAPI\Model\Schema\Schema; - final readonly class Parameter { /** diff --git a/src/Model/Schema/ReferenceSchema.php b/src/Model/ReferenceSchema.php similarity index 94% rename from src/Model/Schema/ReferenceSchema.php rename to src/Model/ReferenceSchema.php index 2577b48..508ecdd 100644 --- a/src/Model/Schema/ReferenceSchema.php +++ b/src/Model/ReferenceSchema.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Utopia\OpenAPI\Model\Schema; +namespace Utopia\OpenAPI\Model; final readonly class ReferenceSchema extends Schema { diff --git a/src/Model/Schema/Schema.php b/src/Model/Schema.php similarity index 94% rename from src/Model/Schema/Schema.php rename to src/Model/Schema.php index dfd0c65..db04e10 100644 --- a/src/Model/Schema/Schema.php +++ b/src/Model/Schema.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Utopia\OpenAPI\Model\Schema; +namespace Utopia\OpenAPI\Model; abstract readonly class Schema { diff --git a/src/Model/Schema/StringSchema.php b/src/Model/StringSchema.php similarity index 95% rename from src/Model/Schema/StringSchema.php rename to src/Model/StringSchema.php index dbd0a6f..906b554 100644 --- a/src/Model/Schema/StringSchema.php +++ b/src/Model/StringSchema.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Utopia\OpenAPI\Model\Schema; +namespace Utopia\OpenAPI\Model; final readonly class StringSchema extends Schema { diff --git a/src/Parser/OpenAPI2.php b/src/Parser/OpenAPI2.php index cce70d2..3b5ded8 100644 --- a/src/Parser/OpenAPI2.php +++ b/src/Parser/OpenAPI2.php @@ -9,13 +9,13 @@ use Utopia\OpenAPI\Model\Example; use Utopia\OpenAPI\Model\HttpMethod; use Utopia\OpenAPI\Model\MediaType; +use Utopia\OpenAPI\Model\ObjectSchema; use Utopia\OpenAPI\Model\Operation; use Utopia\OpenAPI\Model\Parameter; use Utopia\OpenAPI\Model\ParameterLocation; use Utopia\OpenAPI\Model\PathItem; use Utopia\OpenAPI\Model\RequestBody; use Utopia\OpenAPI\Model\Response; -use Utopia\OpenAPI\Model\Schema\ObjectSchema; use Utopia\OpenAPI\Model\Server; use Utopia\OpenAPI\Specification; diff --git a/src/Parser/Schema/Reader.php b/src/Parser/Schema/Reader.php index 70ba9bc..1634b59 100644 --- a/src/Parser/Schema/Reader.php +++ b/src/Parser/Schema/Reader.php @@ -5,19 +5,19 @@ namespace Utopia\OpenAPI\Parser\Schema; use Utopia\OpenAPI\Exception\InvalidSpecification; -use Utopia\OpenAPI\Model\Schema\AnySchema; -use Utopia\OpenAPI\Model\Schema\ArraySchema; -use Utopia\OpenAPI\Model\Schema\BooleanSchema; -use Utopia\OpenAPI\Model\Schema\CompositeSchema; -use Utopia\OpenAPI\Model\Schema\Composition; -use Utopia\OpenAPI\Model\Schema\Discriminator; -use Utopia\OpenAPI\Model\Schema\IntegerSchema; -use Utopia\OpenAPI\Model\Schema\NeverSchema; -use Utopia\OpenAPI\Model\Schema\NumberSchema; -use Utopia\OpenAPI\Model\Schema\ObjectSchema; -use Utopia\OpenAPI\Model\Schema\ReferenceSchema; -use Utopia\OpenAPI\Model\Schema\Schema; -use Utopia\OpenAPI\Model\Schema\StringSchema; +use Utopia\OpenAPI\Model\AnySchema; +use Utopia\OpenAPI\Model\ArraySchema; +use Utopia\OpenAPI\Model\BooleanSchema; +use Utopia\OpenAPI\Model\CompositeSchema; +use Utopia\OpenAPI\Model\Composition; +use Utopia\OpenAPI\Model\Discriminator; +use Utopia\OpenAPI\Model\IntegerSchema; +use Utopia\OpenAPI\Model\NeverSchema; +use Utopia\OpenAPI\Model\NumberSchema; +use Utopia\OpenAPI\Model\ObjectSchema; +use Utopia\OpenAPI\Model\ReferenceSchema; +use Utopia\OpenAPI\Model\Schema; +use Utopia\OpenAPI\Model\StringSchema; use Utopia\OpenAPI\Parser\Value; /** diff --git a/src/Specification.php b/src/Specification.php index 2a58463..fdb7c0d 100644 --- a/src/Specification.php +++ b/src/Specification.php @@ -8,7 +8,7 @@ use Utopia\OpenAPI\Model\Info; use Utopia\OpenAPI\Model\Operation; use Utopia\OpenAPI\Model\PathItem; -use Utopia\OpenAPI\Model\Schema\Schema; +use Utopia\OpenAPI\Model\Schema; use Utopia\OpenAPI\Model\SecurityRequirement; use Utopia\OpenAPI\Model\SecurityScheme; use Utopia\OpenAPI\Model\Server; diff --git a/tests/CrossVersionFixtureTest.php b/tests/CrossVersionFixtureTest.php index 9afe262..6a50bb7 100644 --- a/tests/CrossVersionFixtureTest.php +++ b/tests/CrossVersionFixtureTest.php @@ -7,16 +7,16 @@ use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Utopia\OpenAPI\Model\HttpMethod; +use Utopia\OpenAPI\Model\IntegerSchema; +use Utopia\OpenAPI\Model\ObjectSchema; use Utopia\OpenAPI\Model\Operation; use Utopia\OpenAPI\Model\ParameterLocation; -use Utopia\OpenAPI\Model\Schema\IntegerSchema; -use Utopia\OpenAPI\Model\Schema\ObjectSchema; -use Utopia\OpenAPI\Model\Schema\ReferenceSchema; -use Utopia\OpenAPI\Model\Schema\StringSchema; +use Utopia\OpenAPI\Model\ReferenceSchema; use Utopia\OpenAPI\Model\SecurityRequirement; use Utopia\OpenAPI\Model\SecurityScheme; use Utopia\OpenAPI\Model\SecuritySchemeType; use Utopia\OpenAPI\Model\Server; +use Utopia\OpenAPI\Model\StringSchema; use Utopia\OpenAPI\Parser; use Utopia\OpenAPI\Specification; use Utopia\OpenAPI\Version; diff --git a/tests/ParserTest.php b/tests/ParserTest.php index 3aa101f..c672658 100644 --- a/tests/ParserTest.php +++ b/tests/ParserTest.php @@ -8,11 +8,11 @@ use Utopia\OpenAPI\Exception\CircularReference; use Utopia\OpenAPI\Exception\InvalidSpecification; use Utopia\OpenAPI\Exception\ParseException; +use Utopia\OpenAPI\Model\CompositeSchema; use Utopia\OpenAPI\Model\HttpMethod; -use Utopia\OpenAPI\Model\Schema\CompositeSchema; -use Utopia\OpenAPI\Model\Schema\ObjectSchema; -use Utopia\OpenAPI\Model\Schema\ReferenceSchema; -use Utopia\OpenAPI\Model\Schema\StringSchema; +use Utopia\OpenAPI\Model\ObjectSchema; +use Utopia\OpenAPI\Model\ReferenceSchema; +use Utopia\OpenAPI\Model\StringSchema; use Utopia\OpenAPI\Parser; use Utopia\OpenAPI\Reference\LocalResolver; use Utopia\OpenAPI\Version; diff --git a/tests/Schema/ReaderTest.php b/tests/Schema/ReaderTest.php index 228edda..54ae311 100644 --- a/tests/Schema/ReaderTest.php +++ b/tests/Schema/ReaderTest.php @@ -6,15 +6,15 @@ use PHPUnit\Framework\TestCase; use Utopia\OpenAPI\Exception\InvalidSpecification; -use Utopia\OpenAPI\Model\Schema\AnySchema; -use Utopia\OpenAPI\Model\Schema\ArraySchema; -use Utopia\OpenAPI\Model\Schema\CompositeSchema; -use Utopia\OpenAPI\Model\Schema\Composition; -use Utopia\OpenAPI\Model\Schema\IntegerSchema; -use Utopia\OpenAPI\Model\Schema\NeverSchema; -use Utopia\OpenAPI\Model\Schema\ObjectSchema; -use Utopia\OpenAPI\Model\Schema\ReferenceSchema; -use Utopia\OpenAPI\Model\Schema\StringSchema; +use Utopia\OpenAPI\Model\AnySchema; +use Utopia\OpenAPI\Model\ArraySchema; +use Utopia\OpenAPI\Model\CompositeSchema; +use Utopia\OpenAPI\Model\Composition; +use Utopia\OpenAPI\Model\IntegerSchema; +use Utopia\OpenAPI\Model\NeverSchema; +use Utopia\OpenAPI\Model\ObjectSchema; +use Utopia\OpenAPI\Model\ReferenceSchema; +use Utopia\OpenAPI\Model\StringSchema; use Utopia\OpenAPI\Parser\Schema\Dialect; use Utopia\OpenAPI\Parser\Schema\Reader; use Utopia\OpenAPI\Version;