diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java index bfbeb59452a538e21f3f1f0c37a4ac8edfe64581..ecf772d2394174dce18af92db17489d2d98ff767 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java @@ -404,6 +404,8 @@ public abstract class AbstractPhpCodegen extends DefaultCodegen implements Codeg // return the name in camelCase style // phone_number => phoneNumber name = camelize(name, true); + } else if ("PascalCase".equals(variableNamingConvention)) { + name = camelize(name, false); } else { // default to snake case // return the name in underscore style // PhoneNumber => phone_number diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpLaravelServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpLaravelServerCodegen.java index 5dbaec3bbdd26bde8d27075bfbe4eccdc47b770c..52e038f7a8960145fdea779350c6bcc8baa0d045 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpLaravelServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpLaravelServerCodegen.java @@ -18,9 +18,13 @@ package org.openapitools.codegen.languages; import org.openapitools.codegen.CodegenOperation; +import org.openapitools.codegen.CodegenProperty; import org.openapitools.codegen.CodegenType; import org.openapitools.codegen.SupportingFile; import org.openapitools.codegen.meta.features.*; +import org.openapitools.codegen.utils.ModelUtils; + +import io.swagger.v3.oas.models.media.Schema; import java.io.File; import java.util.*; @@ -300,4 +304,96 @@ public class PhpLaravelServerCodegen extends AbstractPhpCodegen { return camelize(name, false) + "Controller"; } + + @Override + protected String getEnumDefaultValue(String defaultValue, String dataType) { + return defaultValue; + } + + @Override + public CodegenProperty fromProperty(String name, Schema p) { + CodegenProperty property = super.fromProperty(name, p); + Schema referencedSchema = ModelUtils.getReferencedSchema(this.openAPI, p); + + //Referenced enum case: + if (!property.isEnum && referencedSchema.getEnum() != null && !referencedSchema.getEnum().isEmpty()) { + property.dataType = this.getSchemaType(referencedSchema); + property.defaultValue = this.toDefaultValue(referencedSchema); + List<Object> _enum = referencedSchema.getEnum(); + + Map<String, Object> allowableValues = new HashMap<>(); + allowableValues.put("values", _enum); + if (allowableValues.size() > 0) { + property.allowableValues = allowableValues; + } + } + + return property; + } + + @Override + public String toDefaultValue(Schema p) { + if (ModelUtils.isBooleanSchema(p)) { + if (p.getDefault() != null) { + return p.getDefault().toString(); + } else if (!Boolean.TRUE.equals(p.getNullable())) { + return "false"; + } + } else if (ModelUtils.isDateSchema(p)) { + // TODO + } else if (ModelUtils.isDateTimeSchema(p)) { + // TODO + } else if (ModelUtils.isFileSchema(p)) { + // TODO + } else if (ModelUtils.isNumberSchema(p)) { + if (p.getDefault() != null) { + return p.getDefault().toString(); + } else if (!Boolean.TRUE.equals(p.getNullable())) { + return "0"; + } + } else if (ModelUtils.isIntegerSchema(p)) { + if (p.getDefault() != null) { + return p.getDefault().toString(); + } else if (!Boolean.TRUE.equals(p.getNullable())) { + return "0"; + } + } else if (ModelUtils.isStringSchema(p)) { + if (p.getDefault() != null) { + return "'" + p.getDefault() + "'"; + } else if (!Boolean.TRUE.equals(p.getNullable())) { + return "\"\""; + } + } else if (ModelUtils.isArraySchema(p)) { + if (p.getDefault() != null) { + return p.getDefault().toString(); + } else if (!Boolean.TRUE.equals(p.getNullable())) { + return "[]"; + } + } + + return null; + } + + @Override + public String toEnumDefaultValue(String value, String datatype) { + return datatype + "::" + value; + } + + @Override + public String toEnumVarName(String value, String datatype) { + if (value.length() == 0) { + return super.toEnumVarName(value, datatype); + } + + // number + if ("int".equals(datatype) || "double".equals(datatype) || "float".equals(datatype)) { + String varName = "NUMBER_" + value; + varName = varName.replaceAll("-", "MINUS_"); + varName = varName.replaceAll("\\+", "PLUS_"); + varName = varName.replaceAll("\\.", "_DOT_"); + return varName; + } + + return super.toEnumVarName(value, datatype); + } } diff --git a/modules/openapi-generator/src/main/resources/php-laravel/model.mustache b/modules/openapi-generator/src/main/resources/php-laravel/model.mustache index 966dd38ff036aa499c98ed13b6bcb51e36831313..13eedb98372586cbb6bc9b9b784fc44122e45963 100644 --- a/modules/openapi-generator/src/main/resources/php-laravel/model.mustache +++ b/modules/openapi-generator/src/main/resources/php-laravel/model.mustache @@ -1,21 +1,17 @@ <?php -{{#models}}{{#model}}/** +{{#models}} +{{#model}} +/** * {{classname}} */ namespace {{modelPackage}}; /** * {{classname}} +{{#description}} + * @description {{{.}}} +{{/description}} */ -class {{classname}} { - - {{#vars}} - /** @var {{{dataType}}} ${{name}} {{description}}*/ -{{#deprecated}} - /** @deprecated */ -{{/deprecated}} - private ${{name}}; - - {{/vars}} -} -{{/model}}{{/models}} \ No newline at end of file +{{#isEnum}}{{>model_enum}}{{/isEnum}}{{^isEnum}}{{>model_generic}}{{/isEnum}} +{{/model}} +{{/models}} \ No newline at end of file diff --git a/modules/openapi-generator/src/main/resources/php-laravel/model_enum.mustache b/modules/openapi-generator/src/main/resources/php-laravel/model_enum.mustache new file mode 100644 index 0000000000000000000000000000000000000000..721f6b08ad849f99552f92a6f2daf7abbda02d5d --- /dev/null +++ b/modules/openapi-generator/src/main/resources/php-laravel/model_enum.mustache @@ -0,0 +1,28 @@ +class {{classname}} +{ + /** + * Possible values of this enum + */ + {{#allowableValues}} + {{#enumVars}} + const {{{name}}} = {{{value}}}; + + {{/enumVars}} + {{/allowableValues}} + /** + * Gets allowable values of the enum + * @return string[] + */ + public static function getAllowableEnumValues() + { + return [ + {{#allowableValues}} + {{#enumVars}} + self::{{{name}}}{{^-last}}, + {{/-last}} + {{/enumVars}} + {{/allowableValues}} + + ]; + } +} \ No newline at end of file diff --git a/modules/openapi-generator/src/main/resources/php-laravel/model_generic.mustache b/modules/openapi-generator/src/main/resources/php-laravel/model_generic.mustache new file mode 100644 index 0000000000000000000000000000000000000000..dffa20ce4c07c9005f21df949dda943e99ebed0b --- /dev/null +++ b/modules/openapi-generator/src/main/resources/php-laravel/model_generic.mustache @@ -0,0 +1,11 @@ +class {{classname}} { + + {{#vars}} + /** @var {{{dataType}}}{{#isNullable}}|null{{/isNullable}} ${{name}} {{description}}*/ +{{#deprecated}} + /** @deprecated */ +{{/deprecated}} + public ${{name}}{{#defaultValue}} = {{{defaultValue}}}{{/defaultValue}}{{^defaultValue}}{{#isNullable}} = null{{/isNullable}}{{/defaultValue}}; + + {{/vars}} +} \ No newline at end of file diff --git a/samples/server/petstore/php-laravel/lib/app/Models/AdditionalPropertiesClass.php b/samples/server/petstore/php-laravel/lib/app/Models/AdditionalPropertiesClass.php index b6fbf24d048e7834ff285d8981c75e745ecb1de7..4723a9b145055cbff43f283a0543c087fd12f4cc 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/AdditionalPropertiesClass.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/AdditionalPropertiesClass.php @@ -10,9 +10,9 @@ namespace app\Models; class AdditionalPropertiesClass { /** @var array<string,string> $mapProperty */ - private $mapProperty; + public $mapProperty; /** @var array<string,array<string,string>> $mapOfMapProperty */ - private $mapOfMapProperty; + public $mapOfMapProperty; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/Animal.php b/samples/server/petstore/php-laravel/lib/app/Models/Animal.php index 7435e7c2c0df7050d0fbb6ac2960a8db5164a44c..849e9d2937024f5a0ddd923c05aee1924564872a 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/Animal.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/Animal.php @@ -10,9 +10,9 @@ namespace app\Models; class Animal { /** @var string $className */ - private $className; + public $className = ""; /** @var string $color */ - private $color; + public $color = 'red'; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/ApiResponse.php b/samples/server/petstore/php-laravel/lib/app/Models/ApiResponse.php index e9f556871bce4bf5a11f129500baa6b0b1ac2680..7bef1cdcd2281e5e77bad4e7eebc6d19ea0fde9d 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/ApiResponse.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/ApiResponse.php @@ -10,12 +10,12 @@ namespace app\Models; class ApiResponse { /** @var int $code */ - private $code; + public $code = 0; /** @var string $type */ - private $type; + public $type = ""; /** @var string $message */ - private $message; + public $message = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/ArrayOfArrayOfNumberOnly.php b/samples/server/petstore/php-laravel/lib/app/Models/ArrayOfArrayOfNumberOnly.php index b1266485890cface638a5e412b9f5d0c1d9c1514..eef6c7cee6befb7c39d7af6b9f0eebcd4bb81e4d 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/ArrayOfArrayOfNumberOnly.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/ArrayOfArrayOfNumberOnly.php @@ -10,6 +10,6 @@ namespace app\Models; class ArrayOfArrayOfNumberOnly { /** @var float[][] $arrayArrayNumber */ - private $arrayArrayNumber; + public $arrayArrayNumber = []; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/ArrayOfNumberOnly.php b/samples/server/petstore/php-laravel/lib/app/Models/ArrayOfNumberOnly.php index 234a196f0c7514d4c771e8f1d4face7197b5bcd9..10148db76ab97141ecc35646d094ecda00eb6944 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/ArrayOfNumberOnly.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/ArrayOfNumberOnly.php @@ -10,6 +10,6 @@ namespace app\Models; class ArrayOfNumberOnly { /** @var float[] $arrayNumber */ - private $arrayNumber; + public $arrayNumber = []; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/ArrayTest.php b/samples/server/petstore/php-laravel/lib/app/Models/ArrayTest.php index fbb4b21ada8d78118cfd21664c293399d03e768c..bb1d9976ae1b2858045c9be215b6410436ff5c46 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/ArrayTest.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/ArrayTest.php @@ -10,12 +10,12 @@ namespace app\Models; class ArrayTest { /** @var string[] $arrayOfString */ - private $arrayOfString; + public $arrayOfString = []; /** @var int[][] $arrayArrayOfInteger */ - private $arrayArrayOfInteger; + public $arrayArrayOfInteger = []; /** @var \app\Models\ReadOnlyFirst[][] $arrayArrayOfModel */ - private $arrayArrayOfModel; + public $arrayArrayOfModel = []; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/Capitalization.php b/samples/server/petstore/php-laravel/lib/app/Models/Capitalization.php index a8779787ecafb20f780cf75f6ad58a06cd30b654..9e7df6f9195a4289a84ae73236e92257380fb052 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/Capitalization.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/Capitalization.php @@ -10,21 +10,21 @@ namespace app\Models; class Capitalization { /** @var string $smallCamel */ - private $smallCamel; + public $smallCamel = ""; /** @var string $capitalCamel */ - private $capitalCamel; + public $capitalCamel = ""; /** @var string $smallSnake */ - private $smallSnake; + public $smallSnake = ""; /** @var string $capitalSnake */ - private $capitalSnake; + public $capitalSnake = ""; /** @var string $sCAETHFlowPoints */ - private $sCAETHFlowPoints; + public $sCAETHFlowPoints = ""; /** @var string $aTTNAME Name of the pet*/ - private $aTTNAME; + public $aTTNAME = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/Cat.php b/samples/server/petstore/php-laravel/lib/app/Models/Cat.php index 976181f474ce951d37d628e5ce9bfe2c1e20fcb6..dc1051497f72b14ecdb3a0f050f76e455c8d6bfb 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/Cat.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/Cat.php @@ -10,12 +10,12 @@ namespace app\Models; class Cat { /** @var string $className */ - private $className; + public $className = ""; /** @var string $color */ - private $color; + public $color = 'red'; /** @var bool $declawed */ - private $declawed; + public $declawed = false; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/CatAllOf.php b/samples/server/petstore/php-laravel/lib/app/Models/CatAllOf.php index ee2fd0f4c12d6e9220409d70f028daafa05018c0..6e02243b0d35e1ce2e7c726b265680eb3c1aef27 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/CatAllOf.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/CatAllOf.php @@ -10,6 +10,6 @@ namespace app\Models; class CatAllOf { /** @var bool $declawed */ - private $declawed; + public $declawed = false; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/Category.php b/samples/server/petstore/php-laravel/lib/app/Models/Category.php index 58a9362f2d2dfb19bff81e006421888aa0999631..d55589dbcb2f9dcd6cf3da330fdf247845280317 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/Category.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/Category.php @@ -10,9 +10,9 @@ namespace app\Models; class Category { /** @var int $id */ - private $id; + public $id = 0; /** @var string $name */ - private $name; + public $name = 'default-name'; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/ClassModel.php b/samples/server/petstore/php-laravel/lib/app/Models/ClassModel.php index fbc93a019937108f4f4eec23fe60fad36ac29ccf..ec6bc6e01d8ca206cd2aad3db4a188abf2214896 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/ClassModel.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/ClassModel.php @@ -6,10 +6,11 @@ namespace app\Models; /** * ClassModel + * @description Model for testing model with \"_class\" property */ class ClassModel { /** @var string $class */ - private $class; + public $class = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/Client.php b/samples/server/petstore/php-laravel/lib/app/Models/Client.php index 35358e061057b87e7711e305c5a1834cf760be63..3bd5f9d0a2b0b4a0f44f1b056368e4792d8f1bc6 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/Client.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/Client.php @@ -10,6 +10,6 @@ namespace app\Models; class Client { /** @var string $client */ - private $client; + public $client = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/DeprecatedObject.php b/samples/server/petstore/php-laravel/lib/app/Models/DeprecatedObject.php index d25a9f5c215574d0ddac543c1f7ad695d2c74bbe..ab953b1b5a32552d7726bbe284b0cb2be2313201 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/DeprecatedObject.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/DeprecatedObject.php @@ -10,6 +10,6 @@ namespace app\Models; class DeprecatedObject { /** @var string $name */ - private $name; + public $name = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/Dog.php b/samples/server/petstore/php-laravel/lib/app/Models/Dog.php index 342d76fdb68f357361afa8c05947794e8fb86e06..c089badb0dd9ca9d526fa2f3f6b83dbeabb1d246 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/Dog.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/Dog.php @@ -10,12 +10,12 @@ namespace app\Models; class Dog { /** @var string $className */ - private $className; + public $className = ""; /** @var string $color */ - private $color; + public $color = 'red'; /** @var string $breed */ - private $breed; + public $breed = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/DogAllOf.php b/samples/server/petstore/php-laravel/lib/app/Models/DogAllOf.php index ae0daf91bb5d6de9f44eed8e989f7d1c6ab8ca9f..97b9fa650a170551da2eea822036be7d73d05b8c 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/DogAllOf.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/DogAllOf.php @@ -10,6 +10,6 @@ namespace app\Models; class DogAllOf { /** @var string $breed */ - private $breed; + public $breed = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/EnumArrays.php b/samples/server/petstore/php-laravel/lib/app/Models/EnumArrays.php index d01dec52879b19448b943e6d0e8941703a4f1dd8..deced9baf3c0a0436238498c5322b73ab833805c 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/EnumArrays.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/EnumArrays.php @@ -10,9 +10,9 @@ namespace app\Models; class EnumArrays { /** @var string $justSymbol */ - private $justSymbol; + public $justSymbol = ""; /** @var string[] $arrayEnum */ - private $arrayEnum; + public $arrayEnum = []; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/EnumClass.php b/samples/server/petstore/php-laravel/lib/app/Models/EnumClass.php index 84f07bbf73e488e34618b62d47003033d25497ae..f1122eae53cbcb4cb8bccbf8197578f7fbfd0793 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/EnumClass.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/EnumClass.php @@ -7,6 +7,27 @@ namespace app\Models; /** * EnumClass */ -class EnumClass { +class EnumClass +{ + /** + * Possible values of this enum + */ + const ABC = '_abc'; + const EFG = '-efg'; + + const XYZ = '(xyz)'; + + /** + * Gets allowable values of the enum + * @return string[] + */ + public static function getAllowableEnumValues() + { + return [ + self::ABC, + self::EFG, + self::XYZ + ]; + } } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/EnumTest.php b/samples/server/petstore/php-laravel/lib/app/Models/EnumTest.php index ce1eb85dd8dca072bbb6c635f9f33e9a1c44f848..b188f1e86f0c9257d89576a9ee2741f802186e00 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/EnumTest.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/EnumTest.php @@ -10,27 +10,27 @@ namespace app\Models; class EnumTest { /** @var string $enumString */ - private $enumString; + public $enumString = ""; /** @var string $enumStringRequired */ - private $enumStringRequired; + public $enumStringRequired = ""; /** @var int $enumInteger */ - private $enumInteger; + public $enumInteger = 0; /** @var double $enumNumber */ - private $enumNumber; + public $enumNumber = 0; - /** @var \app\Models\OuterEnum $outerEnum */ - private $outerEnum; + /** @var string|null $outerEnum */ + public $outerEnum = null; - /** @var \app\Models\OuterEnumInteger $outerEnumInteger */ - private $outerEnumInteger; + /** @var int $outerEnumInteger */ + public $outerEnumInteger = \app\Models\OuterEnumInteger::NUMBER_0; - /** @var \app\Models\OuterEnumDefaultValue $outerEnumDefaultValue */ - private $outerEnumDefaultValue; + /** @var string $outerEnumDefaultValue */ + public $outerEnumDefaultValue = \app\Models\OuterEnumDefaultValue::PLACED; - /** @var \app\Models\OuterEnumIntegerDefaultValue $outerEnumIntegerDefaultValue */ - private $outerEnumIntegerDefaultValue; + /** @var int $outerEnumIntegerDefaultValue */ + public $outerEnumIntegerDefaultValue = \app\Models\OuterEnumIntegerDefaultValue::NUMBER_0; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/File.php b/samples/server/petstore/php-laravel/lib/app/Models/File.php index ec0215ae1048857e798f48d4d9a39444cf1441c4..e545d139bfa7ec9c0f0034b352049f37631e1cd6 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/File.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/File.php @@ -6,10 +6,11 @@ namespace app\Models; /** * File + * @description Must be named `File` for test. */ class File { /** @var string $sourceURI Test capitalization*/ - private $sourceURI; + public $sourceURI = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/FileSchemaTestClass.php b/samples/server/petstore/php-laravel/lib/app/Models/FileSchemaTestClass.php index 64fe925c123c47d86bcaeda7fefd9ce6ce6b3886..da7de36f078c026447e3774eeba2c86740e224f8 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/FileSchemaTestClass.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/FileSchemaTestClass.php @@ -10,9 +10,9 @@ namespace app\Models; class FileSchemaTestClass { /** @var \app\Models\File $file */ - private $file; + public $file; /** @var \app\Models\File[] $files */ - private $files; + public $files = []; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/Foo.php b/samples/server/petstore/php-laravel/lib/app/Models/Foo.php index 96d9bcf87050d1712c3938a4306d41981c365602..190be91729b9eee7012a3a06590839c7a7b2252a 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/Foo.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/Foo.php @@ -10,6 +10,6 @@ namespace app\Models; class Foo { /** @var string $bar */ - private $bar; + public $bar = 'bar'; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/FormatTest.php b/samples/server/petstore/php-laravel/lib/app/Models/FormatTest.php index c7dbd850eb6d53de63816da566dea151c91953f0..d5114123c6b9cb2b4954798d1c910b3b473cf27e 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/FormatTest.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/FormatTest.php @@ -10,51 +10,51 @@ namespace app\Models; class FormatTest { /** @var int $integer */ - private $integer; + public $integer = 0; /** @var int $int32 */ - private $int32; + public $int32 = 0; /** @var int $int64 */ - private $int64; + public $int64 = 0; /** @var float $number */ - private $number; + public $number = 0; /** @var float $float */ - private $float; + public $float = 0; /** @var double $double */ - private $double; + public $double = 0; /** @var float $decimal */ - private $decimal; + public $decimal = ""; /** @var string $string */ - private $string; + public $string = ""; /** @var string $byte */ - private $byte; + public $byte = ""; /** @var \SplFileObject $binary */ - private $binary; + public $binary; /** @var \DateTime $date */ - private $date; + public $date; /** @var \DateTime $dateTime */ - private $dateTime; + public $dateTime; /** @var string $uuid */ - private $uuid; + public $uuid = ""; /** @var string $password */ - private $password; + public $password = ""; /** @var string $patternWithDigits A string that is a 10 digit number. Can have leading zeros.*/ - private $patternWithDigits; + public $patternWithDigits = ""; /** @var string $patternWithDigitsAndDelimiter A string starting with 'image_' (case insensitive) and one to three digits following i.e. Image_01.*/ - private $patternWithDigitsAndDelimiter; + public $patternWithDigitsAndDelimiter = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/HasOnlyReadOnly.php b/samples/server/petstore/php-laravel/lib/app/Models/HasOnlyReadOnly.php index ecea2a0d4d91476cdf27d4c0eaacd99bab03ac5f..9bddb5c13e1d9316f0a2ffef1078eecec7fef86f 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/HasOnlyReadOnly.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/HasOnlyReadOnly.php @@ -10,9 +10,9 @@ namespace app\Models; class HasOnlyReadOnly { /** @var string $bar */ - private $bar; + public $bar = ""; /** @var string $foo */ - private $foo; + public $foo = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/HealthCheckResult.php b/samples/server/petstore/php-laravel/lib/app/Models/HealthCheckResult.php index 6117de37ec8faab0b748e79203f321922f27d348..ed344226c4324542609d71cd682b9a8eccfa2108 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/HealthCheckResult.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/HealthCheckResult.php @@ -6,10 +6,11 @@ namespace app\Models; /** * HealthCheckResult + * @description Just a string to inform instance is up and running. Make it nullable in hope to get it as pointer in generated model. */ class HealthCheckResult { - /** @var string $nullableMessage */ - private $nullableMessage; + /** @var string|null $nullableMessage */ + public $nullableMessage = null; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/InlineResponseDefault.php b/samples/server/petstore/php-laravel/lib/app/Models/InlineResponseDefault.php index 492517d312a67e98a91d1ce178a6cab137d42b29..b9bfae57b0d8327802d7fe44d564b3f5ad899c89 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/InlineResponseDefault.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/InlineResponseDefault.php @@ -10,6 +10,6 @@ namespace app\Models; class InlineResponseDefault { /** @var \app\Models\Foo $string */ - private $string; + public $string; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/MapTest.php b/samples/server/petstore/php-laravel/lib/app/Models/MapTest.php index 4da0831f2b2b5ff704f47f018452a7a2b663bd06..0db48d078380b202d0fb633faeb9846d73474333 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/MapTest.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/MapTest.php @@ -10,15 +10,15 @@ namespace app\Models; class MapTest { /** @var array<string,array<string,string>> $mapMapOfString */ - private $mapMapOfString; + public $mapMapOfString; /** @var array<string,string> $mapOfEnumString */ - private $mapOfEnumString; + public $mapOfEnumString; /** @var array<string,bool> $directMap */ - private $directMap; + public $directMap; /** @var array<string,bool> $indirectMap */ - private $indirectMap; + public $indirectMap; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/MixedPropertiesAndAdditionalPropertiesClass.php b/samples/server/petstore/php-laravel/lib/app/Models/MixedPropertiesAndAdditionalPropertiesClass.php index 6e60f59408c5d30a3aa401f243917204896a5714..fdef699e28d9a51d2628e0aca917bc6d80a844b8 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/MixedPropertiesAndAdditionalPropertiesClass.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/MixedPropertiesAndAdditionalPropertiesClass.php @@ -10,12 +10,12 @@ namespace app\Models; class MixedPropertiesAndAdditionalPropertiesClass { /** @var string $uuid */ - private $uuid; + public $uuid = ""; /** @var \DateTime $dateTime */ - private $dateTime; + public $dateTime; /** @var array<string,\app\Models\Animal> $map */ - private $map; + public $map; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/Model200Response.php b/samples/server/petstore/php-laravel/lib/app/Models/Model200Response.php index a5c928983b6c72749087f6005ef015365dd28dd0..8cce1700b2d39c70e44b91b66c3c3ba64eae58bf 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/Model200Response.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/Model200Response.php @@ -6,13 +6,14 @@ namespace app\Models; /** * Model200Response + * @description Model for testing model name starting with number */ class Model200Response { /** @var int $name */ - private $name; + public $name = 0; /** @var string $class */ - private $class; + public $class = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/ModelList.php b/samples/server/petstore/php-laravel/lib/app/Models/ModelList.php index fe53b6dc79e74abd63e4903c773141493a3918d5..7b7e554f257407c3028065ea3adb2fae8f8589f7 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/ModelList.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/ModelList.php @@ -10,6 +10,6 @@ namespace app\Models; class ModelList { /** @var string $_123list */ - private $_123list; + public $_123list = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/ModelReturn.php b/samples/server/petstore/php-laravel/lib/app/Models/ModelReturn.php index e8d9d76df4fa24e374df551be015000fc9cf9b85..af5746619e5d6c181a0be6a5bb8ea23e0f398577 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/ModelReturn.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/ModelReturn.php @@ -6,10 +6,11 @@ namespace app\Models; /** * ModelReturn + * @description Model for testing reserved words */ class ModelReturn { /** @var int $return */ - private $return; + public $return = 0; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/Name.php b/samples/server/petstore/php-laravel/lib/app/Models/Name.php index 5cb44dc7fbee732978410c7e4939490640e9f040..7024516636ecb95e42c6ed06b8c60be6553966e3 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/Name.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/Name.php @@ -6,19 +6,20 @@ namespace app\Models; /** * Name + * @description Model for testing model name same as property name */ class Name { /** @var int $name */ - private $name; + public $name = 0; /** @var int $snakeCase */ - private $snakeCase; + public $snakeCase = 0; /** @var string $property */ - private $property; + public $property = ""; /** @var int $_123number */ - private $_123number; + public $_123number = 0; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/NullableClass.php b/samples/server/petstore/php-laravel/lib/app/Models/NullableClass.php index 49079451568a1080c1b882fbb2eb2de50bc8c52e..ddae5194493b158e355d3cda31679404ebf8d8bd 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/NullableClass.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/NullableClass.php @@ -9,40 +9,40 @@ namespace app\Models; */ class NullableClass { - /** @var int $integerProp */ - private $integerProp; + /** @var int|null $integerProp */ + public $integerProp = null; - /** @var float $numberProp */ - private $numberProp; + /** @var float|null $numberProp */ + public $numberProp = null; - /** @var bool $booleanProp */ - private $booleanProp; + /** @var bool|null $booleanProp */ + public $booleanProp = null; - /** @var string $stringProp */ - private $stringProp; + /** @var string|null $stringProp */ + public $stringProp = null; - /** @var \DateTime $dateProp */ - private $dateProp; + /** @var \DateTime|null $dateProp */ + public $dateProp = null; - /** @var \DateTime $datetimeProp */ - private $datetimeProp; + /** @var \DateTime|null $datetimeProp */ + public $datetimeProp = null; - /** @var object[] $arrayNullableProp */ - private $arrayNullableProp; + /** @var object[]|null $arrayNullableProp */ + public $arrayNullableProp = null; - /** @var object[] $arrayAndItemsNullableProp */ - private $arrayAndItemsNullableProp; + /** @var object[]|null $arrayAndItemsNullableProp */ + public $arrayAndItemsNullableProp = null; /** @var object[] $arrayItemsNullable */ - private $arrayItemsNullable; + public $arrayItemsNullable = []; - /** @var array<string,object> $objectNullableProp */ - private $objectNullableProp; + /** @var array<string,object>|null $objectNullableProp */ + public $objectNullableProp = null; - /** @var array<string,object> $objectAndItemsNullableProp */ - private $objectAndItemsNullableProp; + /** @var array<string,object>|null $objectAndItemsNullableProp */ + public $objectAndItemsNullableProp = null; /** @var array<string,object> $objectItemsNullable */ - private $objectItemsNullable; + public $objectItemsNullable; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/NumberOnly.php b/samples/server/petstore/php-laravel/lib/app/Models/NumberOnly.php index 08b7fdcce6d042fa6ad2cc6bcba046e722eaa51c..8b6f6d27c1ac243a5a8d76591786269e939c3ed1 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/NumberOnly.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/NumberOnly.php @@ -10,6 +10,6 @@ namespace app\Models; class NumberOnly { /** @var float $justNumber */ - private $justNumber; + public $justNumber = 0; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/ObjectWithDeprecatedFields.php b/samples/server/petstore/php-laravel/lib/app/Models/ObjectWithDeprecatedFields.php index 47b30e1579a6997f23da0192a4c1f4d1bd4def5f..1db69d23d8d8d8b907cbf63da0cc1bf506306738 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/ObjectWithDeprecatedFields.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/ObjectWithDeprecatedFields.php @@ -10,18 +10,18 @@ namespace app\Models; class ObjectWithDeprecatedFields { /** @var string $uuid */ - private $uuid; + public $uuid = ""; /** @var float $id */ /** @deprecated */ - private $id; + public $id = 0; /** @var \app\Models\DeprecatedObject $deprecatedRef */ /** @deprecated */ - private $deprecatedRef; + public $deprecatedRef; /** @var string[] $bars */ /** @deprecated */ - private $bars; + public $bars = []; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/Order.php b/samples/server/petstore/php-laravel/lib/app/Models/Order.php index c6c557095f2c1e45fe037ef6f51bed6bf7dca7e1..7a064af737c74dba13ca69276ab12dec3fc0532c 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/Order.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/Order.php @@ -10,21 +10,21 @@ namespace app\Models; class Order { /** @var int $id */ - private $id; + public $id = 0; /** @var int $petId */ - private $petId; + public $petId = 0; /** @var int $quantity */ - private $quantity; + public $quantity = 0; /** @var \DateTime $shipDate */ - private $shipDate; + public $shipDate; /** @var string $status Order Status*/ - private $status; + public $status = ""; /** @var bool $complete */ - private $complete; + public $complete = false; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/OuterComposite.php b/samples/server/petstore/php-laravel/lib/app/Models/OuterComposite.php index a4872293639abbe2c92194e0c69dc1d8c8cfefa1..66c8ae3048b081439b6460454ff1361478ee3565 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/OuterComposite.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/OuterComposite.php @@ -10,12 +10,12 @@ namespace app\Models; class OuterComposite { /** @var float $myNumber */ - private $myNumber; + public $myNumber = 0; /** @var string $myString */ - private $myString; + public $myString = ""; /** @var bool $myBoolean */ - private $myBoolean; + public $myBoolean = false; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/OuterEnum.php b/samples/server/petstore/php-laravel/lib/app/Models/OuterEnum.php index b432df169d5985210b88b2d1f7f3f9129c6654b3..7b03d248858b05e2a8135cf0c0d161eede6f67e5 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/OuterEnum.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/OuterEnum.php @@ -7,6 +7,27 @@ namespace app\Models; /** * OuterEnum */ -class OuterEnum { +class OuterEnum +{ + /** + * Possible values of this enum + */ + const PLACED = 'placed'; + const APPROVED = 'approved'; + + const DELIVERED = 'delivered'; + + /** + * Gets allowable values of the enum + * @return string[] + */ + public static function getAllowableEnumValues() + { + return [ + self::PLACED, + self::APPROVED, + self::DELIVERED + ]; + } } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/OuterEnumDefaultValue.php b/samples/server/petstore/php-laravel/lib/app/Models/OuterEnumDefaultValue.php index 079fe7847902d7e008e24c93a02dc10274380d0c..f87bd723df5073e97d8e703f8499228e548ec95e 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/OuterEnumDefaultValue.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/OuterEnumDefaultValue.php @@ -7,6 +7,27 @@ namespace app\Models; /** * OuterEnumDefaultValue */ -class OuterEnumDefaultValue { +class OuterEnumDefaultValue +{ + /** + * Possible values of this enum + */ + const PLACED = 'placed'; + const APPROVED = 'approved'; + + const DELIVERED = 'delivered'; + + /** + * Gets allowable values of the enum + * @return string[] + */ + public static function getAllowableEnumValues() + { + return [ + self::PLACED, + self::APPROVED, + self::DELIVERED + ]; + } } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/OuterEnumInteger.php b/samples/server/petstore/php-laravel/lib/app/Models/OuterEnumInteger.php index 848b9a89f3f25502086953a96719c90633339a08..fdf2e5a34234775a3aa5130a06de89536cf902f5 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/OuterEnumInteger.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/OuterEnumInteger.php @@ -7,6 +7,27 @@ namespace app\Models; /** * OuterEnumInteger */ -class OuterEnumInteger { +class OuterEnumInteger +{ + /** + * Possible values of this enum + */ + const NUMBER_0 = 0; + const NUMBER_1 = 1; + + const NUMBER_2 = 2; + + /** + * Gets allowable values of the enum + * @return string[] + */ + public static function getAllowableEnumValues() + { + return [ + self::NUMBER_0, + self::NUMBER_1, + self::NUMBER_2 + ]; + } } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/OuterEnumIntegerDefaultValue.php b/samples/server/petstore/php-laravel/lib/app/Models/OuterEnumIntegerDefaultValue.php index 93c9f08672e4d805d49391bcf543c91712c78ca7..926c7f65c13f703872960113d5e6979b1d71a693 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/OuterEnumIntegerDefaultValue.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/OuterEnumIntegerDefaultValue.php @@ -7,6 +7,27 @@ namespace app\Models; /** * OuterEnumIntegerDefaultValue */ -class OuterEnumIntegerDefaultValue { +class OuterEnumIntegerDefaultValue +{ + /** + * Possible values of this enum + */ + const NUMBER_0 = 0; + const NUMBER_1 = 1; + + const NUMBER_2 = 2; + + /** + * Gets allowable values of the enum + * @return string[] + */ + public static function getAllowableEnumValues() + { + return [ + self::NUMBER_0, + self::NUMBER_1, + self::NUMBER_2 + ]; + } } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/OuterObjectWithEnumProperty.php b/samples/server/petstore/php-laravel/lib/app/Models/OuterObjectWithEnumProperty.php index b2bd8d779644e025a3b00a03993b847287b995ff..0d090f09dd800023f8af90c9cc4121f4ad14af6f 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/OuterObjectWithEnumProperty.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/OuterObjectWithEnumProperty.php @@ -9,7 +9,7 @@ namespace app\Models; */ class OuterObjectWithEnumProperty { - /** @var \app\Models\OuterEnumInteger $value */ - private $value; + /** @var int $value */ + public $value = \app\Models\OuterEnumInteger::NUMBER_0; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/Pet.php b/samples/server/petstore/php-laravel/lib/app/Models/Pet.php index ae8fd93efc6698a4c0513079b18bfc2a80e10e55..96c232377548b13031715629b84c30ebfb15ded3 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/Pet.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/Pet.php @@ -10,21 +10,21 @@ namespace app\Models; class Pet { /** @var int $id */ - private $id; + public $id = 0; /** @var \app\Models\Category $category */ - private $category; + public $category; /** @var string $name */ - private $name; + public $name = ""; /** @var string[] $photoUrls */ - private $photoUrls; + public $photoUrls = []; /** @var \app\Models\Tag[] $tags */ - private $tags; + public $tags = []; /** @var string $status pet status in the store*/ - private $status; + public $status = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/ReadOnlyFirst.php b/samples/server/petstore/php-laravel/lib/app/Models/ReadOnlyFirst.php index e914f1ff0085a086bf93463ab1312107a3268a81..04a23e104f51b10071f218c5883abc114d071297 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/ReadOnlyFirst.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/ReadOnlyFirst.php @@ -10,9 +10,9 @@ namespace app\Models; class ReadOnlyFirst { /** @var string $bar */ - private $bar; + public $bar = ""; /** @var string $baz */ - private $baz; + public $baz = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/SpecialModelName.php b/samples/server/petstore/php-laravel/lib/app/Models/SpecialModelName.php index 6ea1fd10ebb495027521e4e386d806ec6676733f..2e9c108eaa8224f83c1b7405e110e2d41e13d388 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/SpecialModelName.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/SpecialModelName.php @@ -10,6 +10,6 @@ namespace app\Models; class SpecialModelName { /** @var int $specialPropertyName */ - private $specialPropertyName; + public $specialPropertyName = 0; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/Tag.php b/samples/server/petstore/php-laravel/lib/app/Models/Tag.php index fb8469f95615db9ecf6f4fe62f141f8fb9556676..d260b2982a79e3603df2f652efbca5fec671a61c 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/Tag.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/Tag.php @@ -10,9 +10,9 @@ namespace app\Models; class Tag { /** @var int $id */ - private $id; + public $id = 0; /** @var string $name */ - private $name; + public $name = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/User.php b/samples/server/petstore/php-laravel/lib/app/Models/User.php index 3688537ba8c8356aba90f0a7738b7a78104c5536..a80c8bd77c4c3a69c192a6cd73dfd0f09c573181 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/User.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/User.php @@ -10,27 +10,27 @@ namespace app\Models; class User { /** @var int $id */ - private $id; + public $id = 0; /** @var string $username */ - private $username; + public $username = ""; /** @var string $firstName */ - private $firstName; + public $firstName = ""; /** @var string $lastName */ - private $lastName; + public $lastName = ""; /** @var string $email */ - private $email; + public $email = ""; /** @var string $password */ - private $password; + public $password = ""; /** @var string $phone */ - private $phone; + public $phone = ""; /** @var int $userStatus User Status*/ - private $userStatus; + public $userStatus = 0; }