diff --git a/boat-scaffold/src/main/templates/boat-swift5/Podspec.mustache b/boat-scaffold/src/main/templates/boat-swift5/Podspec.mustache index e5adfc9b9..487d1fc2d 100644 --- a/boat-scaffold/src/main/templates/boat-swift5/Podspec.mustache +++ b/boat-scaffold/src/main/templates/boat-swift5/Podspec.mustache @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = '{{projectName}}' s.version = '{{podVersion}}'{{#projectDescription}} - s.summary = '{{projectDescription}}'{{/projectDescription}}{{#podDescription}} + s.summary = '{{projectDescription}}. API Spec Version: {{appVersion}}'{{/projectDescription}}{{#podDescription}} s.description = '{{podDescription}}'{{/podDescription}} s.license = '{{#podLicense}}{{& podLicense}}{{/podLicense}}'{{^podLicense}}'Proprietary'{{/podLicense}} s.homepage = '{{podHomepage}}{{^podHomepage}}https://github.com/Backbase/backbase-openapi-tools{{/podHomepage}}'{{#podAuthors}} diff --git a/boat-scaffold/src/main/templates/boat-swift5/api.mustache b/boat-scaffold/src/main/templates/boat-swift5/api.mustache index 219741eba..dd356852b 100644 --- a/boat-scaffold/src/main/templates/boat-swift5/api.mustache +++ b/boat-scaffold/src/main/templates/boat-swift5/api.mustache @@ -18,35 +18,6 @@ extension {{moduleName}}Client { /// {{classname}} protocol defines a blueprint of methods, properties, and other requirements for {{classname}} functionality. {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} protocol {{classname}}Protocol { {{#operation}} - - {{#hasParams}} - /** - {{#summary}} - {{{summary}}} - {{/summary}} - - {{httpMethod}} {{{path}}}{{#notes}} - - {{{notes}}}{{/notes}}{{#subresourceOperation}} - - subresourceOperation: {{subresourceOperation}}{{/subresourceOperation}}{{#defaultResponse}} - - defaultResponse: {{defaultResponse}}{{/defaultResponse}} - {{#authMethods}} - - {{#isBasic}}BASIC{{/isBasic}}{{#isOAuth}}OAuth{{/isOAuth}}{{#isApiKey}}API Key{{/isApiKey}}: - - type: {{type}}{{#keyParamName}} {{keyParamName}} {{#isKeyInQuery}}(QUERY){{/isKeyInQuery}}{{#isKeyInHeaer}}(HEADER){{/isKeyInHeaer}}{{/keyParamName}} - - name: {{name}} - {{/authMethods}} - {{#hasResponseHeaders}} - - responseHeaders: [{{#responseHeaders}}{{{baseName}}}({{{dataType}}}){{^-last}}, {{/-last}}{{/responseHeaders}}] - {{/hasResponseHeaders}} - {{#externalDocs}} - - externalDocs: {{externalDocs}} - {{/externalDocs}} - {{#allParams}} - - parameter {{paramName}}: ({{#isFormParam}}form{{/isFormParam}}{{#isQueryParam}}query{{/isQueryParam}}{{#isPathParam}}path{{/isPathParam}}{{#isHeaderParam}}header{{/isHeaderParam}}{{#isBodyParam}}body{{/isBodyParam}}) {{description}} {{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}} - {{/allParams}} - - returns: Call<{{#returnType}}{{#isResponseFile}}Data{{/isResponseFile}}{{^isResponseFile}}{{{returnType}}}{{/isResponseFile}}{{/returnType}}{{^returnType}}NoResponse{{/returnType}}> {{description}} - */ - @available(*, deprecated, message: "This method is deprecated in favor of the alternative method with {{classname}}.{{operationIdCamelCase}}RequestParams class.") - func {{operationId}}Call({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}{{{dataType}}}{{/isContainer}}{{^isContainer}}{{classname}}.{{{datatypeWithEnum}}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}?{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) throws -> Call<{{#returnType}}{{#isResponseFile}}Data{{/isResponseFile}}{{^isResponseFile}}{{{returnType}}}{{/isResponseFile}}{{/returnType}}{{^returnType}}NoResponse{{/returnType}}> - {{/hasParams}} /** {{#summary}} @@ -218,82 +189,7 @@ extension {{moduleName}}Client { } } {{/useResult}} - {{#hasParams}} - /** - {{#summary}} - {{{summary}}} - {{/summary}} - - {{httpMethod}} {{{path}}}{{#notes}} - - {{{notes}}}{{/notes}}{{#subresourceOperation}} - - subresourceOperation: {{subresourceOperation}}{{/subresourceOperation}}{{#defaultResponse}} - - defaultResponse: {{defaultResponse}}{{/defaultResponse}} - {{#authMethods}} - - {{#isBasic}}BASIC{{/isBasic}}{{#isOAuth}}OAuth{{/isOAuth}}{{#isApiKey}}API Key{{/isApiKey}}: - - type: {{type}}{{#keyParamName}} {{keyParamName}} {{#isKeyInQuery}}(QUERY){{/isKeyInQuery}}{{#isKeyInHeaer}}(HEADER){{/isKeyInHeaer}}{{/keyParamName}} - - name: {{name}} - {{/authMethods}} - {{#hasResponseHeaders}} - - responseHeaders: [{{#responseHeaders}}{{{baseName}}}({{{dataType}}}){{^-last}}, {{/-last}}{{/responseHeaders}}] - {{/hasResponseHeaders}} - {{#externalDocs}} - - externalDocs: {{externalDocs}} - {{/externalDocs}} - {{#allParams}} - - parameter {{paramName}}: ({{#isFormParam}}form{{/isFormParam}}{{#isQueryParam}}query{{/isQueryParam}}{{#isPathParam}}path{{/isPathParam}}{{#isHeaderParam}}header{{/isHeaderParam}}{{#isBodyParam}}body{{/isBodyParam}}) {{description}} {{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}} - {{/allParams}} - - returns: Call<{{#returnType}}{{#isResponseFile}}Data{{/isResponseFile}}{{^isResponseFile}}{{{returnType}}}{{/isResponseFile}}{{/returnType}}{{^returnType}}NoResponse{{/returnType}}> {{description}} - */ - @available(*, deprecated, message: "This method is deprecated in favor of the alternative method with {{classname}}.{{operationIdCamelCase}}RequestParams class.") - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} func {{operationId}}Call({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}{{{dataType}}}{{/isContainer}}{{^isContainer}}{{{datatypeWithEnum}}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) throws -> Call<{{#returnType}}{{#isResponseFile}}Data{{/isResponseFile}}{{^isResponseFile}}{{{returnType}}}{{/isResponseFile}}{{/returnType}}{{^returnType}}NoResponse{{/returnType}}> { - guard let dataProvider = dataProvider else { throw CallError.missingDataProvider } - {{^pathParams}}let{{/pathParams}}{{#pathParams}}{{#-first}}var{{/-first}}{{/pathParams}} path = "{{{path}}}"{{#pathParams}} - let {{paramName}}PathItem = "\({{#isEnum}}{{paramName}}{{#isContainer}}{{{dataType}}}{{/isContainer}}{{^isContainer}}.rawValue{{/isContainer}}{{/isEnum}}{{^isEnum}}APIHelper.mapValueToPathItem({{paramName}}){{/isEnum}})" - path = path.replacingOccurrences(of: "{{=<% %>=}}{<%baseName%>}<%={{ }}=%>", with: {{paramName}}PathItem, options: .literal, range: nil){{/pathParams}} - {{#pathParams}}{{#-first}}path = path.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? ""{{/-first}}{{/pathParams}} - {{#bodyParam}} - let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: {{paramName}}) - {{/bodyParam}} - {{^bodyParam}} - {{#hasFormParams}} - let formParams: [String: Any?] = [ - {{#formParams}} - {{#isModel}} - "{{paramName}}": JSONEncodingHelper.encodingParameters(forEncodableObject: {{paramName}}){{^-last}}, {{/-last}} - {{/isModel}} - {{^isModel}} - {{> _param_deprecated}}{{^-last}}, {{/-last}} - {{/isModel}} - {{/formParams}} - ] - - let nonNullParameters = APIHelper.rejectNil(formParams) - let parameters = APIHelper.convertBoolToString(nonNullParameters) - {{/hasFormParams}} - {{^hasFormParams}} - let parameters: [String: Any]? = nil - {{/hasFormParams}} - {{/bodyParam}}{{#hasQueryParams}} - let queryParameters: [String: Any?] = [ - {{#queryParams}} - {{> _param_deprecated}}{{^-last}}, {{/-last}} - {{/queryParams}} - ]{{/hasQueryParams}} - let urlComponents = URLComponents(url: baseURL.appendingPathComponent(path), resolvingAgainstBaseURL: false){{#headerParams}}{{#-first}} - let nillableHeaders: [String: Any?] = [{{/-first}} - {{> _param_deprecated}}{{^-last}}, {{/-last}}{{#-last}} - ] - let headerParameters = APIHelper.rejectNilHeaders(nillableHeaders){{/-last}}{{/headerParams}} - guard let url = urlComponents?.url else { throw CallError.invalidUrl } - let request = try ClientCommonGen2.RequestBuilder.createURLRequest(requestUrl: url, - method: "{{httpMethod}}", - queryParameters: {{#hasQueryParams}}queryParameters.compactMapValues({ $0 }){{/hasQueryParams}}{{^hasQueryParams}}nil{{/hasQueryParams}}, - bodyParameters: parameters, - bodyType: {{#hasBodyParam}}{{^isMultipart}}.json{{/isMultipart}}{{/hasBodyParam}}{{^hasBodyParam}}{{#isMultipart}}.multipartForm{{/isMultipart}}{{/hasBodyParam}}{{^hasBodyParam}}{{^isMultipart}}.none{{/isMultipart}}{{/hasBodyParam}}{{#headerParams}}{{#-first}}, - headers: headerParameters{{/-first}}{{/headerParams}}) - return Call<{{#returnType}}{{#isResponseFile}}Data{{/isResponseFile}}{{^isResponseFile}}{{{returnType}}}{{/isResponseFile}}{{/returnType}}{{^returnType}}NoResponse{{/returnType}}>(dataProvider: dataProvider, request: request) - } - {{/hasParams}} - + /** {{#summary}} {{{summary}}}