* fix compilation error in eclipse
by updating package declarations in moved files
(eclipse validates that package and folder names match)
* permit specifying the full angular version
simplifying the templates by moving trivial case splits to the model
* remove dead code
this method is never called ...
* support HttpClient in addition to Http, clean up generated code
Fixes#6080
* added new sample, and regenerated existing samples
* updated samples
this time with the freshly build generator ...
* improve formatting
* updated samples
* fix compilation error in generated code
the overload for blobs does not have a type parameter
* added the first test for the utils package
* fix extra trainling commas in function argument lists
* regenerated samples
* Adding support for non dictionary body types.
* Adding test for rest of the swift3 types
* Cleaning up implementation of makeRequest and adding better error handling.
* Adding ClientError for error produced before request is sent.
* Changing how encoding of body data is handled.
* Cleaning up code that was modified.
A previous change to make the regex a variable to allow proper linting
resulted in the regexp not having access to the value associated with
the variable and the path variable not being replaced.
Moves the regexp variable inside the for loop to allow the value to be
used and the path variable to be replaced with the provided value.
* Fix dependencies and generate model classes
* Better elixir client generation.
Responses are parsed and serialized by Poison into the model structs.
Use shared helper functions to generate the request.
Extract client connection configuration from api calls.
Elixir client can sanitize the operationId
Correctly output the model variables. Fix typos
Fix path replacement when there are multiple replacements
Cannot separate globally shared parameters from operations
Error handling for the tesla response
update templates
Can generate clients that compile
Can make requests - parse optional params, build query
Add oauth to connection. Fix connection directory
Add basic auth helper for creating a connection
Fix map types. Fix guard clauses for creaing connections
Add licenceInfo template. Parse config for moduleName via standard invokerPackage option
Can provide and inject a license header into all source files
fix location of connection.ex
Move shared code into reusable modules
Elixir filenames should be underscored
Fix visibility of helper functions
Parse the packageName from config options
Handle date and datetime fields with DateTime.from_iso8601
Fix indentation
Update documentation, add typespecs
Generate a standard elixir .gitignore
typespec is calculated recursively in java
Use the JSON middleware and using Poison.Decoder.decode on already parsed structs
move decoded struct into java
Fix handling of non-json responses
Switch basic auth to use the provided Tesla.Middleware.BasicAuth
Update README template to include the appDescription
Update sample elixir client
remove junk client models that don't belong with petstore
Only implement Poison.Decoder protocol if needed
Update samples with skipped Poison.Deocder impl
* Handle multipart file uploads
Handle building form params in the body
Files are handled as strings for input
* Requests with no defined return type will return the Tesla.Env response
* Run the bin/elixir-petstore.sh
* * Fix bugs in api.mustache, model.mustache, mostly bracket errors or small typos
* Added section about installation in README.mustace
TODO: fix tests in testthat
TODO: fix bug in description.mustace regarding package name
* Updates to sample for R client caused by running ./bin/r-petstore.sh (or .\bin\windows\r-petstore.bat)
* Add R specific files to .gitignore
* [R] add additional files generated by the petstore sample. (see #6520)
The only special handling was for security definition type `apiKey`
in `query`. All the other security configurations should result in the
same generated code.
Moves the handling of the special query parameters outside of the
`parameters without specific cardinality` section.
To cover the scenario where `elif` was being used, simply leverage the
builtin `continue` statement to stop processing the specific query
parameter and continue to the next available query parameter, if any.
Manually test with multiple different combinations.
Resolves: #6526
* Update samples
./bin/php-petstore.sh
* Remove unnecessary implements entry
ModelInterface, ArrayAccess are already implemented in parent
* Remove field `container` which is already defined in parent
* Change snake case to lower camel case
- invalid_properties
- allowed_values
* Improve doc commenct style
* Improve description length
* Improve length
* Doc comment short description must start with a capital letter
* Add a line between @param and @return
* Delete an additinal blank line at end of doc comment
* Udpate petstore-security-test
* upgraded zend-expressive from version 1 to 2
* Changed error handler for compatibility with Zend Expressive 2
* generated newest sample files for Petstore ze-ph
* removed ErrorMiddleware because it is never been used anymore. Regenerated samples
* removed ErrorMiddleware Template from Codegen
* remove ErrorMiddleware from petstore sample
* Fixed some code styles
* regenerated ze-ph samples with corrected code styles
* added new line at the end of the file
* [QT5][CPP] Fixing issue with maps in models
- Adjusted init function to init map correctly
- Adjusted cleanup function to cleanup maps correctly
* Fixed formatting for samples
Previously, we had implemented the Codable protocol by simply claiming conformance, and making sure that each of our internal classes also implemented the Codable protocol. So our model classes looked like:
class MyModel: Codable {
var propInt: Int
var propString: String
}
class MyOtherModel: Codable {
var propModel: MyModel
}
Previously, our additionalProperties implementation would have meant an object schema with an additionalProperties of Int type would have looked like:
class MyModelWithAdditionalProperties: Codable {
var additionalProperties: [String: Int]
}
But the default implementation of Codable would have serialized MyModelWithAdditionalProperties like this:
{
"additionalProperties": {
"myInt1": 1,
"myInt2": 2,
"myInt3": 3
}
}
The default implementation would put the additionalProperties in its own dictionary (which would be incorrect), as opposed to the desired serialization of:
{
"myInt1": 1,
"myInt2": 2,
"myInt3": 3
}
So therefore, the only way to support this was to do our own implementation of the Codable protocol. The Codable protocol is actually two protocols: Encodable and Decodable.
So therefore, this change generates implementations of Encodable and Decodable for each generated model class. So the new generated classes look like:
class MyModel: Codable {
var propInt: Int
var propString: String
// Encodable protocol methods
public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: String.self)
try container.encode(propInt, forKey: "propInt")
try container.encode(propString, forKey: "propString")
}
// Decodable protocol methods
public required init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: String.self)
propInt = try container.decode(Int.self, forKey: "propInt")
propString = try container.decode(String.self, forKey: "propString")
}
}
class MyOtherModel: Codable {
var propModel: MyModel
// Encodable protocol methods
public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: String.self)
try container.encode(propModel, forKey: "propModel")
}
// Decodable protocol methods
public required init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: String.self)
propModel = try container.decode(MyModel.self, forKey: "propModel")
}
}
This is the equivalent change in the swift4 module which was made in the swift3 module in this PR:
https://github.com/swagger-api/swagger-codegen/pull/6274
This updates AlamofireImplementations.mustache to handle when the response is an URL. It also makes changes in the generated sample code for:
* default configuration (no promisekit or rxswift)
* promisekit
* rxswift
Also, in order to build, the generated code needed to be updated with the change in CodableHelper which changes dataDecodingStrategy to ".base64" from its previous definition in earlier Xcode 9 betas.
*