forked from loafle/openapi-generator-original
[GO] Go Server: preserve order of the routes as defined in the OpenAPI file (#19550)
* Add skipSortingOperations configuration option * Skip sorting operations for go-server * Add test verifyOrder * Regenerate samples
This commit is contained in:
parent
2f179fe41d
commit
243f501aef
@ -256,6 +256,10 @@ public interface CodegenConfig {
|
|||||||
|
|
||||||
void setSkipOperationExample(boolean skipOperationExample);
|
void setSkipOperationExample(boolean skipOperationExample);
|
||||||
|
|
||||||
|
boolean isSkipSortingOperations();
|
||||||
|
|
||||||
|
void setSkipSortingOperations(boolean skipSortingOperations);
|
||||||
|
|
||||||
public boolean isHideGenerationTimestamp();
|
public boolean isHideGenerationTimestamp();
|
||||||
|
|
||||||
public void setHideGenerationTimestamp(boolean hideGenerationTimestamp);
|
public void setHideGenerationTimestamp(boolean hideGenerationTimestamp);
|
||||||
|
@ -224,6 +224,8 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
@Getter @Setter
|
@Getter @Setter
|
||||||
protected int removeOperationIdPrefixCount = 1;
|
protected int removeOperationIdPrefixCount = 1;
|
||||||
protected boolean skipOperationExample;
|
protected boolean skipOperationExample;
|
||||||
|
// sort operations by default
|
||||||
|
protected boolean skipSortingOperations = false;
|
||||||
|
|
||||||
protected final static Pattern XML_MIME_PATTERN = Pattern.compile("(?i)application\\/(.*)[+]?xml(;.*)?");
|
protected final static Pattern XML_MIME_PATTERN = Pattern.compile("(?i)application\\/(.*)[+]?xml(;.*)?");
|
||||||
protected final static Pattern JSON_MIME_PATTERN = Pattern.compile("(?i)application\\/json(;.*)?");
|
protected final static Pattern JSON_MIME_PATTERN = Pattern.compile("(?i)application\\/json(;.*)?");
|
||||||
@ -6154,6 +6156,16 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
this.skipOperationExample = skipOperationExample;
|
this.skipOperationExample = skipOperationExample;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isSkipSortingOperations() {
|
||||||
|
return this.skipSortingOperations;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setSkipSortingOperations(boolean skipSortingOperations) {
|
||||||
|
this.skipSortingOperations = skipSortingOperations;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isHideGenerationTimestamp() {
|
public boolean isHideGenerationTimestamp() {
|
||||||
return hideGenerationTimestamp;
|
return hideGenerationTimestamp;
|
||||||
|
@ -121,6 +121,7 @@ public class DefaultGenerator implements Generator {
|
|||||||
this.opts = opts;
|
this.opts = opts;
|
||||||
this.openAPI = opts.getOpenAPI();
|
this.openAPI = opts.getOpenAPI();
|
||||||
this.config = opts.getConfig();
|
this.config = opts.getConfig();
|
||||||
|
|
||||||
List<TemplateDefinition> userFiles = opts.getUserDefinedTemplates();
|
List<TemplateDefinition> userFiles = opts.getUserDefinedTemplates();
|
||||||
if (userFiles != null) {
|
if (userFiles != null) {
|
||||||
this.userDefinedTemplates = Collections.unmodifiableList(userFiles);
|
this.userDefinedTemplates = Collections.unmodifiableList(userFiles);
|
||||||
@ -680,7 +681,10 @@ public class DefaultGenerator implements Generator {
|
|||||||
for (String tag : paths.keySet()) {
|
for (String tag : paths.keySet()) {
|
||||||
try {
|
try {
|
||||||
List<CodegenOperation> ops = paths.get(tag);
|
List<CodegenOperation> ops = paths.get(tag);
|
||||||
ops.sort((one, another) -> ObjectUtils.compare(one.operationId, another.operationId));
|
if(!this.config.isSkipSortingOperations()) {
|
||||||
|
// sort operations by operationId
|
||||||
|
ops.sort((one, another) -> ObjectUtils.compare(one.operationId, another.operationId));
|
||||||
|
}
|
||||||
OperationsMap operation = processOperations(config, tag, ops, allModels);
|
OperationsMap operation = processOperations(config, tag, ops, allModels);
|
||||||
URL url = URLPathUtils.getServerURL(openAPI, config.serverVariableOverrides());
|
URL url = URLPathUtils.getServerURL(openAPI, config.serverVariableOverrides());
|
||||||
operation.put("basePath", basePath);
|
operation.put("basePath", basePath);
|
||||||
|
@ -66,6 +66,9 @@ public class GoServerCodegen extends AbstractGoCodegen {
|
|||||||
public GoServerCodegen() {
|
public GoServerCodegen() {
|
||||||
super();
|
super();
|
||||||
|
|
||||||
|
// skip sorting of operations to preserve the order found in the OpenAPI spec file
|
||||||
|
super.setSkipSortingOperations(true);
|
||||||
|
|
||||||
modifyFeatureSet(features -> features
|
modifyFeatureSet(features -> features
|
||||||
.includeDocumentationFeatures(DocumentationFeature.Readme)
|
.includeDocumentationFeatures(DocumentationFeature.Readme)
|
||||||
.wireFormatFeatures(EnumSet.of(WireFormatFeature.JSON, WireFormatFeature.XML))
|
.wireFormatFeatures(EnumSet.of(WireFormatFeature.JSON, WireFormatFeature.XML))
|
||||||
|
@ -0,0 +1,86 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2018 OpenAPI-Generator Contributors (https://openapi-generator.tech)
|
||||||
|
* Copyright 2018 SmartBear Software
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.openapitools.codegen.goserver;
|
||||||
|
|
||||||
|
import org.openapitools.codegen.DefaultGenerator;
|
||||||
|
import org.openapitools.codegen.TestUtils;
|
||||||
|
import org.openapitools.codegen.config.CodegenConfigurator;
|
||||||
|
import org.testng.Assert;
|
||||||
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Paths;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class GoServerCodegenTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void verifyGoMod() throws IOException {
|
||||||
|
File output = Files.createTempDirectory("test").toFile();
|
||||||
|
output.deleteOnExit();
|
||||||
|
|
||||||
|
final CodegenConfigurator configurator = createDefaultCodegenConfigurator(output)
|
||||||
|
.setInputSpec("src/test/resources/3_0/go-server/route-order.yaml");
|
||||||
|
|
||||||
|
DefaultGenerator generator = new DefaultGenerator();
|
||||||
|
List<File> files = generator.opts(configurator.toClientOptInput()).generate();
|
||||||
|
files.forEach(File::deleteOnExit);
|
||||||
|
|
||||||
|
TestUtils.assertFileExists(Paths.get(output + "/go.mod"));
|
||||||
|
TestUtils.assertFileContains(Paths.get(output + "/go.mod"),
|
||||||
|
"module github.com/my-user/my-repo");
|
||||||
|
TestUtils.assertFileContains(Paths.get(output + "/go.mod"),
|
||||||
|
"require github.com/gorilla/mux v1.8.0");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void verifyOrder() throws IOException {
|
||||||
|
File output = Files.createTempDirectory("test").toFile();
|
||||||
|
output.deleteOnExit();
|
||||||
|
|
||||||
|
final CodegenConfigurator configurator = createDefaultCodegenConfigurator(output)
|
||||||
|
.setInputSpec("src/test/resources/3_0/go-server/route-order.yaml");
|
||||||
|
|
||||||
|
DefaultGenerator generator = new DefaultGenerator();
|
||||||
|
List<File> files = generator.opts(configurator.toClientOptInput()).generate();
|
||||||
|
files.forEach(File::deleteOnExit);
|
||||||
|
|
||||||
|
TestUtils.assertFileExists(Paths.get(output + "/go/routers.go"));
|
||||||
|
TestUtils.assertFileContains(Paths.get(output + "/go/routers.go"),
|
||||||
|
"type Routes map[string]Route");
|
||||||
|
|
||||||
|
TestUtils.assertFileExists(Paths.get(output + "/go/api_dev.go"));
|
||||||
|
// verify /getPath/latest is first route
|
||||||
|
Assert.assertEquals(Files.readAllLines(Paths.get(output + "/go/api_dev.go")).get(52), "\t\t\"GetLatest\": Route{");
|
||||||
|
// verify /getPath/{id} is second route
|
||||||
|
Assert.assertEquals(Files.readAllLines(Paths.get(output + "/go/api_dev.go")).get(57), "\t\t\"GetById\": Route{");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private static CodegenConfigurator createDefaultCodegenConfigurator(File output) {
|
||||||
|
return new CodegenConfigurator()
|
||||||
|
.setGeneratorName("go-server")
|
||||||
|
.setGitUserId("my-user")
|
||||||
|
.setGitRepoId("my-repo")
|
||||||
|
.setPackageName("mypackage")
|
||||||
|
.setOutputDir(output.getAbsolutePath().replace("\\", "/"));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,33 @@
|
|||||||
|
openapi: 3.0.0
|
||||||
|
|
||||||
|
info:
|
||||||
|
version: 1.0.0
|
||||||
|
title: Simple no path and body param spec
|
||||||
|
|
||||||
|
paths:
|
||||||
|
/getPath/latest:
|
||||||
|
get:
|
||||||
|
tags:
|
||||||
|
- dev
|
||||||
|
summary: summary
|
||||||
|
description: description
|
||||||
|
operationId: getLatest
|
||||||
|
responses:
|
||||||
|
'204':
|
||||||
|
description: successful operation
|
||||||
|
/getPath/{id}:
|
||||||
|
get:
|
||||||
|
tags:
|
||||||
|
- dev
|
||||||
|
summary: summary
|
||||||
|
description: description
|
||||||
|
operationId: GetById
|
||||||
|
parameters:
|
||||||
|
- name: id
|
||||||
|
in: path
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
responses:
|
||||||
|
'204':
|
||||||
|
description: successful operation
|
@ -22,24 +22,24 @@ import (
|
|||||||
// The PetAPIRouter implementation should parse necessary information from the http request,
|
// The PetAPIRouter implementation should parse necessary information from the http request,
|
||||||
// pass the data to a PetAPIServicer to perform the required actions, then write the service results to the http response.
|
// pass the data to a PetAPIServicer to perform the required actions, then write the service results to the http response.
|
||||||
type PetAPIRouter interface {
|
type PetAPIRouter interface {
|
||||||
|
UpdatePet(http.ResponseWriter, *http.Request)
|
||||||
AddPet(http.ResponseWriter, *http.Request)
|
AddPet(http.ResponseWriter, *http.Request)
|
||||||
DeletePet(http.ResponseWriter, *http.Request)
|
|
||||||
FindPetsByStatus(http.ResponseWriter, *http.Request)
|
FindPetsByStatus(http.ResponseWriter, *http.Request)
|
||||||
// Deprecated
|
// Deprecated
|
||||||
FindPetsByTags(http.ResponseWriter, *http.Request)
|
FindPetsByTags(http.ResponseWriter, *http.Request)
|
||||||
GetPetById(http.ResponseWriter, *http.Request)
|
GetPetById(http.ResponseWriter, *http.Request)
|
||||||
UpdatePet(http.ResponseWriter, *http.Request)
|
|
||||||
UpdatePetWithForm(http.ResponseWriter, *http.Request)
|
UpdatePetWithForm(http.ResponseWriter, *http.Request)
|
||||||
|
DeletePet(http.ResponseWriter, *http.Request)
|
||||||
UploadFile(http.ResponseWriter, *http.Request)
|
UploadFile(http.ResponseWriter, *http.Request)
|
||||||
}
|
}
|
||||||
// StoreAPIRouter defines the required methods for binding the api requests to a responses for the StoreAPI
|
// StoreAPIRouter defines the required methods for binding the api requests to a responses for the StoreAPI
|
||||||
// The StoreAPIRouter implementation should parse necessary information from the http request,
|
// The StoreAPIRouter implementation should parse necessary information from the http request,
|
||||||
// pass the data to a StoreAPIServicer to perform the required actions, then write the service results to the http response.
|
// pass the data to a StoreAPIServicer to perform the required actions, then write the service results to the http response.
|
||||||
type StoreAPIRouter interface {
|
type StoreAPIRouter interface {
|
||||||
DeleteOrder(http.ResponseWriter, *http.Request)
|
|
||||||
GetInventory(http.ResponseWriter, *http.Request)
|
GetInventory(http.ResponseWriter, *http.Request)
|
||||||
GetOrderById(http.ResponseWriter, *http.Request)
|
|
||||||
PlaceOrder(http.ResponseWriter, *http.Request)
|
PlaceOrder(http.ResponseWriter, *http.Request)
|
||||||
|
GetOrderById(http.ResponseWriter, *http.Request)
|
||||||
|
DeleteOrder(http.ResponseWriter, *http.Request)
|
||||||
}
|
}
|
||||||
// UserAPIRouter defines the required methods for binding the api requests to a responses for the UserAPI
|
// UserAPIRouter defines the required methods for binding the api requests to a responses for the UserAPI
|
||||||
// The UserAPIRouter implementation should parse necessary information from the http request,
|
// The UserAPIRouter implementation should parse necessary information from the http request,
|
||||||
@ -48,11 +48,11 @@ type UserAPIRouter interface {
|
|||||||
CreateUser(http.ResponseWriter, *http.Request)
|
CreateUser(http.ResponseWriter, *http.Request)
|
||||||
CreateUsersWithArrayInput(http.ResponseWriter, *http.Request)
|
CreateUsersWithArrayInput(http.ResponseWriter, *http.Request)
|
||||||
CreateUsersWithListInput(http.ResponseWriter, *http.Request)
|
CreateUsersWithListInput(http.ResponseWriter, *http.Request)
|
||||||
DeleteUser(http.ResponseWriter, *http.Request)
|
|
||||||
GetUserByName(http.ResponseWriter, *http.Request)
|
|
||||||
LoginUser(http.ResponseWriter, *http.Request)
|
LoginUser(http.ResponseWriter, *http.Request)
|
||||||
LogoutUser(http.ResponseWriter, *http.Request)
|
LogoutUser(http.ResponseWriter, *http.Request)
|
||||||
|
GetUserByName(http.ResponseWriter, *http.Request)
|
||||||
UpdateUser(http.ResponseWriter, *http.Request)
|
UpdateUser(http.ResponseWriter, *http.Request)
|
||||||
|
DeleteUser(http.ResponseWriter, *http.Request)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -61,14 +61,14 @@ type UserAPIRouter interface {
|
|||||||
// while the service implementation can be ignored with the .openapi-generator-ignore file
|
// while the service implementation can be ignored with the .openapi-generator-ignore file
|
||||||
// and updated with the logic required for the API.
|
// and updated with the logic required for the API.
|
||||||
type PetAPIServicer interface {
|
type PetAPIServicer interface {
|
||||||
|
UpdatePet(context.Context, Pet) (ImplResponse, error)
|
||||||
AddPet(context.Context, Pet) (ImplResponse, error)
|
AddPet(context.Context, Pet) (ImplResponse, error)
|
||||||
DeletePet(context.Context, int64, string) (ImplResponse, error)
|
|
||||||
FindPetsByStatus(context.Context, []string) (ImplResponse, error)
|
FindPetsByStatus(context.Context, []string) (ImplResponse, error)
|
||||||
// Deprecated
|
// Deprecated
|
||||||
FindPetsByTags(context.Context, []string) (ImplResponse, error)
|
FindPetsByTags(context.Context, []string) (ImplResponse, error)
|
||||||
GetPetById(context.Context, int64) (ImplResponse, error)
|
GetPetById(context.Context, int64) (ImplResponse, error)
|
||||||
UpdatePet(context.Context, Pet) (ImplResponse, error)
|
|
||||||
UpdatePetWithForm(context.Context, int64, string, string) (ImplResponse, error)
|
UpdatePetWithForm(context.Context, int64, string, string) (ImplResponse, error)
|
||||||
|
DeletePet(context.Context, int64, string) (ImplResponse, error)
|
||||||
UploadFile(context.Context, int64, string, *os.File) (ImplResponse, error)
|
UploadFile(context.Context, int64, string, *os.File) (ImplResponse, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -78,10 +78,10 @@ type PetAPIServicer interface {
|
|||||||
// while the service implementation can be ignored with the .openapi-generator-ignore file
|
// while the service implementation can be ignored with the .openapi-generator-ignore file
|
||||||
// and updated with the logic required for the API.
|
// and updated with the logic required for the API.
|
||||||
type StoreAPIServicer interface {
|
type StoreAPIServicer interface {
|
||||||
DeleteOrder(context.Context, string) (ImplResponse, error)
|
|
||||||
GetInventory(context.Context) (ImplResponse, error)
|
GetInventory(context.Context) (ImplResponse, error)
|
||||||
GetOrderById(context.Context, int64) (ImplResponse, error)
|
|
||||||
PlaceOrder(context.Context, Order) (ImplResponse, error)
|
PlaceOrder(context.Context, Order) (ImplResponse, error)
|
||||||
|
GetOrderById(context.Context, int64) (ImplResponse, error)
|
||||||
|
DeleteOrder(context.Context, string) (ImplResponse, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -93,9 +93,9 @@ type UserAPIServicer interface {
|
|||||||
CreateUser(context.Context, User) (ImplResponse, error)
|
CreateUser(context.Context, User) (ImplResponse, error)
|
||||||
CreateUsersWithArrayInput(context.Context, []User) (ImplResponse, error)
|
CreateUsersWithArrayInput(context.Context, []User) (ImplResponse, error)
|
||||||
CreateUsersWithListInput(context.Context, []User) (ImplResponse, error)
|
CreateUsersWithListInput(context.Context, []User) (ImplResponse, error)
|
||||||
DeleteUser(context.Context, string, bool) (ImplResponse, error)
|
|
||||||
GetUserByName(context.Context, string) (ImplResponse, error)
|
|
||||||
LoginUser(context.Context, string, string, int32, int64, float32, float64, bool) (ImplResponse, error)
|
LoginUser(context.Context, string, string, int32, int64, float32, float64, bool) (ImplResponse, error)
|
||||||
LogoutUser(context.Context) (ImplResponse, error)
|
LogoutUser(context.Context) (ImplResponse, error)
|
||||||
|
GetUserByName(context.Context, string) (ImplResponse, error)
|
||||||
UpdateUser(context.Context, string, User) (ImplResponse, error)
|
UpdateUser(context.Context, string, User) (ImplResponse, error)
|
||||||
|
DeleteUser(context.Context, string, bool) (ImplResponse, error)
|
||||||
}
|
}
|
||||||
|
@ -52,16 +52,16 @@ func NewPetAPIController(s PetAPIServicer, opts ...PetAPIOption) *PetAPIControll
|
|||||||
// Routes returns all the api routes for the PetAPIController
|
// Routes returns all the api routes for the PetAPIController
|
||||||
func (c *PetAPIController) Routes() Routes {
|
func (c *PetAPIController) Routes() Routes {
|
||||||
return Routes{
|
return Routes{
|
||||||
|
"UpdatePet": Route{
|
||||||
|
strings.ToUpper("Put"),
|
||||||
|
"/v2/pet",
|
||||||
|
c.UpdatePet,
|
||||||
|
},
|
||||||
"AddPet": Route{
|
"AddPet": Route{
|
||||||
strings.ToUpper("Post"),
|
strings.ToUpper("Post"),
|
||||||
"/v2/pet",
|
"/v2/pet",
|
||||||
c.AddPet,
|
c.AddPet,
|
||||||
},
|
},
|
||||||
"DeletePet": Route{
|
|
||||||
strings.ToUpper("Delete"),
|
|
||||||
"/v2/pet/{petId}",
|
|
||||||
c.DeletePet,
|
|
||||||
},
|
|
||||||
"FindPetsByStatus": Route{
|
"FindPetsByStatus": Route{
|
||||||
strings.ToUpper("Get"),
|
strings.ToUpper("Get"),
|
||||||
"/v2/pet/findByStatus",
|
"/v2/pet/findByStatus",
|
||||||
@ -77,16 +77,16 @@ func (c *PetAPIController) Routes() Routes {
|
|||||||
"/v2/pet/{petId}",
|
"/v2/pet/{petId}",
|
||||||
c.GetPetById,
|
c.GetPetById,
|
||||||
},
|
},
|
||||||
"UpdatePet": Route{
|
|
||||||
strings.ToUpper("Put"),
|
|
||||||
"/v2/pet",
|
|
||||||
c.UpdatePet,
|
|
||||||
},
|
|
||||||
"UpdatePetWithForm": Route{
|
"UpdatePetWithForm": Route{
|
||||||
strings.ToUpper("Post"),
|
strings.ToUpper("Post"),
|
||||||
"/v2/pet/{petId}",
|
"/v2/pet/{petId}",
|
||||||
c.UpdatePetWithForm,
|
c.UpdatePetWithForm,
|
||||||
},
|
},
|
||||||
|
"DeletePet": Route{
|
||||||
|
strings.ToUpper("Delete"),
|
||||||
|
"/v2/pet/{petId}",
|
||||||
|
c.DeletePet,
|
||||||
|
},
|
||||||
"UploadFile": Route{
|
"UploadFile": Route{
|
||||||
strings.ToUpper("Post"),
|
strings.ToUpper("Post"),
|
||||||
"/v2/pet/{petId}/uploadImage",
|
"/v2/pet/{petId}/uploadImage",
|
||||||
@ -95,6 +95,33 @@ func (c *PetAPIController) Routes() Routes {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UpdatePet - Update an existing pet
|
||||||
|
func (c *PetAPIController) UpdatePet(w http.ResponseWriter, r *http.Request) {
|
||||||
|
petParam := Pet{}
|
||||||
|
d := json.NewDecoder(r.Body)
|
||||||
|
d.DisallowUnknownFields()
|
||||||
|
if err := d.Decode(&petParam); err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := AssertPetRequired(petParam); err != nil {
|
||||||
|
c.errorHandler(w, r, err, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := AssertPetConstraints(petParam); err != nil {
|
||||||
|
c.errorHandler(w, r, err, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
result, err := c.service.UpdatePet(r.Context(), petParam)
|
||||||
|
// If an error occurred, encode the error with the status code
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, err, &result)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// If no error, encode the body and the result code
|
||||||
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
|
}
|
||||||
|
|
||||||
// AddPet - Add a new pet to the store
|
// AddPet - Add a new pet to the store
|
||||||
func (c *PetAPIController) AddPet(w http.ResponseWriter, r *http.Request) {
|
func (c *PetAPIController) AddPet(w http.ResponseWriter, r *http.Request) {
|
||||||
petParam := Pet{}
|
petParam := Pet{}
|
||||||
@ -122,27 +149,6 @@ func (c *PetAPIController) AddPet(w http.ResponseWriter, r *http.Request) {
|
|||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeletePet - Deletes a pet
|
|
||||||
func (c *PetAPIController) DeletePet(w http.ResponseWriter, r *http.Request) {
|
|
||||||
petIdParam, err := parseNumericParameter[int64](
|
|
||||||
chi.URLParam(r, "petId"),
|
|
||||||
WithRequire[int64](parseInt64),
|
|
||||||
)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "petId", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
apiKeyParam := r.Header.Get("api_key")
|
|
||||||
result, err := c.service.DeletePet(r.Context(), petIdParam, apiKeyParam)
|
|
||||||
// If an error occurred, encode the error with the status code
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, err, &result)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If no error, encode the body and the result code
|
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// FindPetsByStatus - Finds Pets by status
|
// FindPetsByStatus - Finds Pets by status
|
||||||
func (c *PetAPIController) FindPetsByStatus(w http.ResponseWriter, r *http.Request) {
|
func (c *PetAPIController) FindPetsByStatus(w http.ResponseWriter, r *http.Request) {
|
||||||
query, err := parseQuery(r.URL.RawQuery)
|
query, err := parseQuery(r.URL.RawQuery)
|
||||||
@ -206,33 +212,6 @@ func (c *PetAPIController) GetPetById(w http.ResponseWriter, r *http.Request) {
|
|||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
// UpdatePet - Update an existing pet
|
|
||||||
func (c *PetAPIController) UpdatePet(w http.ResponseWriter, r *http.Request) {
|
|
||||||
petParam := Pet{}
|
|
||||||
d := json.NewDecoder(r.Body)
|
|
||||||
d.DisallowUnknownFields()
|
|
||||||
if err := d.Decode(&petParam); err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if err := AssertPetRequired(petParam); err != nil {
|
|
||||||
c.errorHandler(w, r, err, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if err := AssertPetConstraints(petParam); err != nil {
|
|
||||||
c.errorHandler(w, r, err, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
result, err := c.service.UpdatePet(r.Context(), petParam)
|
|
||||||
// If an error occurred, encode the error with the status code
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, err, &result)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If no error, encode the body and the result code
|
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// UpdatePetWithForm - Updates a pet in the store with form data
|
// UpdatePetWithForm - Updates a pet in the store with form data
|
||||||
func (c *PetAPIController) UpdatePetWithForm(w http.ResponseWriter, r *http.Request) {
|
func (c *PetAPIController) UpdatePetWithForm(w http.ResponseWriter, r *http.Request) {
|
||||||
if err := r.ParseForm(); err != nil {
|
if err := r.ParseForm(); err != nil {
|
||||||
@ -263,6 +242,27 @@ func (c *PetAPIController) UpdatePetWithForm(w http.ResponseWriter, r *http.Requ
|
|||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeletePet - Deletes a pet
|
||||||
|
func (c *PetAPIController) DeletePet(w http.ResponseWriter, r *http.Request) {
|
||||||
|
petIdParam, err := parseNumericParameter[int64](
|
||||||
|
chi.URLParam(r, "petId"),
|
||||||
|
WithRequire[int64](parseInt64),
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "petId", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
apiKeyParam := r.Header.Get("api_key")
|
||||||
|
result, err := c.service.DeletePet(r.Context(), petIdParam, apiKeyParam)
|
||||||
|
// If an error occurred, encode the error with the status code
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, err, &result)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// If no error, encode the body and the result code
|
||||||
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
|
}
|
||||||
|
|
||||||
// UploadFile - uploads an image
|
// UploadFile - uploads an image
|
||||||
func (c *PetAPIController) UploadFile(w http.ResponseWriter, r *http.Request) {
|
func (c *PetAPIController) UploadFile(w http.ResponseWriter, r *http.Request) {
|
||||||
if err := r.ParseMultipartForm(32 << 20); err != nil {
|
if err := r.ParseMultipartForm(32 << 20); err != nil {
|
||||||
|
@ -28,6 +28,26 @@ func NewPetAPIService() *PetAPIService {
|
|||||||
return &PetAPIService{}
|
return &PetAPIService{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UpdatePet - Update an existing pet
|
||||||
|
func (s *PetAPIService) UpdatePet(ctx context.Context, pet Pet) (ImplResponse, error) {
|
||||||
|
// TODO - update UpdatePet with the required logic for this service method.
|
||||||
|
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(200, Pet{}) or use other options such as http.Ok ...
|
||||||
|
// return Response(200, Pet{}), nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(400, nil),nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(404, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(404, nil),nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(405, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(405, nil),nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("UpdatePet method not implemented")
|
||||||
|
}
|
||||||
|
|
||||||
// AddPet - Add a new pet to the store
|
// AddPet - Add a new pet to the store
|
||||||
func (s *PetAPIService) AddPet(ctx context.Context, pet Pet) (ImplResponse, error) {
|
func (s *PetAPIService) AddPet(ctx context.Context, pet Pet) (ImplResponse, error) {
|
||||||
// TODO - update AddPet with the required logic for this service method.
|
// TODO - update AddPet with the required logic for this service method.
|
||||||
@ -42,17 +62,6 @@ func (s *PetAPIService) AddPet(ctx context.Context, pet Pet) (ImplResponse, erro
|
|||||||
return Response(http.StatusNotImplemented, nil), errors.New("AddPet method not implemented")
|
return Response(http.StatusNotImplemented, nil), errors.New("AddPet method not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeletePet - Deletes a pet
|
|
||||||
func (s *PetAPIService) DeletePet(ctx context.Context, petId int64, apiKey string) (ImplResponse, error) {
|
|
||||||
// TODO - update DeletePet with the required logic for this service method.
|
|
||||||
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(400, nil),nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("DeletePet method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// FindPetsByStatus - Finds Pets by status
|
// FindPetsByStatus - Finds Pets by status
|
||||||
func (s *PetAPIService) FindPetsByStatus(ctx context.Context, status []string) (ImplResponse, error) {
|
func (s *PetAPIService) FindPetsByStatus(ctx context.Context, status []string) (ImplResponse, error) {
|
||||||
// TODO - update FindPetsByStatus with the required logic for this service method.
|
// TODO - update FindPetsByStatus with the required logic for this service method.
|
||||||
@ -99,26 +108,6 @@ func (s *PetAPIService) GetPetById(ctx context.Context, petId int64) (ImplRespon
|
|||||||
return Response(http.StatusNotImplemented, nil), errors.New("GetPetById method not implemented")
|
return Response(http.StatusNotImplemented, nil), errors.New("GetPetById method not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
// UpdatePet - Update an existing pet
|
|
||||||
func (s *PetAPIService) UpdatePet(ctx context.Context, pet Pet) (ImplResponse, error) {
|
|
||||||
// TODO - update UpdatePet with the required logic for this service method.
|
|
||||||
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(200, Pet{}) or use other options such as http.Ok ...
|
|
||||||
// return Response(200, Pet{}), nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(400, nil),nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(404, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(404, nil),nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(405, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(405, nil),nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("UpdatePet method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// UpdatePetWithForm - Updates a pet in the store with form data
|
// UpdatePetWithForm - Updates a pet in the store with form data
|
||||||
func (s *PetAPIService) UpdatePetWithForm(ctx context.Context, petId int64, name string, status string) (ImplResponse, error) {
|
func (s *PetAPIService) UpdatePetWithForm(ctx context.Context, petId int64, name string, status string) (ImplResponse, error) {
|
||||||
// TODO - update UpdatePetWithForm with the required logic for this service method.
|
// TODO - update UpdatePetWithForm with the required logic for this service method.
|
||||||
@ -130,6 +119,17 @@ func (s *PetAPIService) UpdatePetWithForm(ctx context.Context, petId int64, name
|
|||||||
return Response(http.StatusNotImplemented, nil), errors.New("UpdatePetWithForm method not implemented")
|
return Response(http.StatusNotImplemented, nil), errors.New("UpdatePetWithForm method not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeletePet - Deletes a pet
|
||||||
|
func (s *PetAPIService) DeletePet(ctx context.Context, petId int64, apiKey string) (ImplResponse, error) {
|
||||||
|
// TODO - update DeletePet with the required logic for this service method.
|
||||||
|
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(400, nil),nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("DeletePet method not implemented")
|
||||||
|
}
|
||||||
|
|
||||||
// UploadFile - uploads an image
|
// UploadFile - uploads an image
|
||||||
func (s *PetAPIService) UploadFile(ctx context.Context, petId int64, additionalMetadata string, file *os.File) (ImplResponse, error) {
|
func (s *PetAPIService) UploadFile(ctx context.Context, petId int64, additionalMetadata string, file *os.File) (ImplResponse, error) {
|
||||||
// TODO - update UploadFile with the required logic for this service method.
|
// TODO - update UploadFile with the required logic for this service method.
|
||||||
|
@ -51,46 +51,29 @@ func NewStoreAPIController(s StoreAPIServicer, opts ...StoreAPIOption) *StoreAPI
|
|||||||
// Routes returns all the api routes for the StoreAPIController
|
// Routes returns all the api routes for the StoreAPIController
|
||||||
func (c *StoreAPIController) Routes() Routes {
|
func (c *StoreAPIController) Routes() Routes {
|
||||||
return Routes{
|
return Routes{
|
||||||
"DeleteOrder": Route{
|
|
||||||
strings.ToUpper("Delete"),
|
|
||||||
"/v2/store/order/{orderId}",
|
|
||||||
c.DeleteOrder,
|
|
||||||
},
|
|
||||||
"GetInventory": Route{
|
"GetInventory": Route{
|
||||||
strings.ToUpper("Get"),
|
strings.ToUpper("Get"),
|
||||||
"/v2/store/inventory",
|
"/v2/store/inventory",
|
||||||
c.GetInventory,
|
c.GetInventory,
|
||||||
},
|
},
|
||||||
"GetOrderById": Route{
|
|
||||||
strings.ToUpper("Get"),
|
|
||||||
"/v2/store/order/{orderId}",
|
|
||||||
c.GetOrderById,
|
|
||||||
},
|
|
||||||
"PlaceOrder": Route{
|
"PlaceOrder": Route{
|
||||||
strings.ToUpper("Post"),
|
strings.ToUpper("Post"),
|
||||||
"/v2/store/order",
|
"/v2/store/order",
|
||||||
c.PlaceOrder,
|
c.PlaceOrder,
|
||||||
},
|
},
|
||||||
|
"GetOrderById": Route{
|
||||||
|
strings.ToUpper("Get"),
|
||||||
|
"/v2/store/order/{orderId}",
|
||||||
|
c.GetOrderById,
|
||||||
|
},
|
||||||
|
"DeleteOrder": Route{
|
||||||
|
strings.ToUpper("Delete"),
|
||||||
|
"/v2/store/order/{orderId}",
|
||||||
|
c.DeleteOrder,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeleteOrder - Delete purchase order by ID
|
|
||||||
func (c *StoreAPIController) DeleteOrder(w http.ResponseWriter, r *http.Request) {
|
|
||||||
orderIdParam := chi.URLParam(r, "orderId")
|
|
||||||
if orderIdParam == "" {
|
|
||||||
c.errorHandler(w, r, &RequiredError{"orderId"}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
result, err := c.service.DeleteOrder(r.Context(), orderIdParam)
|
|
||||||
// If an error occurred, encode the error with the status code
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, err, &result)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If no error, encode the body and the result code
|
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetInventory - Returns pet inventories by status
|
// GetInventory - Returns pet inventories by status
|
||||||
func (c *StoreAPIController) GetInventory(w http.ResponseWriter, r *http.Request) {
|
func (c *StoreAPIController) GetInventory(w http.ResponseWriter, r *http.Request) {
|
||||||
result, err := c.service.GetInventory(r.Context())
|
result, err := c.service.GetInventory(r.Context())
|
||||||
@ -103,28 +86,6 @@ func (c *StoreAPIController) GetInventory(w http.ResponseWriter, r *http.Request
|
|||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetOrderById - Find purchase order by ID
|
|
||||||
func (c *StoreAPIController) GetOrderById(w http.ResponseWriter, r *http.Request) {
|
|
||||||
orderIdParam, err := parseNumericParameter[int64](
|
|
||||||
chi.URLParam(r, "orderId"),
|
|
||||||
WithRequire[int64](parseInt64),
|
|
||||||
WithMinimum[int64](1),
|
|
||||||
WithMaximum[int64](5),
|
|
||||||
)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "orderId", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
result, err := c.service.GetOrderById(r.Context(), orderIdParam)
|
|
||||||
// If an error occurred, encode the error with the status code
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, err, &result)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If no error, encode the body and the result code
|
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// PlaceOrder - Place an order for a pet
|
// PlaceOrder - Place an order for a pet
|
||||||
func (c *StoreAPIController) PlaceOrder(w http.ResponseWriter, r *http.Request) {
|
func (c *StoreAPIController) PlaceOrder(w http.ResponseWriter, r *http.Request) {
|
||||||
orderParam := Order{}
|
orderParam := Order{}
|
||||||
@ -151,3 +112,42 @@ func (c *StoreAPIController) PlaceOrder(w http.ResponseWriter, r *http.Request)
|
|||||||
// If no error, encode the body and the result code
|
// If no error, encode the body and the result code
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetOrderById - Find purchase order by ID
|
||||||
|
func (c *StoreAPIController) GetOrderById(w http.ResponseWriter, r *http.Request) {
|
||||||
|
orderIdParam, err := parseNumericParameter[int64](
|
||||||
|
chi.URLParam(r, "orderId"),
|
||||||
|
WithRequire[int64](parseInt64),
|
||||||
|
WithMinimum[int64](1),
|
||||||
|
WithMaximum[int64](5),
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "orderId", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
result, err := c.service.GetOrderById(r.Context(), orderIdParam)
|
||||||
|
// If an error occurred, encode the error with the status code
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, err, &result)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// If no error, encode the body and the result code
|
||||||
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeleteOrder - Delete purchase order by ID
|
||||||
|
func (c *StoreAPIController) DeleteOrder(w http.ResponseWriter, r *http.Request) {
|
||||||
|
orderIdParam := chi.URLParam(r, "orderId")
|
||||||
|
if orderIdParam == "" {
|
||||||
|
c.errorHandler(w, r, &RequiredError{"orderId"}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
result, err := c.service.DeleteOrder(r.Context(), orderIdParam)
|
||||||
|
// If an error occurred, encode the error with the status code
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, err, &result)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// If no error, encode the body and the result code
|
||||||
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
|
}
|
||||||
|
@ -27,20 +27,6 @@ func NewStoreAPIService() *StoreAPIService {
|
|||||||
return &StoreAPIService{}
|
return &StoreAPIService{}
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeleteOrder - Delete purchase order by ID
|
|
||||||
func (s *StoreAPIService) DeleteOrder(ctx context.Context, orderId string) (ImplResponse, error) {
|
|
||||||
// TODO - update DeleteOrder with the required logic for this service method.
|
|
||||||
// Add api_store_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(400, nil),nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(404, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(404, nil),nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("DeleteOrder method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetInventory - Returns pet inventories by status
|
// GetInventory - Returns pet inventories by status
|
||||||
func (s *StoreAPIService) GetInventory(ctx context.Context) (ImplResponse, error) {
|
func (s *StoreAPIService) GetInventory(ctx context.Context) (ImplResponse, error) {
|
||||||
// TODO - update GetInventory with the required logic for this service method.
|
// TODO - update GetInventory with the required logic for this service method.
|
||||||
@ -52,6 +38,20 @@ func (s *StoreAPIService) GetInventory(ctx context.Context) (ImplResponse, error
|
|||||||
return Response(http.StatusNotImplemented, nil), errors.New("GetInventory method not implemented")
|
return Response(http.StatusNotImplemented, nil), errors.New("GetInventory method not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// PlaceOrder - Place an order for a pet
|
||||||
|
func (s *StoreAPIService) PlaceOrder(ctx context.Context, order Order) (ImplResponse, error) {
|
||||||
|
// TODO - update PlaceOrder with the required logic for this service method.
|
||||||
|
// Add api_store_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(200, Order{}) or use other options such as http.Ok ...
|
||||||
|
// return Response(200, Order{}), nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(400, nil),nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("PlaceOrder method not implemented")
|
||||||
|
}
|
||||||
|
|
||||||
// GetOrderById - Find purchase order by ID
|
// GetOrderById - Find purchase order by ID
|
||||||
func (s *StoreAPIService) GetOrderById(ctx context.Context, orderId int64) (ImplResponse, error) {
|
func (s *StoreAPIService) GetOrderById(ctx context.Context, orderId int64) (ImplResponse, error) {
|
||||||
// TODO - update GetOrderById with the required logic for this service method.
|
// TODO - update GetOrderById with the required logic for this service method.
|
||||||
@ -69,16 +69,16 @@ func (s *StoreAPIService) GetOrderById(ctx context.Context, orderId int64) (Impl
|
|||||||
return Response(http.StatusNotImplemented, nil), errors.New("GetOrderById method not implemented")
|
return Response(http.StatusNotImplemented, nil), errors.New("GetOrderById method not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
// PlaceOrder - Place an order for a pet
|
// DeleteOrder - Delete purchase order by ID
|
||||||
func (s *StoreAPIService) PlaceOrder(ctx context.Context, order Order) (ImplResponse, error) {
|
func (s *StoreAPIService) DeleteOrder(ctx context.Context, orderId string) (ImplResponse, error) {
|
||||||
// TODO - update PlaceOrder with the required logic for this service method.
|
// TODO - update DeleteOrder with the required logic for this service method.
|
||||||
// Add api_store_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
// Add api_store_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(200, Order{}) or use other options such as http.Ok ...
|
|
||||||
// return Response(200, Order{}), nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
||||||
// return Response(400, nil),nil
|
// return Response(400, nil),nil
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("PlaceOrder method not implemented")
|
// TODO: Uncomment the next line to return response Response(404, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(404, nil),nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("DeleteOrder method not implemented")
|
||||||
}
|
}
|
||||||
|
@ -66,16 +66,6 @@ func (c *UserAPIController) Routes() Routes {
|
|||||||
"/v2/user/createWithList",
|
"/v2/user/createWithList",
|
||||||
c.CreateUsersWithListInput,
|
c.CreateUsersWithListInput,
|
||||||
},
|
},
|
||||||
"DeleteUser": Route{
|
|
||||||
strings.ToUpper("Delete"),
|
|
||||||
"/v2/user/{username}",
|
|
||||||
c.DeleteUser,
|
|
||||||
},
|
|
||||||
"GetUserByName": Route{
|
|
||||||
strings.ToUpper("Get"),
|
|
||||||
"/v2/user/{username}",
|
|
||||||
c.GetUserByName,
|
|
||||||
},
|
|
||||||
"LoginUser": Route{
|
"LoginUser": Route{
|
||||||
strings.ToUpper("Get"),
|
strings.ToUpper("Get"),
|
||||||
"/v2/user/login",
|
"/v2/user/login",
|
||||||
@ -86,11 +76,21 @@ func (c *UserAPIController) Routes() Routes {
|
|||||||
"/v2/user/logout",
|
"/v2/user/logout",
|
||||||
c.LogoutUser,
|
c.LogoutUser,
|
||||||
},
|
},
|
||||||
|
"GetUserByName": Route{
|
||||||
|
strings.ToUpper("Get"),
|
||||||
|
"/v2/user/{username}",
|
||||||
|
c.GetUserByName,
|
||||||
|
},
|
||||||
"UpdateUser": Route{
|
"UpdateUser": Route{
|
||||||
strings.ToUpper("Put"),
|
strings.ToUpper("Put"),
|
||||||
"/v2/user/{username}",
|
"/v2/user/{username}",
|
||||||
c.UpdateUser,
|
c.UpdateUser,
|
||||||
},
|
},
|
||||||
|
"DeleteUser": Route{
|
||||||
|
strings.ToUpper("Delete"),
|
||||||
|
"/v2/user/{username}",
|
||||||
|
c.DeleteUser,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -171,59 +171,6 @@ func (c *UserAPIController) CreateUsersWithListInput(w http.ResponseWriter, r *h
|
|||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeleteUser - Delete user
|
|
||||||
func (c *UserAPIController) DeleteUser(w http.ResponseWriter, r *http.Request) {
|
|
||||||
query, err := parseQuery(r.URL.RawQuery)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
usernameParam := chi.URLParam(r, "username")
|
|
||||||
if usernameParam == "" {
|
|
||||||
c.errorHandler(w, r, &RequiredError{"username"}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
var booleanTestParam bool
|
|
||||||
if query.Has("boolean_test") {
|
|
||||||
param, err := parseBoolParameter(
|
|
||||||
query.Get("boolean_test"),
|
|
||||||
WithParse[bool](parseBool),
|
|
||||||
)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "boolean_test", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
booleanTestParam = param
|
|
||||||
} else {
|
|
||||||
}
|
|
||||||
result, err := c.service.DeleteUser(r.Context(), usernameParam, booleanTestParam)
|
|
||||||
// If an error occurred, encode the error with the status code
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, err, &result)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If no error, encode the body and the result code
|
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetUserByName - Get user by user name
|
|
||||||
func (c *UserAPIController) GetUserByName(w http.ResponseWriter, r *http.Request) {
|
|
||||||
usernameParam := chi.URLParam(r, "username")
|
|
||||||
if usernameParam == "" {
|
|
||||||
c.errorHandler(w, r, &RequiredError{"username"}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
result, err := c.service.GetUserByName(r.Context(), usernameParam)
|
|
||||||
// If an error occurred, encode the error with the status code
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, err, &result)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If no error, encode the body and the result code
|
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// LoginUser - Logs user into the system
|
// LoginUser - Logs user into the system
|
||||||
func (c *UserAPIController) LoginUser(w http.ResponseWriter, r *http.Request) {
|
func (c *UserAPIController) LoginUser(w http.ResponseWriter, r *http.Request) {
|
||||||
query, err := parseQuery(r.URL.RawQuery)
|
query, err := parseQuery(r.URL.RawQuery)
|
||||||
@ -341,6 +288,23 @@ func (c *UserAPIController) LogoutUser(w http.ResponseWriter, r *http.Request) {
|
|||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetUserByName - Get user by user name
|
||||||
|
func (c *UserAPIController) GetUserByName(w http.ResponseWriter, r *http.Request) {
|
||||||
|
usernameParam := chi.URLParam(r, "username")
|
||||||
|
if usernameParam == "" {
|
||||||
|
c.errorHandler(w, r, &RequiredError{"username"}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
result, err := c.service.GetUserByName(r.Context(), usernameParam)
|
||||||
|
// If an error occurred, encode the error with the status code
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, err, &result)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// If no error, encode the body and the result code
|
||||||
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
|
}
|
||||||
|
|
||||||
// UpdateUser - Updated user
|
// UpdateUser - Updated user
|
||||||
func (c *UserAPIController) UpdateUser(w http.ResponseWriter, r *http.Request) {
|
func (c *UserAPIController) UpdateUser(w http.ResponseWriter, r *http.Request) {
|
||||||
usernameParam := chi.URLParam(r, "username")
|
usernameParam := chi.URLParam(r, "username")
|
||||||
@ -372,3 +336,39 @@ func (c *UserAPIController) UpdateUser(w http.ResponseWriter, r *http.Request) {
|
|||||||
// If no error, encode the body and the result code
|
// If no error, encode the body and the result code
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeleteUser - Delete user
|
||||||
|
func (c *UserAPIController) DeleteUser(w http.ResponseWriter, r *http.Request) {
|
||||||
|
query, err := parseQuery(r.URL.RawQuery)
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
usernameParam := chi.URLParam(r, "username")
|
||||||
|
if usernameParam == "" {
|
||||||
|
c.errorHandler(w, r, &RequiredError{"username"}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
var booleanTestParam bool
|
||||||
|
if query.Has("boolean_test") {
|
||||||
|
param, err := parseBoolParameter(
|
||||||
|
query.Get("boolean_test"),
|
||||||
|
WithParse[bool](parseBool),
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "boolean_test", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
booleanTestParam = param
|
||||||
|
} else {
|
||||||
|
}
|
||||||
|
result, err := c.service.DeleteUser(r.Context(), usernameParam, booleanTestParam)
|
||||||
|
// If an error occurred, encode the error with the status code
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, err, &result)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// If no error, encode the body and the result code
|
||||||
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
|
}
|
||||||
|
@ -60,37 +60,6 @@ func (s *UserAPIService) CreateUsersWithListInput(ctx context.Context, user []Us
|
|||||||
return Response(http.StatusNotImplemented, nil), errors.New("CreateUsersWithListInput method not implemented")
|
return Response(http.StatusNotImplemented, nil), errors.New("CreateUsersWithListInput method not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeleteUser - Delete user
|
|
||||||
func (s *UserAPIService) DeleteUser(ctx context.Context, username string, booleanTest bool) (ImplResponse, error) {
|
|
||||||
// TODO - update DeleteUser with the required logic for this service method.
|
|
||||||
// Add api_user_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(400, nil),nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(404, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(404, nil),nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("DeleteUser method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetUserByName - Get user by user name
|
|
||||||
func (s *UserAPIService) GetUserByName(ctx context.Context, username string) (ImplResponse, error) {
|
|
||||||
// TODO - update GetUserByName with the required logic for this service method.
|
|
||||||
// Add api_user_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(200, User{}) or use other options such as http.Ok ...
|
|
||||||
// return Response(200, User{}), nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(400, nil),nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(404, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(404, nil),nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("GetUserByName method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// LoginUser - Logs user into the system
|
// LoginUser - Logs user into the system
|
||||||
func (s *UserAPIService) LoginUser(ctx context.Context, username string, password string, int32Test int32, int64Test int64, float32Test float32, float64Test float64, booleanTest bool) (ImplResponse, error) {
|
func (s *UserAPIService) LoginUser(ctx context.Context, username string, password string, int32Test int32, int64Test int64, float32Test float32, float64Test float64, booleanTest bool) (ImplResponse, error) {
|
||||||
// TODO - update LoginUser with the required logic for this service method.
|
// TODO - update LoginUser with the required logic for this service method.
|
||||||
@ -116,6 +85,23 @@ func (s *UserAPIService) LogoutUser(ctx context.Context) (ImplResponse, error) {
|
|||||||
return Response(http.StatusNotImplemented, nil), errors.New("LogoutUser method not implemented")
|
return Response(http.StatusNotImplemented, nil), errors.New("LogoutUser method not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetUserByName - Get user by user name
|
||||||
|
func (s *UserAPIService) GetUserByName(ctx context.Context, username string) (ImplResponse, error) {
|
||||||
|
// TODO - update GetUserByName with the required logic for this service method.
|
||||||
|
// Add api_user_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(200, User{}) or use other options such as http.Ok ...
|
||||||
|
// return Response(200, User{}), nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(400, nil),nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(404, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(404, nil),nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("GetUserByName method not implemented")
|
||||||
|
}
|
||||||
|
|
||||||
// UpdateUser - Updated user
|
// UpdateUser - Updated user
|
||||||
func (s *UserAPIService) UpdateUser(ctx context.Context, username string, user User) (ImplResponse, error) {
|
func (s *UserAPIService) UpdateUser(ctx context.Context, username string, user User) (ImplResponse, error) {
|
||||||
// TODO - update UpdateUser with the required logic for this service method.
|
// TODO - update UpdateUser with the required logic for this service method.
|
||||||
@ -129,3 +115,17 @@ func (s *UserAPIService) UpdateUser(ctx context.Context, username string, user U
|
|||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("UpdateUser method not implemented")
|
return Response(http.StatusNotImplemented, nil), errors.New("UpdateUser method not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeleteUser - Delete user
|
||||||
|
func (s *UserAPIService) DeleteUser(ctx context.Context, username string, booleanTest bool) (ImplResponse, error) {
|
||||||
|
// TODO - update DeleteUser with the required logic for this service method.
|
||||||
|
// Add api_user_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(400, nil),nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(404, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(404, nil),nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("DeleteUser method not implemented")
|
||||||
|
}
|
||||||
|
@ -23,30 +23,30 @@ import (
|
|||||||
// The PetAPIRouter implementation should parse necessary information from the http request,
|
// The PetAPIRouter implementation should parse necessary information from the http request,
|
||||||
// pass the data to a PetAPIServicer to perform the required actions, then write the service results to the http response.
|
// pass the data to a PetAPIServicer to perform the required actions, then write the service results to the http response.
|
||||||
type PetAPIRouter interface {
|
type PetAPIRouter interface {
|
||||||
|
UpdatePet(http.ResponseWriter, *http.Request)
|
||||||
AddPet(http.ResponseWriter, *http.Request)
|
AddPet(http.ResponseWriter, *http.Request)
|
||||||
DeletePet(http.ResponseWriter, *http.Request)
|
|
||||||
FilterPetsByCategory(http.ResponseWriter, *http.Request)
|
|
||||||
FindPetsByStatus(http.ResponseWriter, *http.Request)
|
FindPetsByStatus(http.ResponseWriter, *http.Request)
|
||||||
|
SearchPet(http.ResponseWriter, *http.Request)
|
||||||
// Deprecated
|
// Deprecated
|
||||||
FindPetsByTags(http.ResponseWriter, *http.Request)
|
FindPetsByTags(http.ResponseWriter, *http.Request)
|
||||||
|
FilterPetsByCategory(http.ResponseWriter, *http.Request)
|
||||||
GetPetById(http.ResponseWriter, *http.Request)
|
GetPetById(http.ResponseWriter, *http.Request)
|
||||||
GetPetImageById(http.ResponseWriter, *http.Request)
|
|
||||||
GetPetsByTime(http.ResponseWriter, *http.Request)
|
|
||||||
GetPetsUsingBooleanQueryParameters(http.ResponseWriter, *http.Request)
|
|
||||||
SearchPet(http.ResponseWriter, *http.Request)
|
|
||||||
UpdatePet(http.ResponseWriter, *http.Request)
|
|
||||||
UpdatePetWithForm(http.ResponseWriter, *http.Request)
|
UpdatePetWithForm(http.ResponseWriter, *http.Request)
|
||||||
|
DeletePet(http.ResponseWriter, *http.Request)
|
||||||
|
GetPetImageById(http.ResponseWriter, *http.Request)
|
||||||
UploadFile(http.ResponseWriter, *http.Request)
|
UploadFile(http.ResponseWriter, *http.Request)
|
||||||
UploadFileArrayOfFiles(http.ResponseWriter, *http.Request)
|
UploadFileArrayOfFiles(http.ResponseWriter, *http.Request)
|
||||||
|
GetPetsUsingBooleanQueryParameters(http.ResponseWriter, *http.Request)
|
||||||
|
GetPetsByTime(http.ResponseWriter, *http.Request)
|
||||||
}
|
}
|
||||||
// StoreAPIRouter defines the required methods for binding the api requests to a responses for the StoreAPI
|
// StoreAPIRouter defines the required methods for binding the api requests to a responses for the StoreAPI
|
||||||
// The StoreAPIRouter implementation should parse necessary information from the http request,
|
// The StoreAPIRouter implementation should parse necessary information from the http request,
|
||||||
// pass the data to a StoreAPIServicer to perform the required actions, then write the service results to the http response.
|
// pass the data to a StoreAPIServicer to perform the required actions, then write the service results to the http response.
|
||||||
type StoreAPIRouter interface {
|
type StoreAPIRouter interface {
|
||||||
DeleteOrder(http.ResponseWriter, *http.Request)
|
|
||||||
GetInventory(http.ResponseWriter, *http.Request)
|
GetInventory(http.ResponseWriter, *http.Request)
|
||||||
GetOrderById(http.ResponseWriter, *http.Request)
|
|
||||||
PlaceOrder(http.ResponseWriter, *http.Request)
|
PlaceOrder(http.ResponseWriter, *http.Request)
|
||||||
|
GetOrderById(http.ResponseWriter, *http.Request)
|
||||||
|
DeleteOrder(http.ResponseWriter, *http.Request)
|
||||||
}
|
}
|
||||||
// UserAPIRouter defines the required methods for binding the api requests to a responses for the UserAPI
|
// UserAPIRouter defines the required methods for binding the api requests to a responses for the UserAPI
|
||||||
// The UserAPIRouter implementation should parse necessary information from the http request,
|
// The UserAPIRouter implementation should parse necessary information from the http request,
|
||||||
@ -55,11 +55,11 @@ type UserAPIRouter interface {
|
|||||||
CreateUser(http.ResponseWriter, *http.Request)
|
CreateUser(http.ResponseWriter, *http.Request)
|
||||||
CreateUsersWithArrayInput(http.ResponseWriter, *http.Request)
|
CreateUsersWithArrayInput(http.ResponseWriter, *http.Request)
|
||||||
CreateUsersWithListInput(http.ResponseWriter, *http.Request)
|
CreateUsersWithListInput(http.ResponseWriter, *http.Request)
|
||||||
DeleteUser(http.ResponseWriter, *http.Request)
|
|
||||||
GetUserByName(http.ResponseWriter, *http.Request)
|
|
||||||
LoginUser(http.ResponseWriter, *http.Request)
|
LoginUser(http.ResponseWriter, *http.Request)
|
||||||
LogoutUser(http.ResponseWriter, *http.Request)
|
LogoutUser(http.ResponseWriter, *http.Request)
|
||||||
|
GetUserByName(http.ResponseWriter, *http.Request)
|
||||||
UpdateUser(http.ResponseWriter, *http.Request)
|
UpdateUser(http.ResponseWriter, *http.Request)
|
||||||
|
DeleteUser(http.ResponseWriter, *http.Request)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -68,21 +68,21 @@ type UserAPIRouter interface {
|
|||||||
// while the service implementation can be ignored with the .openapi-generator-ignore file
|
// while the service implementation can be ignored with the .openapi-generator-ignore file
|
||||||
// and updated with the logic required for the API.
|
// and updated with the logic required for the API.
|
||||||
type PetAPIServicer interface {
|
type PetAPIServicer interface {
|
||||||
|
UpdatePet(context.Context, Pet) (ImplResponse, error)
|
||||||
AddPet(context.Context, Pet) (ImplResponse, error)
|
AddPet(context.Context, Pet) (ImplResponse, error)
|
||||||
DeletePet(context.Context, int64, string) (ImplResponse, error)
|
|
||||||
FilterPetsByCategory(context.Context, Gender, Species, []Species) (ImplResponse, error)
|
|
||||||
FindPetsByStatus(context.Context, []string, string, string, int32, float32, string) (ImplResponse, error)
|
FindPetsByStatus(context.Context, []string, string, string, int32, float32, string) (ImplResponse, error)
|
||||||
|
SearchPet(context.Context, *int64, *float32, *time.Time, *bool) (ImplResponse, error)
|
||||||
// Deprecated
|
// Deprecated
|
||||||
FindPetsByTags(context.Context, []string, time.Time, time.Time, Colour) (ImplResponse, error)
|
FindPetsByTags(context.Context, []string, time.Time, time.Time, Colour) (ImplResponse, error)
|
||||||
|
FilterPetsByCategory(context.Context, Gender, Species, []Species) (ImplResponse, error)
|
||||||
GetPetById(context.Context, int64) (ImplResponse, error)
|
GetPetById(context.Context, int64) (ImplResponse, error)
|
||||||
GetPetImageById(context.Context, int64) (ImplResponse, error)
|
|
||||||
GetPetsByTime(context.Context, time.Time) (ImplResponse, error)
|
|
||||||
GetPetsUsingBooleanQueryParameters(context.Context, bool, bool, bool) (ImplResponse, error)
|
|
||||||
SearchPet(context.Context, *int64, *float32, *time.Time, *bool) (ImplResponse, error)
|
|
||||||
UpdatePet(context.Context, Pet) (ImplResponse, error)
|
|
||||||
UpdatePetWithForm(context.Context, int64, string, string) (ImplResponse, error)
|
UpdatePetWithForm(context.Context, int64, string, string) (ImplResponse, error)
|
||||||
|
DeletePet(context.Context, int64, string) (ImplResponse, error)
|
||||||
|
GetPetImageById(context.Context, int64) (ImplResponse, error)
|
||||||
UploadFile(context.Context, int64, string, []string, *os.File) (ImplResponse, error)
|
UploadFile(context.Context, int64, string, []string, *os.File) (ImplResponse, error)
|
||||||
UploadFileArrayOfFiles(context.Context, int64, string, []*os.File) (ImplResponse, error)
|
UploadFileArrayOfFiles(context.Context, int64, string, []*os.File) (ImplResponse, error)
|
||||||
|
GetPetsUsingBooleanQueryParameters(context.Context, bool, bool, bool) (ImplResponse, error)
|
||||||
|
GetPetsByTime(context.Context, time.Time) (ImplResponse, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -91,10 +91,10 @@ type PetAPIServicer interface {
|
|||||||
// while the service implementation can be ignored with the .openapi-generator-ignore file
|
// while the service implementation can be ignored with the .openapi-generator-ignore file
|
||||||
// and updated with the logic required for the API.
|
// and updated with the logic required for the API.
|
||||||
type StoreAPIServicer interface {
|
type StoreAPIServicer interface {
|
||||||
DeleteOrder(context.Context, string) (ImplResponse, error)
|
|
||||||
GetInventory(context.Context) (ImplResponse, error)
|
GetInventory(context.Context) (ImplResponse, error)
|
||||||
GetOrderById(context.Context, int64) (ImplResponse, error)
|
|
||||||
PlaceOrder(context.Context, Order) (ImplResponse, error)
|
PlaceOrder(context.Context, Order) (ImplResponse, error)
|
||||||
|
GetOrderById(context.Context, int64) (ImplResponse, error)
|
||||||
|
DeleteOrder(context.Context, string) (ImplResponse, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -106,9 +106,9 @@ type UserAPIServicer interface {
|
|||||||
CreateUser(context.Context, User) (ImplResponse, error)
|
CreateUser(context.Context, User) (ImplResponse, error)
|
||||||
CreateUsersWithArrayInput(context.Context, []User) (ImplResponse, error)
|
CreateUsersWithArrayInput(context.Context, []User) (ImplResponse, error)
|
||||||
CreateUsersWithListInput(context.Context, []User) (ImplResponse, error)
|
CreateUsersWithListInput(context.Context, []User) (ImplResponse, error)
|
||||||
DeleteUser(context.Context, string, bool) (ImplResponse, error)
|
|
||||||
GetUserByName(context.Context, string) (ImplResponse, error)
|
|
||||||
LoginUser(context.Context, string, string, bool) (ImplResponse, error)
|
LoginUser(context.Context, string, string, bool) (ImplResponse, error)
|
||||||
LogoutUser(context.Context) (ImplResponse, error)
|
LogoutUser(context.Context) (ImplResponse, error)
|
||||||
|
GetUserByName(context.Context, string) (ImplResponse, error)
|
||||||
UpdateUser(context.Context, string, User) (ImplResponse, error)
|
UpdateUser(context.Context, string, User) (ImplResponse, error)
|
||||||
|
DeleteUser(context.Context, string, bool) (ImplResponse, error)
|
||||||
}
|
}
|
||||||
|
@ -53,66 +53,56 @@ func NewPetAPIController(s PetAPIServicer, opts ...PetAPIOption) *PetAPIControll
|
|||||||
// Routes returns all the api routes for the PetAPIController
|
// Routes returns all the api routes for the PetAPIController
|
||||||
func (c *PetAPIController) Routes() Routes {
|
func (c *PetAPIController) Routes() Routes {
|
||||||
return Routes{
|
return Routes{
|
||||||
|
"UpdatePet": Route{
|
||||||
|
strings.ToUpper("Put"),
|
||||||
|
"/v2/pet",
|
||||||
|
c.UpdatePet,
|
||||||
|
},
|
||||||
"AddPet": Route{
|
"AddPet": Route{
|
||||||
strings.ToUpper("Post"),
|
strings.ToUpper("Post"),
|
||||||
"/v2/pet",
|
"/v2/pet",
|
||||||
c.AddPet,
|
c.AddPet,
|
||||||
},
|
},
|
||||||
"DeletePet": Route{
|
|
||||||
strings.ToUpper("Delete"),
|
|
||||||
"/v2/pet/{petId}",
|
|
||||||
c.DeletePet,
|
|
||||||
},
|
|
||||||
"FilterPetsByCategory": Route{
|
|
||||||
strings.ToUpper("Get"),
|
|
||||||
"/v2/pet/filterPets/{gender}",
|
|
||||||
c.FilterPetsByCategory,
|
|
||||||
},
|
|
||||||
"FindPetsByStatus": Route{
|
"FindPetsByStatus": Route{
|
||||||
strings.ToUpper("Get"),
|
strings.ToUpper("Get"),
|
||||||
"/v2/pet/findByStatus",
|
"/v2/pet/findByStatus",
|
||||||
c.FindPetsByStatus,
|
c.FindPetsByStatus,
|
||||||
},
|
},
|
||||||
|
"SearchPet": Route{
|
||||||
|
strings.ToUpper("Get"),
|
||||||
|
"/v2/pet/searchPetWithManyFilters",
|
||||||
|
c.SearchPet,
|
||||||
|
},
|
||||||
"FindPetsByTags": Route{
|
"FindPetsByTags": Route{
|
||||||
strings.ToUpper("Get"),
|
strings.ToUpper("Get"),
|
||||||
"/v2/pet/findByTags",
|
"/v2/pet/findByTags",
|
||||||
c.FindPetsByTags,
|
c.FindPetsByTags,
|
||||||
},
|
},
|
||||||
|
"FilterPetsByCategory": Route{
|
||||||
|
strings.ToUpper("Get"),
|
||||||
|
"/v2/pet/filterPets/{gender}",
|
||||||
|
c.FilterPetsByCategory,
|
||||||
|
},
|
||||||
"GetPetById": Route{
|
"GetPetById": Route{
|
||||||
strings.ToUpper("Get"),
|
strings.ToUpper("Get"),
|
||||||
"/v2/pet/{petId}",
|
"/v2/pet/{petId}",
|
||||||
c.GetPetById,
|
c.GetPetById,
|
||||||
},
|
},
|
||||||
"GetPetImageById": Route{
|
|
||||||
strings.ToUpper("Get"),
|
|
||||||
"/v2/pet/{petId}/uploadImage",
|
|
||||||
c.GetPetImageById,
|
|
||||||
},
|
|
||||||
"GetPetsByTime": Route{
|
|
||||||
strings.ToUpper("Get"),
|
|
||||||
"/v2/pets/byTime/{createdTime}",
|
|
||||||
c.GetPetsByTime,
|
|
||||||
},
|
|
||||||
"GetPetsUsingBooleanQueryParameters": Route{
|
|
||||||
strings.ToUpper("Get"),
|
|
||||||
"/v2/pets/boolean/parsing",
|
|
||||||
c.GetPetsUsingBooleanQueryParameters,
|
|
||||||
},
|
|
||||||
"SearchPet": Route{
|
|
||||||
strings.ToUpper("Get"),
|
|
||||||
"/v2/pet/searchPetWithManyFilters",
|
|
||||||
c.SearchPet,
|
|
||||||
},
|
|
||||||
"UpdatePet": Route{
|
|
||||||
strings.ToUpper("Put"),
|
|
||||||
"/v2/pet",
|
|
||||||
c.UpdatePet,
|
|
||||||
},
|
|
||||||
"UpdatePetWithForm": Route{
|
"UpdatePetWithForm": Route{
|
||||||
strings.ToUpper("Post"),
|
strings.ToUpper("Post"),
|
||||||
"/v2/pet/{petId}",
|
"/v2/pet/{petId}",
|
||||||
c.UpdatePetWithForm,
|
c.UpdatePetWithForm,
|
||||||
},
|
},
|
||||||
|
"DeletePet": Route{
|
||||||
|
strings.ToUpper("Delete"),
|
||||||
|
"/v2/pet/{petId}",
|
||||||
|
c.DeletePet,
|
||||||
|
},
|
||||||
|
"GetPetImageById": Route{
|
||||||
|
strings.ToUpper("Get"),
|
||||||
|
"/v2/pet/{petId}/uploadImage",
|
||||||
|
c.GetPetImageById,
|
||||||
|
},
|
||||||
"UploadFile": Route{
|
"UploadFile": Route{
|
||||||
strings.ToUpper("Post"),
|
strings.ToUpper("Post"),
|
||||||
"/v2/pet/{petId}/uploadImage",
|
"/v2/pet/{petId}/uploadImage",
|
||||||
@ -123,9 +113,46 @@ func (c *PetAPIController) Routes() Routes {
|
|||||||
"/v2/fake/uploadImage/array of_file",
|
"/v2/fake/uploadImage/array of_file",
|
||||||
c.UploadFileArrayOfFiles,
|
c.UploadFileArrayOfFiles,
|
||||||
},
|
},
|
||||||
|
"GetPetsUsingBooleanQueryParameters": Route{
|
||||||
|
strings.ToUpper("Get"),
|
||||||
|
"/v2/pets/boolean/parsing",
|
||||||
|
c.GetPetsUsingBooleanQueryParameters,
|
||||||
|
},
|
||||||
|
"GetPetsByTime": Route{
|
||||||
|
strings.ToUpper("Get"),
|
||||||
|
"/v2/pets/byTime/{createdTime}",
|
||||||
|
c.GetPetsByTime,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UpdatePet - Update an existing pet
|
||||||
|
func (c *PetAPIController) UpdatePet(w http.ResponseWriter, r *http.Request) {
|
||||||
|
petParam := Pet{}
|
||||||
|
d := json.NewDecoder(r.Body)
|
||||||
|
d.DisallowUnknownFields()
|
||||||
|
if err := d.Decode(&petParam); err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := AssertPetRequired(petParam); err != nil {
|
||||||
|
c.errorHandler(w, r, err, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := AssertPetConstraints(petParam); err != nil {
|
||||||
|
c.errorHandler(w, r, err, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
result, err := c.service.UpdatePet(r.Context(), petParam)
|
||||||
|
// If an error occurred, encode the error with the status code
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, err, &result)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// If no error, encode the body and the result code
|
||||||
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
|
}
|
||||||
|
|
||||||
// AddPet - Add a new pet to the store
|
// AddPet - Add a new pet to the store
|
||||||
func (c *PetAPIController) AddPet(w http.ResponseWriter, r *http.Request) {
|
func (c *PetAPIController) AddPet(w http.ResponseWriter, r *http.Request) {
|
||||||
petParam := Pet{}
|
petParam := Pet{}
|
||||||
@ -153,73 +180,6 @@ func (c *PetAPIController) AddPet(w http.ResponseWriter, r *http.Request) {
|
|||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeletePet - Deletes a pet
|
|
||||||
func (c *PetAPIController) DeletePet(w http.ResponseWriter, r *http.Request) {
|
|
||||||
params := mux.Vars(r)
|
|
||||||
petIdParam, err := parseNumericParameter[int64](
|
|
||||||
params["petId"],
|
|
||||||
WithRequire[int64](parseInt64),
|
|
||||||
)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "petId", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
apiKeyParam := r.Header.Get("api_key")
|
|
||||||
result, err := c.service.DeletePet(r.Context(), petIdParam, apiKeyParam)
|
|
||||||
// If an error occurred, encode the error with the status code
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, err, &result)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If no error, encode the body and the result code
|
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// FilterPetsByCategory - Finds Pets
|
|
||||||
func (c *PetAPIController) FilterPetsByCategory(w http.ResponseWriter, r *http.Request) {
|
|
||||||
params := mux.Vars(r)
|
|
||||||
query, err := parseQuery(r.URL.RawQuery)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
genderParam, err := NewGenderFromValue(params["gender"])
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "gender", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
var speciesParam Species
|
|
||||||
if query.Has("species") {
|
|
||||||
param := Species(query.Get("species"))
|
|
||||||
|
|
||||||
speciesParam = param
|
|
||||||
} else {
|
|
||||||
c.errorHandler(w, r, &RequiredError{Field: "species"}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
var notSpeciesParam []Species
|
|
||||||
if query.Has("notSpecies") {
|
|
||||||
paramSplits := strings.Split(query.Get("notSpecies"), ",")
|
|
||||||
notSpeciesParam = make([]Species, 0, len(paramSplits))
|
|
||||||
for _, param := range paramSplits {
|
|
||||||
paramEnum, err := NewSpeciesFromValue(param)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "notSpecies", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
notSpeciesParam = append(notSpeciesParam, paramEnum)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
result, err := c.service.FilterPetsByCategory(r.Context(), genderParam, speciesParam, notSpeciesParam)
|
|
||||||
// If an error occurred, encode the error with the status code
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, err, &result)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If no error, encode the body and the result code
|
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// FindPetsByStatus - Finds Pets by status
|
// FindPetsByStatus - Finds Pets by status
|
||||||
func (c *PetAPIController) FindPetsByStatus(w http.ResponseWriter, r *http.Request) {
|
func (c *PetAPIController) FindPetsByStatus(w http.ResponseWriter, r *http.Request) {
|
||||||
params := mux.Vars(r)
|
params := mux.Vars(r)
|
||||||
@ -295,182 +255,6 @@ func (c *PetAPIController) FindPetsByStatus(w http.ResponseWriter, r *http.Reque
|
|||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
// FindPetsByTags - Finds Pets by tags
|
|
||||||
// Deprecated
|
|
||||||
func (c *PetAPIController) FindPetsByTags(w http.ResponseWriter, r *http.Request) {
|
|
||||||
query, err := parseQuery(r.URL.RawQuery)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
var tagsParam []string
|
|
||||||
if query.Has("tags") {
|
|
||||||
tagsParam = strings.Split(query.Get("tags"), ",")
|
|
||||||
}
|
|
||||||
var bornAfterParam time.Time
|
|
||||||
if query.Has("bornAfter"){
|
|
||||||
param, err := parseTime(query.Get("bornAfter"))
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "bornAfter", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
bornAfterParam = param
|
|
||||||
} else {
|
|
||||||
c.errorHandler(w, r, &RequiredError{"bornAfter"}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
var bornBeforeParam time.Time
|
|
||||||
if query.Has("bornBefore"){
|
|
||||||
param, err := parseTime(query.Get("bornBefore"))
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "bornBefore", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
bornBeforeParam = param
|
|
||||||
} else {
|
|
||||||
}
|
|
||||||
var colourParam Colour
|
|
||||||
if query.Has("colour") {
|
|
||||||
param := Colour(query.Get("colour"))
|
|
||||||
|
|
||||||
colourParam = param
|
|
||||||
} else {
|
|
||||||
}
|
|
||||||
result, err := c.service.FindPetsByTags(r.Context(), tagsParam, bornAfterParam, bornBeforeParam, colourParam)
|
|
||||||
// If an error occurred, encode the error with the status code
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, err, &result)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If no error, encode the body and the result code
|
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetPetById - Find pet by ID
|
|
||||||
func (c *PetAPIController) GetPetById(w http.ResponseWriter, r *http.Request) {
|
|
||||||
params := mux.Vars(r)
|
|
||||||
petIdParam, err := parseNumericParameter[int64](
|
|
||||||
params["petId"],
|
|
||||||
WithRequire[int64](parseInt64),
|
|
||||||
)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "petId", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
result, err := c.service.GetPetById(r.Context(), petIdParam)
|
|
||||||
// If an error occurred, encode the error with the status code
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, err, &result)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If no error, encode the body and the result code
|
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetPetImageById - Returns the image for the Pet that has been previously uploaded
|
|
||||||
func (c *PetAPIController) GetPetImageById(w http.ResponseWriter, r *http.Request) {
|
|
||||||
params := mux.Vars(r)
|
|
||||||
petIdParam, err := parseNumericParameter[int64](
|
|
||||||
params["petId"],
|
|
||||||
WithRequire[int64](parseInt64),
|
|
||||||
)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "petId", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
result, err := c.service.GetPetImageById(r.Context(), petIdParam)
|
|
||||||
// If an error occurred, encode the error with the status code
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, err, &result)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If no error, encode the body and the result code
|
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetPetsByTime - Get the pets by time
|
|
||||||
func (c *PetAPIController) GetPetsByTime(w http.ResponseWriter, r *http.Request) {
|
|
||||||
params := mux.Vars(r)
|
|
||||||
createdTimeParam, err := parseTime(params["createdTime"])
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "createdTime", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
result, err := c.service.GetPetsByTime(r.Context(), createdTimeParam)
|
|
||||||
// If an error occurred, encode the error with the status code
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, err, &result)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If no error, encode the body and the result code
|
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetPetsUsingBooleanQueryParameters - Get the pets by only using boolean query parameters
|
|
||||||
func (c *PetAPIController) GetPetsUsingBooleanQueryParameters(w http.ResponseWriter, r *http.Request) {
|
|
||||||
query, err := parseQuery(r.URL.RawQuery)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
var exprParam bool
|
|
||||||
if query.Has("expr") {
|
|
||||||
param, err := parseBoolParameter(
|
|
||||||
query.Get("expr"),
|
|
||||||
WithParse[bool](parseBool),
|
|
||||||
)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "expr", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
exprParam = param
|
|
||||||
} else {
|
|
||||||
c.errorHandler(w, r, &RequiredError{Field: "expr"}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
var groupingParam bool
|
|
||||||
if query.Has("grouping") {
|
|
||||||
param, err := parseBoolParameter(
|
|
||||||
query.Get("grouping"),
|
|
||||||
WithParse[bool](parseBool),
|
|
||||||
)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "grouping", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
groupingParam = param
|
|
||||||
} else {
|
|
||||||
}
|
|
||||||
var inactiveParam bool
|
|
||||||
if query.Has("inactive") {
|
|
||||||
param, err := parseBoolParameter(
|
|
||||||
query.Get("inactive"),
|
|
||||||
WithParse[bool](parseBool),
|
|
||||||
)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "inactive", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
inactiveParam = param
|
|
||||||
} else {
|
|
||||||
var param bool = false
|
|
||||||
inactiveParam = param
|
|
||||||
}
|
|
||||||
result, err := c.service.GetPetsUsingBooleanQueryParameters(r.Context(), exprParam, groupingParam, inactiveParam)
|
|
||||||
// If an error occurred, encode the error with the status code
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, err, &result)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If no error, encode the body and the result code
|
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// SearchPet - Search Pets by filters
|
// SearchPet - Search Pets by filters
|
||||||
func (c *PetAPIController) SearchPet(w http.ResponseWriter, r *http.Request) {
|
func (c *PetAPIController) SearchPet(w http.ResponseWriter, r *http.Request) {
|
||||||
query, err := parseQuery(r.URL.RawQuery)
|
query, err := parseQuery(r.URL.RawQuery)
|
||||||
@ -541,24 +325,116 @@ func (c *PetAPIController) SearchPet(w http.ResponseWriter, r *http.Request) {
|
|||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
// UpdatePet - Update an existing pet
|
// FindPetsByTags - Finds Pets by tags
|
||||||
func (c *PetAPIController) UpdatePet(w http.ResponseWriter, r *http.Request) {
|
// Deprecated
|
||||||
petParam := Pet{}
|
func (c *PetAPIController) FindPetsByTags(w http.ResponseWriter, r *http.Request) {
|
||||||
d := json.NewDecoder(r.Body)
|
query, err := parseQuery(r.URL.RawQuery)
|
||||||
d.DisallowUnknownFields()
|
if err != nil {
|
||||||
if err := d.Decode(&petParam); err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Err: err}, nil)
|
c.errorHandler(w, r, &ParsingError{Err: err}, nil)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if err := AssertPetRequired(petParam); err != nil {
|
var tagsParam []string
|
||||||
c.errorHandler(w, r, err, nil)
|
if query.Has("tags") {
|
||||||
|
tagsParam = strings.Split(query.Get("tags"), ",")
|
||||||
|
}
|
||||||
|
var bornAfterParam time.Time
|
||||||
|
if query.Has("bornAfter"){
|
||||||
|
param, err := parseTime(query.Get("bornAfter"))
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "bornAfter", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
bornAfterParam = param
|
||||||
|
} else {
|
||||||
|
c.errorHandler(w, r, &RequiredError{"bornAfter"}, nil)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if err := AssertPetConstraints(petParam); err != nil {
|
var bornBeforeParam time.Time
|
||||||
c.errorHandler(w, r, err, nil)
|
if query.Has("bornBefore"){
|
||||||
|
param, err := parseTime(query.Get("bornBefore"))
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "bornBefore", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
bornBeforeParam = param
|
||||||
|
} else {
|
||||||
|
}
|
||||||
|
var colourParam Colour
|
||||||
|
if query.Has("colour") {
|
||||||
|
param := Colour(query.Get("colour"))
|
||||||
|
|
||||||
|
colourParam = param
|
||||||
|
} else {
|
||||||
|
}
|
||||||
|
result, err := c.service.FindPetsByTags(r.Context(), tagsParam, bornAfterParam, bornBeforeParam, colourParam)
|
||||||
|
// If an error occurred, encode the error with the status code
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, err, &result)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
result, err := c.service.UpdatePet(r.Context(), petParam)
|
// If no error, encode the body and the result code
|
||||||
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
|
}
|
||||||
|
|
||||||
|
// FilterPetsByCategory - Finds Pets
|
||||||
|
func (c *PetAPIController) FilterPetsByCategory(w http.ResponseWriter, r *http.Request) {
|
||||||
|
params := mux.Vars(r)
|
||||||
|
query, err := parseQuery(r.URL.RawQuery)
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
genderParam, err := NewGenderFromValue(params["gender"])
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "gender", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
var speciesParam Species
|
||||||
|
if query.Has("species") {
|
||||||
|
param := Species(query.Get("species"))
|
||||||
|
|
||||||
|
speciesParam = param
|
||||||
|
} else {
|
||||||
|
c.errorHandler(w, r, &RequiredError{Field: "species"}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
var notSpeciesParam []Species
|
||||||
|
if query.Has("notSpecies") {
|
||||||
|
paramSplits := strings.Split(query.Get("notSpecies"), ",")
|
||||||
|
notSpeciesParam = make([]Species, 0, len(paramSplits))
|
||||||
|
for _, param := range paramSplits {
|
||||||
|
paramEnum, err := NewSpeciesFromValue(param)
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "notSpecies", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
notSpeciesParam = append(notSpeciesParam, paramEnum)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
result, err := c.service.FilterPetsByCategory(r.Context(), genderParam, speciesParam, notSpeciesParam)
|
||||||
|
// If an error occurred, encode the error with the status code
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, err, &result)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// If no error, encode the body and the result code
|
||||||
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetPetById - Find pet by ID
|
||||||
|
func (c *PetAPIController) GetPetById(w http.ResponseWriter, r *http.Request) {
|
||||||
|
params := mux.Vars(r)
|
||||||
|
petIdParam, err := parseNumericParameter[int64](
|
||||||
|
params["petId"],
|
||||||
|
WithRequire[int64](parseInt64),
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "petId", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
result, err := c.service.GetPetById(r.Context(), petIdParam)
|
||||||
// If an error occurred, encode the error with the status code
|
// If an error occurred, encode the error with the status code
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.errorHandler(w, r, err, &result)
|
c.errorHandler(w, r, err, &result)
|
||||||
@ -599,6 +475,49 @@ func (c *PetAPIController) UpdatePetWithForm(w http.ResponseWriter, r *http.Requ
|
|||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeletePet - Deletes a pet
|
||||||
|
func (c *PetAPIController) DeletePet(w http.ResponseWriter, r *http.Request) {
|
||||||
|
params := mux.Vars(r)
|
||||||
|
petIdParam, err := parseNumericParameter[int64](
|
||||||
|
params["petId"],
|
||||||
|
WithRequire[int64](parseInt64),
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "petId", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
apiKeyParam := r.Header.Get("api_key")
|
||||||
|
result, err := c.service.DeletePet(r.Context(), petIdParam, apiKeyParam)
|
||||||
|
// If an error occurred, encode the error with the status code
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, err, &result)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// If no error, encode the body and the result code
|
||||||
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetPetImageById - Returns the image for the Pet that has been previously uploaded
|
||||||
|
func (c *PetAPIController) GetPetImageById(w http.ResponseWriter, r *http.Request) {
|
||||||
|
params := mux.Vars(r)
|
||||||
|
petIdParam, err := parseNumericParameter[int64](
|
||||||
|
params["petId"],
|
||||||
|
WithRequire[int64](parseInt64),
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "petId", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
result, err := c.service.GetPetImageById(r.Context(), petIdParam)
|
||||||
|
// If an error occurred, encode the error with the status code
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, err, &result)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// If no error, encode the body and the result code
|
||||||
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
|
}
|
||||||
|
|
||||||
// UploadFile - uploads an image
|
// UploadFile - uploads an image
|
||||||
func (c *PetAPIController) UploadFile(w http.ResponseWriter, r *http.Request) {
|
func (c *PetAPIController) UploadFile(w http.ResponseWriter, r *http.Request) {
|
||||||
if err := r.ParseMultipartForm(32 << 20); err != nil {
|
if err := r.ParseMultipartForm(32 << 20); err != nil {
|
||||||
@ -681,3 +600,84 @@ func (c *PetAPIController) UploadFileArrayOfFiles(w http.ResponseWriter, r *http
|
|||||||
// If no error, encode the body and the result code
|
// If no error, encode the body and the result code
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetPetsUsingBooleanQueryParameters - Get the pets by only using boolean query parameters
|
||||||
|
func (c *PetAPIController) GetPetsUsingBooleanQueryParameters(w http.ResponseWriter, r *http.Request) {
|
||||||
|
query, err := parseQuery(r.URL.RawQuery)
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
var exprParam bool
|
||||||
|
if query.Has("expr") {
|
||||||
|
param, err := parseBoolParameter(
|
||||||
|
query.Get("expr"),
|
||||||
|
WithParse[bool](parseBool),
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "expr", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
exprParam = param
|
||||||
|
} else {
|
||||||
|
c.errorHandler(w, r, &RequiredError{Field: "expr"}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
var groupingParam bool
|
||||||
|
if query.Has("grouping") {
|
||||||
|
param, err := parseBoolParameter(
|
||||||
|
query.Get("grouping"),
|
||||||
|
WithParse[bool](parseBool),
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "grouping", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
groupingParam = param
|
||||||
|
} else {
|
||||||
|
}
|
||||||
|
var inactiveParam bool
|
||||||
|
if query.Has("inactive") {
|
||||||
|
param, err := parseBoolParameter(
|
||||||
|
query.Get("inactive"),
|
||||||
|
WithParse[bool](parseBool),
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "inactive", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
inactiveParam = param
|
||||||
|
} else {
|
||||||
|
var param bool = false
|
||||||
|
inactiveParam = param
|
||||||
|
}
|
||||||
|
result, err := c.service.GetPetsUsingBooleanQueryParameters(r.Context(), exprParam, groupingParam, inactiveParam)
|
||||||
|
// If an error occurred, encode the error with the status code
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, err, &result)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// If no error, encode the body and the result code
|
||||||
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetPetsByTime - Get the pets by time
|
||||||
|
func (c *PetAPIController) GetPetsByTime(w http.ResponseWriter, r *http.Request) {
|
||||||
|
params := mux.Vars(r)
|
||||||
|
createdTimeParam, err := parseTime(params["createdTime"])
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "createdTime", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
result, err := c.service.GetPetsByTime(r.Context(), createdTimeParam)
|
||||||
|
// If an error occurred, encode the error with the status code
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, err, &result)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// If no error, encode the body and the result code
|
||||||
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
|
}
|
||||||
|
@ -29,141 +29,6 @@ func NewPetAPIService() *PetAPIService {
|
|||||||
return &PetAPIService{}
|
return &PetAPIService{}
|
||||||
}
|
}
|
||||||
|
|
||||||
// AddPet - Add a new pet to the store
|
|
||||||
func (s *PetAPIService) AddPet(ctx context.Context, pet Pet) (ImplResponse, error) {
|
|
||||||
// TODO - update AddPet with the required logic for this service method.
|
|
||||||
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(200, Pet{}) or use other options such as http.Ok ...
|
|
||||||
// return Response(200, Pet{}), nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(405, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(405, nil),nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("AddPet method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeletePet - Deletes a pet
|
|
||||||
func (s *PetAPIService) DeletePet(ctx context.Context, petId int64, apiKey string) (ImplResponse, error) {
|
|
||||||
// TODO - update DeletePet with the required logic for this service method.
|
|
||||||
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(400, nil),nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("DeletePet method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// FilterPetsByCategory - Finds Pets
|
|
||||||
func (s *PetAPIService) FilterPetsByCategory(ctx context.Context, gender Gender, species Species, notSpecies []Species) (ImplResponse, error) {
|
|
||||||
// TODO - update FilterPetsByCategory with the required logic for this service method.
|
|
||||||
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(200, []Pet{}) or use other options such as http.Ok ...
|
|
||||||
// return Response(200, []Pet{}), nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(400, nil),nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("FilterPetsByCategory method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// FindPetsByStatus - Finds Pets by status
|
|
||||||
func (s *PetAPIService) FindPetsByStatus(ctx context.Context, status []string, inlineEnumPath string, inlineEnum string, defaultInt int32, defaultNum float32, defaultStr string) (ImplResponse, error) {
|
|
||||||
// TODO - update FindPetsByStatus with the required logic for this service method.
|
|
||||||
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(200, []Pet{}) or use other options such as http.Ok ...
|
|
||||||
// return Response(200, []Pet{}), nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(400, nil),nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("FindPetsByStatus method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// FindPetsByTags - Finds Pets by tags
|
|
||||||
// Deprecated
|
|
||||||
func (s *PetAPIService) FindPetsByTags(ctx context.Context, tags []string, bornAfter time.Time, bornBefore time.Time, colour Colour) (ImplResponse, error) {
|
|
||||||
// TODO - update FindPetsByTags with the required logic for this service method.
|
|
||||||
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(200, []Pet{}) or use other options such as http.Ok ...
|
|
||||||
// return Response(200, []Pet{}), nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(400, nil),nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("FindPetsByTags method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetPetById - Find pet by ID
|
|
||||||
func (s *PetAPIService) GetPetById(ctx context.Context, petId int64) (ImplResponse, error) {
|
|
||||||
// TODO - update GetPetById with the required logic for this service method.
|
|
||||||
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(200, Pet{}) or use other options such as http.Ok ...
|
|
||||||
// return Response(200, Pet{}), nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(400, nil),nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(404, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(404, nil),nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("GetPetById method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetPetImageById - Returns the image for the Pet that has been previously uploaded
|
|
||||||
func (s *PetAPIService) GetPetImageById(ctx context.Context, petId int64) (ImplResponse, error) {
|
|
||||||
// TODO - update GetPetImageById with the required logic for this service method.
|
|
||||||
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(200, *os.File{}) or use other options such as http.Ok ...
|
|
||||||
// return Response(200, *os.File{}), nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(400, nil),nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(404, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(404, nil),nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("GetPetImageById method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetPetsByTime - Get the pets by time
|
|
||||||
func (s *PetAPIService) GetPetsByTime(ctx context.Context, createdTime time.Time) (ImplResponse, error) {
|
|
||||||
// TODO - update GetPetsByTime with the required logic for this service method.
|
|
||||||
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(200, ApiResponse{}) or use other options such as http.Ok ...
|
|
||||||
// return Response(200, ApiResponse{}), nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("GetPetsByTime method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetPetsUsingBooleanQueryParameters - Get the pets by only using boolean query parameters
|
|
||||||
func (s *PetAPIService) GetPetsUsingBooleanQueryParameters(ctx context.Context, expr bool, grouping bool, inactive bool) (ImplResponse, error) {
|
|
||||||
// TODO - update GetPetsUsingBooleanQueryParameters with the required logic for this service method.
|
|
||||||
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(200, ApiResponse{}) or use other options such as http.Ok ...
|
|
||||||
// return Response(200, ApiResponse{}), nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("GetPetsUsingBooleanQueryParameters method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// SearchPet - Search Pets by filters
|
|
||||||
func (s *PetAPIService) SearchPet(ctx context.Context, age *int64, price *float32, bornAfter *time.Time, old *bool) (ImplResponse, error) {
|
|
||||||
// TODO - update SearchPet with the required logic for this service method.
|
|
||||||
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(200, []Pet{}) or use other options such as http.Ok ...
|
|
||||||
// return Response(200, []Pet{}), nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("SearchPet method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// UpdatePet - Update an existing pet
|
// UpdatePet - Update an existing pet
|
||||||
func (s *PetAPIService) UpdatePet(ctx context.Context, pet Pet) (ImplResponse, error) {
|
func (s *PetAPIService) UpdatePet(ctx context.Context, pet Pet) (ImplResponse, error) {
|
||||||
// TODO - update UpdatePet with the required logic for this service method.
|
// TODO - update UpdatePet with the required logic for this service method.
|
||||||
@ -184,6 +49,91 @@ func (s *PetAPIService) UpdatePet(ctx context.Context, pet Pet) (ImplResponse, e
|
|||||||
return Response(http.StatusNotImplemented, nil), errors.New("UpdatePet method not implemented")
|
return Response(http.StatusNotImplemented, nil), errors.New("UpdatePet method not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// AddPet - Add a new pet to the store
|
||||||
|
func (s *PetAPIService) AddPet(ctx context.Context, pet Pet) (ImplResponse, error) {
|
||||||
|
// TODO - update AddPet with the required logic for this service method.
|
||||||
|
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(200, Pet{}) or use other options such as http.Ok ...
|
||||||
|
// return Response(200, Pet{}), nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(405, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(405, nil),nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("AddPet method not implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
// FindPetsByStatus - Finds Pets by status
|
||||||
|
func (s *PetAPIService) FindPetsByStatus(ctx context.Context, status []string, inlineEnumPath string, inlineEnum string, defaultInt int32, defaultNum float32, defaultStr string) (ImplResponse, error) {
|
||||||
|
// TODO - update FindPetsByStatus with the required logic for this service method.
|
||||||
|
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(200, []Pet{}) or use other options such as http.Ok ...
|
||||||
|
// return Response(200, []Pet{}), nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(400, nil),nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("FindPetsByStatus method not implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
// SearchPet - Search Pets by filters
|
||||||
|
func (s *PetAPIService) SearchPet(ctx context.Context, age *int64, price *float32, bornAfter *time.Time, old *bool) (ImplResponse, error) {
|
||||||
|
// TODO - update SearchPet with the required logic for this service method.
|
||||||
|
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(200, []Pet{}) or use other options such as http.Ok ...
|
||||||
|
// return Response(200, []Pet{}), nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("SearchPet method not implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
// FindPetsByTags - Finds Pets by tags
|
||||||
|
// Deprecated
|
||||||
|
func (s *PetAPIService) FindPetsByTags(ctx context.Context, tags []string, bornAfter time.Time, bornBefore time.Time, colour Colour) (ImplResponse, error) {
|
||||||
|
// TODO - update FindPetsByTags with the required logic for this service method.
|
||||||
|
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(200, []Pet{}) or use other options such as http.Ok ...
|
||||||
|
// return Response(200, []Pet{}), nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(400, nil),nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("FindPetsByTags method not implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
// FilterPetsByCategory - Finds Pets
|
||||||
|
func (s *PetAPIService) FilterPetsByCategory(ctx context.Context, gender Gender, species Species, notSpecies []Species) (ImplResponse, error) {
|
||||||
|
// TODO - update FilterPetsByCategory with the required logic for this service method.
|
||||||
|
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(200, []Pet{}) or use other options such as http.Ok ...
|
||||||
|
// return Response(200, []Pet{}), nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(400, nil),nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("FilterPetsByCategory method not implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetPetById - Find pet by ID
|
||||||
|
func (s *PetAPIService) GetPetById(ctx context.Context, petId int64) (ImplResponse, error) {
|
||||||
|
// TODO - update GetPetById with the required logic for this service method.
|
||||||
|
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(200, Pet{}) or use other options such as http.Ok ...
|
||||||
|
// return Response(200, Pet{}), nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(400, nil),nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(404, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(404, nil),nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("GetPetById method not implemented")
|
||||||
|
}
|
||||||
|
|
||||||
// UpdatePetWithForm - Updates a pet in the store with form data
|
// UpdatePetWithForm - Updates a pet in the store with form data
|
||||||
func (s *PetAPIService) UpdatePetWithForm(ctx context.Context, petId int64, name string, status string) (ImplResponse, error) {
|
func (s *PetAPIService) UpdatePetWithForm(ctx context.Context, petId int64, name string, status string) (ImplResponse, error) {
|
||||||
// TODO - update UpdatePetWithForm with the required logic for this service method.
|
// TODO - update UpdatePetWithForm with the required logic for this service method.
|
||||||
@ -195,6 +145,34 @@ func (s *PetAPIService) UpdatePetWithForm(ctx context.Context, petId int64, name
|
|||||||
return Response(http.StatusNotImplemented, nil), errors.New("UpdatePetWithForm method not implemented")
|
return Response(http.StatusNotImplemented, nil), errors.New("UpdatePetWithForm method not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeletePet - Deletes a pet
|
||||||
|
func (s *PetAPIService) DeletePet(ctx context.Context, petId int64, apiKey string) (ImplResponse, error) {
|
||||||
|
// TODO - update DeletePet with the required logic for this service method.
|
||||||
|
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(400, nil),nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("DeletePet method not implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetPetImageById - Returns the image for the Pet that has been previously uploaded
|
||||||
|
func (s *PetAPIService) GetPetImageById(ctx context.Context, petId int64) (ImplResponse, error) {
|
||||||
|
// TODO - update GetPetImageById with the required logic for this service method.
|
||||||
|
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(200, *os.File{}) or use other options such as http.Ok ...
|
||||||
|
// return Response(200, *os.File{}), nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(400, nil),nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(404, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(404, nil),nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("GetPetImageById method not implemented")
|
||||||
|
}
|
||||||
|
|
||||||
// UploadFile - uploads an image
|
// UploadFile - uploads an image
|
||||||
func (s *PetAPIService) UploadFile(ctx context.Context, petId int64, additionalMetadata string, extraOptionalMetadata []string, file *os.File) (ImplResponse, error) {
|
func (s *PetAPIService) UploadFile(ctx context.Context, petId int64, additionalMetadata string, extraOptionalMetadata []string, file *os.File) (ImplResponse, error) {
|
||||||
// TODO - update UploadFile with the required logic for this service method.
|
// TODO - update UploadFile with the required logic for this service method.
|
||||||
@ -216,3 +194,25 @@ func (s *PetAPIService) UploadFileArrayOfFiles(ctx context.Context, petId int64,
|
|||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("UploadFileArrayOfFiles method not implemented")
|
return Response(http.StatusNotImplemented, nil), errors.New("UploadFileArrayOfFiles method not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetPetsUsingBooleanQueryParameters - Get the pets by only using boolean query parameters
|
||||||
|
func (s *PetAPIService) GetPetsUsingBooleanQueryParameters(ctx context.Context, expr bool, grouping bool, inactive bool) (ImplResponse, error) {
|
||||||
|
// TODO - update GetPetsUsingBooleanQueryParameters with the required logic for this service method.
|
||||||
|
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(200, ApiResponse{}) or use other options such as http.Ok ...
|
||||||
|
// return Response(200, ApiResponse{}), nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("GetPetsUsingBooleanQueryParameters method not implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetPetsByTime - Get the pets by time
|
||||||
|
func (s *PetAPIService) GetPetsByTime(ctx context.Context, createdTime time.Time) (ImplResponse, error) {
|
||||||
|
// TODO - update GetPetsByTime with the required logic for this service method.
|
||||||
|
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(200, ApiResponse{}) or use other options such as http.Ok ...
|
||||||
|
// return Response(200, ApiResponse{}), nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("GetPetsByTime method not implemented")
|
||||||
|
}
|
||||||
|
@ -51,47 +51,29 @@ func NewStoreAPIController(s StoreAPIServicer, opts ...StoreAPIOption) *StoreAPI
|
|||||||
// Routes returns all the api routes for the StoreAPIController
|
// Routes returns all the api routes for the StoreAPIController
|
||||||
func (c *StoreAPIController) Routes() Routes {
|
func (c *StoreAPIController) Routes() Routes {
|
||||||
return Routes{
|
return Routes{
|
||||||
"DeleteOrder": Route{
|
|
||||||
strings.ToUpper("Delete"),
|
|
||||||
"/v2/store/order/{orderId}",
|
|
||||||
c.DeleteOrder,
|
|
||||||
},
|
|
||||||
"GetInventory": Route{
|
"GetInventory": Route{
|
||||||
strings.ToUpper("Get"),
|
strings.ToUpper("Get"),
|
||||||
"/v2/store/inventory",
|
"/v2/store/inventory",
|
||||||
c.GetInventory,
|
c.GetInventory,
|
||||||
},
|
},
|
||||||
"GetOrderById": Route{
|
|
||||||
strings.ToUpper("Get"),
|
|
||||||
"/v2/store/order/{orderId}",
|
|
||||||
c.GetOrderById,
|
|
||||||
},
|
|
||||||
"PlaceOrder": Route{
|
"PlaceOrder": Route{
|
||||||
strings.ToUpper("Post"),
|
strings.ToUpper("Post"),
|
||||||
"/v2/store/order",
|
"/v2/store/order",
|
||||||
c.PlaceOrder,
|
c.PlaceOrder,
|
||||||
},
|
},
|
||||||
|
"GetOrderById": Route{
|
||||||
|
strings.ToUpper("Get"),
|
||||||
|
"/v2/store/order/{orderId}",
|
||||||
|
c.GetOrderById,
|
||||||
|
},
|
||||||
|
"DeleteOrder": Route{
|
||||||
|
strings.ToUpper("Delete"),
|
||||||
|
"/v2/store/order/{orderId}",
|
||||||
|
c.DeleteOrder,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeleteOrder - Delete purchase order by ID
|
|
||||||
func (c *StoreAPIController) DeleteOrder(w http.ResponseWriter, r *http.Request) {
|
|
||||||
params := mux.Vars(r)
|
|
||||||
orderIdParam := params["orderId"]
|
|
||||||
if orderIdParam == "" {
|
|
||||||
c.errorHandler(w, r, &RequiredError{"orderId"}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
result, err := c.service.DeleteOrder(r.Context(), orderIdParam)
|
|
||||||
// If an error occurred, encode the error with the status code
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, err, &result)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If no error, encode the body and the result code
|
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetInventory - Returns pet inventories by status
|
// GetInventory - Returns pet inventories by status
|
||||||
func (c *StoreAPIController) GetInventory(w http.ResponseWriter, r *http.Request) {
|
func (c *StoreAPIController) GetInventory(w http.ResponseWriter, r *http.Request) {
|
||||||
result, err := c.service.GetInventory(r.Context())
|
result, err := c.service.GetInventory(r.Context())
|
||||||
@ -104,29 +86,6 @@ func (c *StoreAPIController) GetInventory(w http.ResponseWriter, r *http.Request
|
|||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetOrderById - Find purchase order by ID
|
|
||||||
func (c *StoreAPIController) GetOrderById(w http.ResponseWriter, r *http.Request) {
|
|
||||||
params := mux.Vars(r)
|
|
||||||
orderIdParam, err := parseNumericParameter[int64](
|
|
||||||
params["orderId"],
|
|
||||||
WithRequire[int64](parseInt64),
|
|
||||||
WithMinimum[int64](1),
|
|
||||||
WithMaximum[int64](5),
|
|
||||||
)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "orderId", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
result, err := c.service.GetOrderById(r.Context(), orderIdParam)
|
|
||||||
// If an error occurred, encode the error with the status code
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, err, &result)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If no error, encode the body and the result code
|
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// PlaceOrder - Place an order for a pet
|
// PlaceOrder - Place an order for a pet
|
||||||
func (c *StoreAPIController) PlaceOrder(w http.ResponseWriter, r *http.Request) {
|
func (c *StoreAPIController) PlaceOrder(w http.ResponseWriter, r *http.Request) {
|
||||||
orderParam := Order{}
|
orderParam := Order{}
|
||||||
@ -153,3 +112,44 @@ func (c *StoreAPIController) PlaceOrder(w http.ResponseWriter, r *http.Request)
|
|||||||
// If no error, encode the body and the result code
|
// If no error, encode the body and the result code
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetOrderById - Find purchase order by ID
|
||||||
|
func (c *StoreAPIController) GetOrderById(w http.ResponseWriter, r *http.Request) {
|
||||||
|
params := mux.Vars(r)
|
||||||
|
orderIdParam, err := parseNumericParameter[int64](
|
||||||
|
params["orderId"],
|
||||||
|
WithRequire[int64](parseInt64),
|
||||||
|
WithMinimum[int64](1),
|
||||||
|
WithMaximum[int64](5),
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "orderId", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
result, err := c.service.GetOrderById(r.Context(), orderIdParam)
|
||||||
|
// If an error occurred, encode the error with the status code
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, err, &result)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// If no error, encode the body and the result code
|
||||||
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeleteOrder - Delete purchase order by ID
|
||||||
|
func (c *StoreAPIController) DeleteOrder(w http.ResponseWriter, r *http.Request) {
|
||||||
|
params := mux.Vars(r)
|
||||||
|
orderIdParam := params["orderId"]
|
||||||
|
if orderIdParam == "" {
|
||||||
|
c.errorHandler(w, r, &RequiredError{"orderId"}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
result, err := c.service.DeleteOrder(r.Context(), orderIdParam)
|
||||||
|
// If an error occurred, encode the error with the status code
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, err, &result)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// If no error, encode the body and the result code
|
||||||
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
|
}
|
||||||
|
@ -27,20 +27,6 @@ func NewStoreAPIService() *StoreAPIService {
|
|||||||
return &StoreAPIService{}
|
return &StoreAPIService{}
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeleteOrder - Delete purchase order by ID
|
|
||||||
func (s *StoreAPIService) DeleteOrder(ctx context.Context, orderId string) (ImplResponse, error) {
|
|
||||||
// TODO - update DeleteOrder with the required logic for this service method.
|
|
||||||
// Add api_store_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(400, nil),nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(404, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(404, nil),nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("DeleteOrder method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetInventory - Returns pet inventories by status
|
// GetInventory - Returns pet inventories by status
|
||||||
func (s *StoreAPIService) GetInventory(ctx context.Context) (ImplResponse, error) {
|
func (s *StoreAPIService) GetInventory(ctx context.Context) (ImplResponse, error) {
|
||||||
// TODO - update GetInventory with the required logic for this service method.
|
// TODO - update GetInventory with the required logic for this service method.
|
||||||
@ -52,6 +38,20 @@ func (s *StoreAPIService) GetInventory(ctx context.Context) (ImplResponse, error
|
|||||||
return Response(http.StatusNotImplemented, nil), errors.New("GetInventory method not implemented")
|
return Response(http.StatusNotImplemented, nil), errors.New("GetInventory method not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// PlaceOrder - Place an order for a pet
|
||||||
|
func (s *StoreAPIService) PlaceOrder(ctx context.Context, order Order) (ImplResponse, error) {
|
||||||
|
// TODO - update PlaceOrder with the required logic for this service method.
|
||||||
|
// Add api_store_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(200, Order{}) or use other options such as http.Ok ...
|
||||||
|
// return Response(200, Order{}), nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(400, nil),nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("PlaceOrder method not implemented")
|
||||||
|
}
|
||||||
|
|
||||||
// GetOrderById - Find purchase order by ID
|
// GetOrderById - Find purchase order by ID
|
||||||
func (s *StoreAPIService) GetOrderById(ctx context.Context, orderId int64) (ImplResponse, error) {
|
func (s *StoreAPIService) GetOrderById(ctx context.Context, orderId int64) (ImplResponse, error) {
|
||||||
// TODO - update GetOrderById with the required logic for this service method.
|
// TODO - update GetOrderById with the required logic for this service method.
|
||||||
@ -69,16 +69,16 @@ func (s *StoreAPIService) GetOrderById(ctx context.Context, orderId int64) (Impl
|
|||||||
return Response(http.StatusNotImplemented, nil), errors.New("GetOrderById method not implemented")
|
return Response(http.StatusNotImplemented, nil), errors.New("GetOrderById method not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
// PlaceOrder - Place an order for a pet
|
// DeleteOrder - Delete purchase order by ID
|
||||||
func (s *StoreAPIService) PlaceOrder(ctx context.Context, order Order) (ImplResponse, error) {
|
func (s *StoreAPIService) DeleteOrder(ctx context.Context, orderId string) (ImplResponse, error) {
|
||||||
// TODO - update PlaceOrder with the required logic for this service method.
|
// TODO - update DeleteOrder with the required logic for this service method.
|
||||||
// Add api_store_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
// Add api_store_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(200, Order{}) or use other options such as http.Ok ...
|
|
||||||
// return Response(200, Order{}), nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
||||||
// return Response(400, nil),nil
|
// return Response(400, nil),nil
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("PlaceOrder method not implemented")
|
// TODO: Uncomment the next line to return response Response(404, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(404, nil),nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("DeleteOrder method not implemented")
|
||||||
}
|
}
|
||||||
|
@ -66,16 +66,6 @@ func (c *UserAPIController) Routes() Routes {
|
|||||||
"/v2/user/createWithList",
|
"/v2/user/createWithList",
|
||||||
c.CreateUsersWithListInput,
|
c.CreateUsersWithListInput,
|
||||||
},
|
},
|
||||||
"DeleteUser": Route{
|
|
||||||
strings.ToUpper("Delete"),
|
|
||||||
"/v2/user/{username}",
|
|
||||||
c.DeleteUser,
|
|
||||||
},
|
|
||||||
"GetUserByName": Route{
|
|
||||||
strings.ToUpper("Get"),
|
|
||||||
"/v2/user/{username}",
|
|
||||||
c.GetUserByName,
|
|
||||||
},
|
|
||||||
"LoginUser": Route{
|
"LoginUser": Route{
|
||||||
strings.ToUpper("Get"),
|
strings.ToUpper("Get"),
|
||||||
"/v2/user/login",
|
"/v2/user/login",
|
||||||
@ -86,11 +76,21 @@ func (c *UserAPIController) Routes() Routes {
|
|||||||
"/v2/user/logout",
|
"/v2/user/logout",
|
||||||
c.LogoutUser,
|
c.LogoutUser,
|
||||||
},
|
},
|
||||||
|
"GetUserByName": Route{
|
||||||
|
strings.ToUpper("Get"),
|
||||||
|
"/v2/user/{username}",
|
||||||
|
c.GetUserByName,
|
||||||
|
},
|
||||||
"UpdateUser": Route{
|
"UpdateUser": Route{
|
||||||
strings.ToUpper("Put"),
|
strings.ToUpper("Put"),
|
||||||
"/v2/user/{username}",
|
"/v2/user/{username}",
|
||||||
c.UpdateUser,
|
c.UpdateUser,
|
||||||
},
|
},
|
||||||
|
"DeleteUser": Route{
|
||||||
|
strings.ToUpper("Delete"),
|
||||||
|
"/v2/user/{username}",
|
||||||
|
c.DeleteUser,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -171,61 +171,6 @@ func (c *UserAPIController) CreateUsersWithListInput(w http.ResponseWriter, r *h
|
|||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeleteUser - Delete user
|
|
||||||
func (c *UserAPIController) DeleteUser(w http.ResponseWriter, r *http.Request) {
|
|
||||||
params := mux.Vars(r)
|
|
||||||
query, err := parseQuery(r.URL.RawQuery)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
usernameParam := params["username"]
|
|
||||||
if usernameParam == "" {
|
|
||||||
c.errorHandler(w, r, &RequiredError{"username"}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
var confirmationParam bool
|
|
||||||
if query.Has("confirmation") {
|
|
||||||
param, err := parseBoolParameter(
|
|
||||||
query.Get("confirmation"),
|
|
||||||
WithParse[bool](parseBool),
|
|
||||||
)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "confirmation", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
confirmationParam = param
|
|
||||||
} else {
|
|
||||||
}
|
|
||||||
result, err := c.service.DeleteUser(r.Context(), usernameParam, confirmationParam)
|
|
||||||
// If an error occurred, encode the error with the status code
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, err, &result)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If no error, encode the body and the result code
|
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetUserByName - Get user by user name
|
|
||||||
func (c *UserAPIController) GetUserByName(w http.ResponseWriter, r *http.Request) {
|
|
||||||
params := mux.Vars(r)
|
|
||||||
usernameParam := params["username"]
|
|
||||||
if usernameParam == "" {
|
|
||||||
c.errorHandler(w, r, &RequiredError{"username"}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
result, err := c.service.GetUserByName(r.Context(), usernameParam)
|
|
||||||
// If an error occurred, encode the error with the status code
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, err, &result)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If no error, encode the body and the result code
|
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// LoginUser - Logs user into the system
|
// LoginUser - Logs user into the system
|
||||||
func (c *UserAPIController) LoginUser(w http.ResponseWriter, r *http.Request) {
|
func (c *UserAPIController) LoginUser(w http.ResponseWriter, r *http.Request) {
|
||||||
query, err := parseQuery(r.URL.RawQuery)
|
query, err := parseQuery(r.URL.RawQuery)
|
||||||
@ -287,6 +232,24 @@ func (c *UserAPIController) LogoutUser(w http.ResponseWriter, r *http.Request) {
|
|||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetUserByName - Get user by user name
|
||||||
|
func (c *UserAPIController) GetUserByName(w http.ResponseWriter, r *http.Request) {
|
||||||
|
params := mux.Vars(r)
|
||||||
|
usernameParam := params["username"]
|
||||||
|
if usernameParam == "" {
|
||||||
|
c.errorHandler(w, r, &RequiredError{"username"}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
result, err := c.service.GetUserByName(r.Context(), usernameParam)
|
||||||
|
// If an error occurred, encode the error with the status code
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, err, &result)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// If no error, encode the body and the result code
|
||||||
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
|
}
|
||||||
|
|
||||||
// UpdateUser - Updated user
|
// UpdateUser - Updated user
|
||||||
func (c *UserAPIController) UpdateUser(w http.ResponseWriter, r *http.Request) {
|
func (c *UserAPIController) UpdateUser(w http.ResponseWriter, r *http.Request) {
|
||||||
params := mux.Vars(r)
|
params := mux.Vars(r)
|
||||||
@ -319,3 +282,40 @@ func (c *UserAPIController) UpdateUser(w http.ResponseWriter, r *http.Request) {
|
|||||||
// If no error, encode the body and the result code
|
// If no error, encode the body and the result code
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeleteUser - Delete user
|
||||||
|
func (c *UserAPIController) DeleteUser(w http.ResponseWriter, r *http.Request) {
|
||||||
|
params := mux.Vars(r)
|
||||||
|
query, err := parseQuery(r.URL.RawQuery)
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
usernameParam := params["username"]
|
||||||
|
if usernameParam == "" {
|
||||||
|
c.errorHandler(w, r, &RequiredError{"username"}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
var confirmationParam bool
|
||||||
|
if query.Has("confirmation") {
|
||||||
|
param, err := parseBoolParameter(
|
||||||
|
query.Get("confirmation"),
|
||||||
|
WithParse[bool](parseBool),
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "confirmation", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
confirmationParam = param
|
||||||
|
} else {
|
||||||
|
}
|
||||||
|
result, err := c.service.DeleteUser(r.Context(), usernameParam, confirmationParam)
|
||||||
|
// If an error occurred, encode the error with the status code
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, err, &result)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// If no error, encode the body and the result code
|
||||||
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
|
}
|
||||||
|
@ -60,37 +60,6 @@ func (s *UserAPIService) CreateUsersWithListInput(ctx context.Context, user []Us
|
|||||||
return Response(http.StatusNotImplemented, nil), errors.New("CreateUsersWithListInput method not implemented")
|
return Response(http.StatusNotImplemented, nil), errors.New("CreateUsersWithListInput method not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeleteUser - Delete user
|
|
||||||
func (s *UserAPIService) DeleteUser(ctx context.Context, username string, confirmation bool) (ImplResponse, error) {
|
|
||||||
// TODO - update DeleteUser with the required logic for this service method.
|
|
||||||
// Add api_user_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(400, nil),nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(404, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(404, nil),nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("DeleteUser method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetUserByName - Get user by user name
|
|
||||||
func (s *UserAPIService) GetUserByName(ctx context.Context, username string) (ImplResponse, error) {
|
|
||||||
// TODO - update GetUserByName with the required logic for this service method.
|
|
||||||
// Add api_user_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(200, User{}) or use other options such as http.Ok ...
|
|
||||||
// return Response(200, User{}), nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(400, nil),nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(404, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(404, nil),nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("GetUserByName method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// LoginUser - Logs user into the system
|
// LoginUser - Logs user into the system
|
||||||
func (s *UserAPIService) LoginUser(ctx context.Context, username string, password string, rememberMe bool) (ImplResponse, error) {
|
func (s *UserAPIService) LoginUser(ctx context.Context, username string, password string, rememberMe bool) (ImplResponse, error) {
|
||||||
// TODO - update LoginUser with the required logic for this service method.
|
// TODO - update LoginUser with the required logic for this service method.
|
||||||
@ -116,6 +85,23 @@ func (s *UserAPIService) LogoutUser(ctx context.Context) (ImplResponse, error) {
|
|||||||
return Response(http.StatusNotImplemented, nil), errors.New("LogoutUser method not implemented")
|
return Response(http.StatusNotImplemented, nil), errors.New("LogoutUser method not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetUserByName - Get user by user name
|
||||||
|
func (s *UserAPIService) GetUserByName(ctx context.Context, username string) (ImplResponse, error) {
|
||||||
|
// TODO - update GetUserByName with the required logic for this service method.
|
||||||
|
// Add api_user_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(200, User{}) or use other options such as http.Ok ...
|
||||||
|
// return Response(200, User{}), nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(400, nil),nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(404, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(404, nil),nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("GetUserByName method not implemented")
|
||||||
|
}
|
||||||
|
|
||||||
// UpdateUser - Updated user
|
// UpdateUser - Updated user
|
||||||
func (s *UserAPIService) UpdateUser(ctx context.Context, username string, user User) (ImplResponse, error) {
|
func (s *UserAPIService) UpdateUser(ctx context.Context, username string, user User) (ImplResponse, error) {
|
||||||
// TODO - update UpdateUser with the required logic for this service method.
|
// TODO - update UpdateUser with the required logic for this service method.
|
||||||
@ -129,3 +115,17 @@ func (s *UserAPIService) UpdateUser(ctx context.Context, username string, user U
|
|||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("UpdateUser method not implemented")
|
return Response(http.StatusNotImplemented, nil), errors.New("UpdateUser method not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeleteUser - Delete user
|
||||||
|
func (s *UserAPIService) DeleteUser(ctx context.Context, username string, confirmation bool) (ImplResponse, error) {
|
||||||
|
// TODO - update DeleteUser with the required logic for this service method.
|
||||||
|
// Add api_user_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(400, nil),nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(404, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(404, nil),nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("DeleteUser method not implemented")
|
||||||
|
}
|
||||||
|
@ -23,30 +23,30 @@ import (
|
|||||||
// The PetAPIRouter implementation should parse necessary information from the http request,
|
// The PetAPIRouter implementation should parse necessary information from the http request,
|
||||||
// pass the data to a PetAPIServicer to perform the required actions, then write the service results to the http response.
|
// pass the data to a PetAPIServicer to perform the required actions, then write the service results to the http response.
|
||||||
type PetAPIRouter interface {
|
type PetAPIRouter interface {
|
||||||
|
UpdatePet(http.ResponseWriter, *http.Request)
|
||||||
AddPet(http.ResponseWriter, *http.Request)
|
AddPet(http.ResponseWriter, *http.Request)
|
||||||
DeletePet(http.ResponseWriter, *http.Request)
|
|
||||||
FilterPetsByCategory(http.ResponseWriter, *http.Request)
|
|
||||||
FindPetsByStatus(http.ResponseWriter, *http.Request)
|
FindPetsByStatus(http.ResponseWriter, *http.Request)
|
||||||
|
SearchPet(http.ResponseWriter, *http.Request)
|
||||||
// Deprecated
|
// Deprecated
|
||||||
FindPetsByTags(http.ResponseWriter, *http.Request)
|
FindPetsByTags(http.ResponseWriter, *http.Request)
|
||||||
|
FilterPetsByCategory(http.ResponseWriter, *http.Request)
|
||||||
GetPetById(http.ResponseWriter, *http.Request)
|
GetPetById(http.ResponseWriter, *http.Request)
|
||||||
GetPetImageById(http.ResponseWriter, *http.Request)
|
|
||||||
GetPetsByTime(http.ResponseWriter, *http.Request)
|
|
||||||
GetPetsUsingBooleanQueryParameters(http.ResponseWriter, *http.Request)
|
|
||||||
SearchPet(http.ResponseWriter, *http.Request)
|
|
||||||
UpdatePet(http.ResponseWriter, *http.Request)
|
|
||||||
UpdatePetWithForm(http.ResponseWriter, *http.Request)
|
UpdatePetWithForm(http.ResponseWriter, *http.Request)
|
||||||
|
DeletePet(http.ResponseWriter, *http.Request)
|
||||||
|
GetPetImageById(http.ResponseWriter, *http.Request)
|
||||||
UploadFile(http.ResponseWriter, *http.Request)
|
UploadFile(http.ResponseWriter, *http.Request)
|
||||||
UploadFileArrayOfFiles(http.ResponseWriter, *http.Request)
|
UploadFileArrayOfFiles(http.ResponseWriter, *http.Request)
|
||||||
|
GetPetsUsingBooleanQueryParameters(http.ResponseWriter, *http.Request)
|
||||||
|
GetPetsByTime(http.ResponseWriter, *http.Request)
|
||||||
}
|
}
|
||||||
// StoreAPIRouter defines the required methods for binding the api requests to a responses for the StoreAPI
|
// StoreAPIRouter defines the required methods for binding the api requests to a responses for the StoreAPI
|
||||||
// The StoreAPIRouter implementation should parse necessary information from the http request,
|
// The StoreAPIRouter implementation should parse necessary information from the http request,
|
||||||
// pass the data to a StoreAPIServicer to perform the required actions, then write the service results to the http response.
|
// pass the data to a StoreAPIServicer to perform the required actions, then write the service results to the http response.
|
||||||
type StoreAPIRouter interface {
|
type StoreAPIRouter interface {
|
||||||
DeleteOrder(http.ResponseWriter, *http.Request)
|
|
||||||
GetInventory(http.ResponseWriter, *http.Request)
|
GetInventory(http.ResponseWriter, *http.Request)
|
||||||
GetOrderById(http.ResponseWriter, *http.Request)
|
|
||||||
PlaceOrder(http.ResponseWriter, *http.Request)
|
PlaceOrder(http.ResponseWriter, *http.Request)
|
||||||
|
GetOrderById(http.ResponseWriter, *http.Request)
|
||||||
|
DeleteOrder(http.ResponseWriter, *http.Request)
|
||||||
}
|
}
|
||||||
// UserAPIRouter defines the required methods for binding the api requests to a responses for the UserAPI
|
// UserAPIRouter defines the required methods for binding the api requests to a responses for the UserAPI
|
||||||
// The UserAPIRouter implementation should parse necessary information from the http request,
|
// The UserAPIRouter implementation should parse necessary information from the http request,
|
||||||
@ -55,11 +55,11 @@ type UserAPIRouter interface {
|
|||||||
CreateUser(http.ResponseWriter, *http.Request)
|
CreateUser(http.ResponseWriter, *http.Request)
|
||||||
CreateUsersWithArrayInput(http.ResponseWriter, *http.Request)
|
CreateUsersWithArrayInput(http.ResponseWriter, *http.Request)
|
||||||
CreateUsersWithListInput(http.ResponseWriter, *http.Request)
|
CreateUsersWithListInput(http.ResponseWriter, *http.Request)
|
||||||
DeleteUser(http.ResponseWriter, *http.Request)
|
|
||||||
GetUserByName(http.ResponseWriter, *http.Request)
|
|
||||||
LoginUser(http.ResponseWriter, *http.Request)
|
LoginUser(http.ResponseWriter, *http.Request)
|
||||||
LogoutUser(http.ResponseWriter, *http.Request)
|
LogoutUser(http.ResponseWriter, *http.Request)
|
||||||
|
GetUserByName(http.ResponseWriter, *http.Request)
|
||||||
UpdateUser(http.ResponseWriter, *http.Request)
|
UpdateUser(http.ResponseWriter, *http.Request)
|
||||||
|
DeleteUser(http.ResponseWriter, *http.Request)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -68,21 +68,21 @@ type UserAPIRouter interface {
|
|||||||
// while the service implementation can be ignored with the .openapi-generator-ignore file
|
// while the service implementation can be ignored with the .openapi-generator-ignore file
|
||||||
// and updated with the logic required for the API.
|
// and updated with the logic required for the API.
|
||||||
type PetAPIServicer interface {
|
type PetAPIServicer interface {
|
||||||
|
UpdatePet(context.Context, Pet) (ImplResponse, error)
|
||||||
AddPet(context.Context, Pet) (ImplResponse, error)
|
AddPet(context.Context, Pet) (ImplResponse, error)
|
||||||
DeletePet(context.Context, int64, string) (ImplResponse, error)
|
|
||||||
FilterPetsByCategory(context.Context, Gender, Species, []Species) (ImplResponse, error)
|
|
||||||
FindPetsByStatus(context.Context, []string, string, string, int32, float32, string) (ImplResponse, error)
|
FindPetsByStatus(context.Context, []string, string, string, int32, float32, string) (ImplResponse, error)
|
||||||
|
SearchPet(context.Context, *int64, *float32, *time.Time, *bool) (ImplResponse, error)
|
||||||
// Deprecated
|
// Deprecated
|
||||||
FindPetsByTags(context.Context, []string, time.Time, time.Time, Colour) (ImplResponse, error)
|
FindPetsByTags(context.Context, []string, time.Time, time.Time, Colour) (ImplResponse, error)
|
||||||
|
FilterPetsByCategory(context.Context, Gender, Species, []Species) (ImplResponse, error)
|
||||||
GetPetById(context.Context, int64) (ImplResponse, error)
|
GetPetById(context.Context, int64) (ImplResponse, error)
|
||||||
GetPetImageById(context.Context, int64) (ImplResponse, error)
|
|
||||||
GetPetsByTime(context.Context, time.Time) (ImplResponse, error)
|
|
||||||
GetPetsUsingBooleanQueryParameters(context.Context, bool, bool, bool) (ImplResponse, error)
|
|
||||||
SearchPet(context.Context, *int64, *float32, *time.Time, *bool) (ImplResponse, error)
|
|
||||||
UpdatePet(context.Context, Pet) (ImplResponse, error)
|
|
||||||
UpdatePetWithForm(context.Context, int64, string, string) (ImplResponse, error)
|
UpdatePetWithForm(context.Context, int64, string, string) (ImplResponse, error)
|
||||||
|
DeletePet(context.Context, int64, string) (ImplResponse, error)
|
||||||
|
GetPetImageById(context.Context, int64) (ImplResponse, error)
|
||||||
UploadFile(context.Context, int64, string, []string, *os.File) (ImplResponse, error)
|
UploadFile(context.Context, int64, string, []string, *os.File) (ImplResponse, error)
|
||||||
UploadFileArrayOfFiles(context.Context, int64, string, []*os.File) (ImplResponse, error)
|
UploadFileArrayOfFiles(context.Context, int64, string, []*os.File) (ImplResponse, error)
|
||||||
|
GetPetsUsingBooleanQueryParameters(context.Context, bool, bool, bool) (ImplResponse, error)
|
||||||
|
GetPetsByTime(context.Context, time.Time) (ImplResponse, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -91,10 +91,10 @@ type PetAPIServicer interface {
|
|||||||
// while the service implementation can be ignored with the .openapi-generator-ignore file
|
// while the service implementation can be ignored with the .openapi-generator-ignore file
|
||||||
// and updated with the logic required for the API.
|
// and updated with the logic required for the API.
|
||||||
type StoreAPIServicer interface {
|
type StoreAPIServicer interface {
|
||||||
DeleteOrder(context.Context, string) (ImplResponse, error)
|
|
||||||
GetInventory(context.Context) (ImplResponse, error)
|
GetInventory(context.Context) (ImplResponse, error)
|
||||||
GetOrderById(context.Context, int64) (ImplResponse, error)
|
|
||||||
PlaceOrder(context.Context, Order) (ImplResponse, error)
|
PlaceOrder(context.Context, Order) (ImplResponse, error)
|
||||||
|
GetOrderById(context.Context, int64) (ImplResponse, error)
|
||||||
|
DeleteOrder(context.Context, string) (ImplResponse, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -106,9 +106,9 @@ type UserAPIServicer interface {
|
|||||||
CreateUser(context.Context, User) (ImplResponse, error)
|
CreateUser(context.Context, User) (ImplResponse, error)
|
||||||
CreateUsersWithArrayInput(context.Context, []User) (ImplResponse, error)
|
CreateUsersWithArrayInput(context.Context, []User) (ImplResponse, error)
|
||||||
CreateUsersWithListInput(context.Context, []User) (ImplResponse, error)
|
CreateUsersWithListInput(context.Context, []User) (ImplResponse, error)
|
||||||
DeleteUser(context.Context, string, bool) (ImplResponse, error)
|
|
||||||
GetUserByName(context.Context, string) (ImplResponse, error)
|
|
||||||
LoginUser(context.Context, string, string, bool) (ImplResponse, error)
|
LoginUser(context.Context, string, string, bool) (ImplResponse, error)
|
||||||
LogoutUser(context.Context) (ImplResponse, error)
|
LogoutUser(context.Context) (ImplResponse, error)
|
||||||
|
GetUserByName(context.Context, string) (ImplResponse, error)
|
||||||
UpdateUser(context.Context, string, User) (ImplResponse, error)
|
UpdateUser(context.Context, string, User) (ImplResponse, error)
|
||||||
|
DeleteUser(context.Context, string, bool) (ImplResponse, error)
|
||||||
}
|
}
|
||||||
|
@ -53,66 +53,56 @@ func NewPetAPIController(s PetAPIServicer, opts ...PetAPIOption) *PetAPIControll
|
|||||||
// Routes returns all the api routes for the PetAPIController
|
// Routes returns all the api routes for the PetAPIController
|
||||||
func (c *PetAPIController) Routes() Routes {
|
func (c *PetAPIController) Routes() Routes {
|
||||||
return Routes{
|
return Routes{
|
||||||
|
"UpdatePet": Route{
|
||||||
|
strings.ToUpper("Put"),
|
||||||
|
"/v2/pet",
|
||||||
|
c.UpdatePet,
|
||||||
|
},
|
||||||
"AddPet": Route{
|
"AddPet": Route{
|
||||||
strings.ToUpper("Post"),
|
strings.ToUpper("Post"),
|
||||||
"/v2/pet",
|
"/v2/pet",
|
||||||
c.AddPet,
|
c.AddPet,
|
||||||
},
|
},
|
||||||
"DeletePet": Route{
|
|
||||||
strings.ToUpper("Delete"),
|
|
||||||
"/v2/pet/{petId}",
|
|
||||||
c.DeletePet,
|
|
||||||
},
|
|
||||||
"FilterPetsByCategory": Route{
|
|
||||||
strings.ToUpper("Get"),
|
|
||||||
"/v2/pet/filterPets/{gender}",
|
|
||||||
c.FilterPetsByCategory,
|
|
||||||
},
|
|
||||||
"FindPetsByStatus": Route{
|
"FindPetsByStatus": Route{
|
||||||
strings.ToUpper("Get"),
|
strings.ToUpper("Get"),
|
||||||
"/v2/pet/findByStatus",
|
"/v2/pet/findByStatus",
|
||||||
c.FindPetsByStatus,
|
c.FindPetsByStatus,
|
||||||
},
|
},
|
||||||
|
"SearchPet": Route{
|
||||||
|
strings.ToUpper("Get"),
|
||||||
|
"/v2/pet/searchPetWithManyFilters",
|
||||||
|
c.SearchPet,
|
||||||
|
},
|
||||||
"FindPetsByTags": Route{
|
"FindPetsByTags": Route{
|
||||||
strings.ToUpper("Get"),
|
strings.ToUpper("Get"),
|
||||||
"/v2/pet/findByTags",
|
"/v2/pet/findByTags",
|
||||||
c.FindPetsByTags,
|
c.FindPetsByTags,
|
||||||
},
|
},
|
||||||
|
"FilterPetsByCategory": Route{
|
||||||
|
strings.ToUpper("Get"),
|
||||||
|
"/v2/pet/filterPets/{gender}",
|
||||||
|
c.FilterPetsByCategory,
|
||||||
|
},
|
||||||
"GetPetById": Route{
|
"GetPetById": Route{
|
||||||
strings.ToUpper("Get"),
|
strings.ToUpper("Get"),
|
||||||
"/v2/pet/{petId}",
|
"/v2/pet/{petId}",
|
||||||
c.GetPetById,
|
c.GetPetById,
|
||||||
},
|
},
|
||||||
"GetPetImageById": Route{
|
|
||||||
strings.ToUpper("Get"),
|
|
||||||
"/v2/pet/{petId}/uploadImage",
|
|
||||||
c.GetPetImageById,
|
|
||||||
},
|
|
||||||
"GetPetsByTime": Route{
|
|
||||||
strings.ToUpper("Get"),
|
|
||||||
"/v2/pets/byTime/{createdTime}",
|
|
||||||
c.GetPetsByTime,
|
|
||||||
},
|
|
||||||
"GetPetsUsingBooleanQueryParameters": Route{
|
|
||||||
strings.ToUpper("Get"),
|
|
||||||
"/v2/pets/boolean/parsing",
|
|
||||||
c.GetPetsUsingBooleanQueryParameters,
|
|
||||||
},
|
|
||||||
"SearchPet": Route{
|
|
||||||
strings.ToUpper("Get"),
|
|
||||||
"/v2/pet/searchPetWithManyFilters",
|
|
||||||
c.SearchPet,
|
|
||||||
},
|
|
||||||
"UpdatePet": Route{
|
|
||||||
strings.ToUpper("Put"),
|
|
||||||
"/v2/pet",
|
|
||||||
c.UpdatePet,
|
|
||||||
},
|
|
||||||
"UpdatePetWithForm": Route{
|
"UpdatePetWithForm": Route{
|
||||||
strings.ToUpper("Post"),
|
strings.ToUpper("Post"),
|
||||||
"/v2/pet/{petId}",
|
"/v2/pet/{petId}",
|
||||||
c.UpdatePetWithForm,
|
c.UpdatePetWithForm,
|
||||||
},
|
},
|
||||||
|
"DeletePet": Route{
|
||||||
|
strings.ToUpper("Delete"),
|
||||||
|
"/v2/pet/{petId}",
|
||||||
|
c.DeletePet,
|
||||||
|
},
|
||||||
|
"GetPetImageById": Route{
|
||||||
|
strings.ToUpper("Get"),
|
||||||
|
"/v2/pet/{petId}/uploadImage",
|
||||||
|
c.GetPetImageById,
|
||||||
|
},
|
||||||
"UploadFile": Route{
|
"UploadFile": Route{
|
||||||
strings.ToUpper("Post"),
|
strings.ToUpper("Post"),
|
||||||
"/v2/pet/{petId}/uploadImage",
|
"/v2/pet/{petId}/uploadImage",
|
||||||
@ -123,9 +113,46 @@ func (c *PetAPIController) Routes() Routes {
|
|||||||
"/v2/fake/uploadImage/array of_file",
|
"/v2/fake/uploadImage/array of_file",
|
||||||
c.UploadFileArrayOfFiles,
|
c.UploadFileArrayOfFiles,
|
||||||
},
|
},
|
||||||
|
"GetPetsUsingBooleanQueryParameters": Route{
|
||||||
|
strings.ToUpper("Get"),
|
||||||
|
"/v2/pets/boolean/parsing",
|
||||||
|
c.GetPetsUsingBooleanQueryParameters,
|
||||||
|
},
|
||||||
|
"GetPetsByTime": Route{
|
||||||
|
strings.ToUpper("Get"),
|
||||||
|
"/v2/pets/byTime/{createdTime}",
|
||||||
|
c.GetPetsByTime,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UpdatePet - Update an existing pet
|
||||||
|
func (c *PetAPIController) UpdatePet(w http.ResponseWriter, r *http.Request) {
|
||||||
|
petParam := Pet{}
|
||||||
|
d := json.NewDecoder(r.Body)
|
||||||
|
d.DisallowUnknownFields()
|
||||||
|
if err := d.Decode(&petParam); err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := AssertPetRequired(petParam); err != nil {
|
||||||
|
c.errorHandler(w, r, err, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := AssertPetConstraints(petParam); err != nil {
|
||||||
|
c.errorHandler(w, r, err, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
result, err := c.service.UpdatePet(r.Context(), petParam)
|
||||||
|
// If an error occurred, encode the error with the status code
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, err, &result)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// If no error, encode the body and the result code
|
||||||
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
|
}
|
||||||
|
|
||||||
// AddPet - Add a new pet to the store
|
// AddPet - Add a new pet to the store
|
||||||
func (c *PetAPIController) AddPet(w http.ResponseWriter, r *http.Request) {
|
func (c *PetAPIController) AddPet(w http.ResponseWriter, r *http.Request) {
|
||||||
petParam := Pet{}
|
petParam := Pet{}
|
||||||
@ -153,71 +180,6 @@ func (c *PetAPIController) AddPet(w http.ResponseWriter, r *http.Request) {
|
|||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeletePet - Deletes a pet
|
|
||||||
func (c *PetAPIController) DeletePet(w http.ResponseWriter, r *http.Request) {
|
|
||||||
petIdParam, err := parseNumericParameter[int64](
|
|
||||||
chi.URLParam(r, "petId"),
|
|
||||||
WithRequire[int64](parseInt64),
|
|
||||||
)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "petId", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
apiKeyParam := r.Header.Get("api_key")
|
|
||||||
result, err := c.service.DeletePet(r.Context(), petIdParam, apiKeyParam)
|
|
||||||
// If an error occurred, encode the error with the status code
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, err, &result)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If no error, encode the body and the result code
|
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// FilterPetsByCategory - Finds Pets
|
|
||||||
func (c *PetAPIController) FilterPetsByCategory(w http.ResponseWriter, r *http.Request) {
|
|
||||||
query, err := parseQuery(r.URL.RawQuery)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
genderParam, err := NewGenderFromValue(chi.URLParam(r, "gender"))
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "gender", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
var speciesParam Species
|
|
||||||
if query.Has("species") {
|
|
||||||
param := Species(query.Get("species"))
|
|
||||||
|
|
||||||
speciesParam = param
|
|
||||||
} else {
|
|
||||||
c.errorHandler(w, r, &RequiredError{Field: "species"}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
var notSpeciesParam []Species
|
|
||||||
if query.Has("notSpecies") {
|
|
||||||
paramSplits := strings.Split(query.Get("notSpecies"), ",")
|
|
||||||
notSpeciesParam = make([]Species, 0, len(paramSplits))
|
|
||||||
for _, param := range paramSplits {
|
|
||||||
paramEnum, err := NewSpeciesFromValue(param)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "notSpecies", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
notSpeciesParam = append(notSpeciesParam, paramEnum)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
result, err := c.service.FilterPetsByCategory(r.Context(), genderParam, speciesParam, notSpeciesParam)
|
|
||||||
// If an error occurred, encode the error with the status code
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, err, &result)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If no error, encode the body and the result code
|
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// FindPetsByStatus - Finds Pets by status
|
// FindPetsByStatus - Finds Pets by status
|
||||||
func (c *PetAPIController) FindPetsByStatus(w http.ResponseWriter, r *http.Request) {
|
func (c *PetAPIController) FindPetsByStatus(w http.ResponseWriter, r *http.Request) {
|
||||||
query, err := parseQuery(r.URL.RawQuery)
|
query, err := parseQuery(r.URL.RawQuery)
|
||||||
@ -292,179 +254,6 @@ func (c *PetAPIController) FindPetsByStatus(w http.ResponseWriter, r *http.Reque
|
|||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
// FindPetsByTags - Finds Pets by tags
|
|
||||||
// Deprecated
|
|
||||||
func (c *PetAPIController) FindPetsByTags(w http.ResponseWriter, r *http.Request) {
|
|
||||||
query, err := parseQuery(r.URL.RawQuery)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
var tagsParam []string
|
|
||||||
if query.Has("tags") {
|
|
||||||
tagsParam = strings.Split(query.Get("tags"), ",")
|
|
||||||
}
|
|
||||||
var bornAfterParam time.Time
|
|
||||||
if query.Has("bornAfter"){
|
|
||||||
param, err := parseTime(query.Get("bornAfter"))
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "bornAfter", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
bornAfterParam = param
|
|
||||||
} else {
|
|
||||||
c.errorHandler(w, r, &RequiredError{"bornAfter"}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
var bornBeforeParam time.Time
|
|
||||||
if query.Has("bornBefore"){
|
|
||||||
param, err := parseTime(query.Get("bornBefore"))
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "bornBefore", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
bornBeforeParam = param
|
|
||||||
} else {
|
|
||||||
}
|
|
||||||
var colourParam Colour
|
|
||||||
if query.Has("colour") {
|
|
||||||
param := Colour(query.Get("colour"))
|
|
||||||
|
|
||||||
colourParam = param
|
|
||||||
} else {
|
|
||||||
}
|
|
||||||
result, err := c.service.FindPetsByTags(r.Context(), tagsParam, bornAfterParam, bornBeforeParam, colourParam)
|
|
||||||
// If an error occurred, encode the error with the status code
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, err, &result)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If no error, encode the body and the result code
|
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetPetById - Find pet by ID
|
|
||||||
func (c *PetAPIController) GetPetById(w http.ResponseWriter, r *http.Request) {
|
|
||||||
petIdParam, err := parseNumericParameter[int64](
|
|
||||||
chi.URLParam(r, "petId"),
|
|
||||||
WithRequire[int64](parseInt64),
|
|
||||||
)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "petId", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
result, err := c.service.GetPetById(r.Context(), petIdParam)
|
|
||||||
// If an error occurred, encode the error with the status code
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, err, &result)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If no error, encode the body and the result code
|
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetPetImageById - Returns the image for the Pet that has been previously uploaded
|
|
||||||
func (c *PetAPIController) GetPetImageById(w http.ResponseWriter, r *http.Request) {
|
|
||||||
petIdParam, err := parseNumericParameter[int64](
|
|
||||||
chi.URLParam(r, "petId"),
|
|
||||||
WithRequire[int64](parseInt64),
|
|
||||||
)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "petId", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
result, err := c.service.GetPetImageById(r.Context(), petIdParam)
|
|
||||||
// If an error occurred, encode the error with the status code
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, err, &result)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If no error, encode the body and the result code
|
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetPetsByTime - Get the pets by time
|
|
||||||
func (c *PetAPIController) GetPetsByTime(w http.ResponseWriter, r *http.Request) {
|
|
||||||
createdTimeParam, err := parseTime(chi.URLParam(r, "createdTime"))
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "createdTime", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
result, err := c.service.GetPetsByTime(r.Context(), createdTimeParam)
|
|
||||||
// If an error occurred, encode the error with the status code
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, err, &result)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If no error, encode the body and the result code
|
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetPetsUsingBooleanQueryParameters - Get the pets by only using boolean query parameters
|
|
||||||
func (c *PetAPIController) GetPetsUsingBooleanQueryParameters(w http.ResponseWriter, r *http.Request) {
|
|
||||||
query, err := parseQuery(r.URL.RawQuery)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
var exprParam bool
|
|
||||||
if query.Has("expr") {
|
|
||||||
param, err := parseBoolParameter(
|
|
||||||
query.Get("expr"),
|
|
||||||
WithParse[bool](parseBool),
|
|
||||||
)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "expr", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
exprParam = param
|
|
||||||
} else {
|
|
||||||
c.errorHandler(w, r, &RequiredError{Field: "expr"}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
var groupingParam bool
|
|
||||||
if query.Has("grouping") {
|
|
||||||
param, err := parseBoolParameter(
|
|
||||||
query.Get("grouping"),
|
|
||||||
WithParse[bool](parseBool),
|
|
||||||
)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "grouping", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
groupingParam = param
|
|
||||||
} else {
|
|
||||||
}
|
|
||||||
var inactiveParam bool
|
|
||||||
if query.Has("inactive") {
|
|
||||||
param, err := parseBoolParameter(
|
|
||||||
query.Get("inactive"),
|
|
||||||
WithParse[bool](parseBool),
|
|
||||||
)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "inactive", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
inactiveParam = param
|
|
||||||
} else {
|
|
||||||
var param bool = false
|
|
||||||
inactiveParam = param
|
|
||||||
}
|
|
||||||
result, err := c.service.GetPetsUsingBooleanQueryParameters(r.Context(), exprParam, groupingParam, inactiveParam)
|
|
||||||
// If an error occurred, encode the error with the status code
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, err, &result)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If no error, encode the body and the result code
|
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// SearchPet - Search Pets by filters
|
// SearchPet - Search Pets by filters
|
||||||
func (c *PetAPIController) SearchPet(w http.ResponseWriter, r *http.Request) {
|
func (c *PetAPIController) SearchPet(w http.ResponseWriter, r *http.Request) {
|
||||||
query, err := parseQuery(r.URL.RawQuery)
|
query, err := parseQuery(r.URL.RawQuery)
|
||||||
@ -535,24 +324,114 @@ func (c *PetAPIController) SearchPet(w http.ResponseWriter, r *http.Request) {
|
|||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
// UpdatePet - Update an existing pet
|
// FindPetsByTags - Finds Pets by tags
|
||||||
func (c *PetAPIController) UpdatePet(w http.ResponseWriter, r *http.Request) {
|
// Deprecated
|
||||||
petParam := Pet{}
|
func (c *PetAPIController) FindPetsByTags(w http.ResponseWriter, r *http.Request) {
|
||||||
d := json.NewDecoder(r.Body)
|
query, err := parseQuery(r.URL.RawQuery)
|
||||||
d.DisallowUnknownFields()
|
if err != nil {
|
||||||
if err := d.Decode(&petParam); err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Err: err}, nil)
|
c.errorHandler(w, r, &ParsingError{Err: err}, nil)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if err := AssertPetRequired(petParam); err != nil {
|
var tagsParam []string
|
||||||
c.errorHandler(w, r, err, nil)
|
if query.Has("tags") {
|
||||||
|
tagsParam = strings.Split(query.Get("tags"), ",")
|
||||||
|
}
|
||||||
|
var bornAfterParam time.Time
|
||||||
|
if query.Has("bornAfter"){
|
||||||
|
param, err := parseTime(query.Get("bornAfter"))
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "bornAfter", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
bornAfterParam = param
|
||||||
|
} else {
|
||||||
|
c.errorHandler(w, r, &RequiredError{"bornAfter"}, nil)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if err := AssertPetConstraints(petParam); err != nil {
|
var bornBeforeParam time.Time
|
||||||
c.errorHandler(w, r, err, nil)
|
if query.Has("bornBefore"){
|
||||||
|
param, err := parseTime(query.Get("bornBefore"))
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "bornBefore", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
bornBeforeParam = param
|
||||||
|
} else {
|
||||||
|
}
|
||||||
|
var colourParam Colour
|
||||||
|
if query.Has("colour") {
|
||||||
|
param := Colour(query.Get("colour"))
|
||||||
|
|
||||||
|
colourParam = param
|
||||||
|
} else {
|
||||||
|
}
|
||||||
|
result, err := c.service.FindPetsByTags(r.Context(), tagsParam, bornAfterParam, bornBeforeParam, colourParam)
|
||||||
|
// If an error occurred, encode the error with the status code
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, err, &result)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
result, err := c.service.UpdatePet(r.Context(), petParam)
|
// If no error, encode the body and the result code
|
||||||
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
|
}
|
||||||
|
|
||||||
|
// FilterPetsByCategory - Finds Pets
|
||||||
|
func (c *PetAPIController) FilterPetsByCategory(w http.ResponseWriter, r *http.Request) {
|
||||||
|
query, err := parseQuery(r.URL.RawQuery)
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
genderParam, err := NewGenderFromValue(chi.URLParam(r, "gender"))
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "gender", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
var speciesParam Species
|
||||||
|
if query.Has("species") {
|
||||||
|
param := Species(query.Get("species"))
|
||||||
|
|
||||||
|
speciesParam = param
|
||||||
|
} else {
|
||||||
|
c.errorHandler(w, r, &RequiredError{Field: "species"}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
var notSpeciesParam []Species
|
||||||
|
if query.Has("notSpecies") {
|
||||||
|
paramSplits := strings.Split(query.Get("notSpecies"), ",")
|
||||||
|
notSpeciesParam = make([]Species, 0, len(paramSplits))
|
||||||
|
for _, param := range paramSplits {
|
||||||
|
paramEnum, err := NewSpeciesFromValue(param)
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "notSpecies", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
notSpeciesParam = append(notSpeciesParam, paramEnum)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
result, err := c.service.FilterPetsByCategory(r.Context(), genderParam, speciesParam, notSpeciesParam)
|
||||||
|
// If an error occurred, encode the error with the status code
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, err, &result)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// If no error, encode the body and the result code
|
||||||
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetPetById - Find pet by ID
|
||||||
|
func (c *PetAPIController) GetPetById(w http.ResponseWriter, r *http.Request) {
|
||||||
|
petIdParam, err := parseNumericParameter[int64](
|
||||||
|
chi.URLParam(r, "petId"),
|
||||||
|
WithRequire[int64](parseInt64),
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "petId", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
result, err := c.service.GetPetById(r.Context(), petIdParam)
|
||||||
// If an error occurred, encode the error with the status code
|
// If an error occurred, encode the error with the status code
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.errorHandler(w, r, err, &result)
|
c.errorHandler(w, r, err, &result)
|
||||||
@ -592,6 +471,47 @@ func (c *PetAPIController) UpdatePetWithForm(w http.ResponseWriter, r *http.Requ
|
|||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeletePet - Deletes a pet
|
||||||
|
func (c *PetAPIController) DeletePet(w http.ResponseWriter, r *http.Request) {
|
||||||
|
petIdParam, err := parseNumericParameter[int64](
|
||||||
|
chi.URLParam(r, "petId"),
|
||||||
|
WithRequire[int64](parseInt64),
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "petId", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
apiKeyParam := r.Header.Get("api_key")
|
||||||
|
result, err := c.service.DeletePet(r.Context(), petIdParam, apiKeyParam)
|
||||||
|
// If an error occurred, encode the error with the status code
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, err, &result)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// If no error, encode the body and the result code
|
||||||
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetPetImageById - Returns the image for the Pet that has been previously uploaded
|
||||||
|
func (c *PetAPIController) GetPetImageById(w http.ResponseWriter, r *http.Request) {
|
||||||
|
petIdParam, err := parseNumericParameter[int64](
|
||||||
|
chi.URLParam(r, "petId"),
|
||||||
|
WithRequire[int64](parseInt64),
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "petId", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
result, err := c.service.GetPetImageById(r.Context(), petIdParam)
|
||||||
|
// If an error occurred, encode the error with the status code
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, err, &result)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// If no error, encode the body and the result code
|
||||||
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
|
}
|
||||||
|
|
||||||
// UploadFile - uploads an image
|
// UploadFile - uploads an image
|
||||||
func (c *PetAPIController) UploadFile(w http.ResponseWriter, r *http.Request) {
|
func (c *PetAPIController) UploadFile(w http.ResponseWriter, r *http.Request) {
|
||||||
if err := r.ParseMultipartForm(32 << 20); err != nil {
|
if err := r.ParseMultipartForm(32 << 20); err != nil {
|
||||||
@ -672,3 +592,83 @@ func (c *PetAPIController) UploadFileArrayOfFiles(w http.ResponseWriter, r *http
|
|||||||
// If no error, encode the body and the result code
|
// If no error, encode the body and the result code
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetPetsUsingBooleanQueryParameters - Get the pets by only using boolean query parameters
|
||||||
|
func (c *PetAPIController) GetPetsUsingBooleanQueryParameters(w http.ResponseWriter, r *http.Request) {
|
||||||
|
query, err := parseQuery(r.URL.RawQuery)
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
var exprParam bool
|
||||||
|
if query.Has("expr") {
|
||||||
|
param, err := parseBoolParameter(
|
||||||
|
query.Get("expr"),
|
||||||
|
WithParse[bool](parseBool),
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "expr", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
exprParam = param
|
||||||
|
} else {
|
||||||
|
c.errorHandler(w, r, &RequiredError{Field: "expr"}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
var groupingParam bool
|
||||||
|
if query.Has("grouping") {
|
||||||
|
param, err := parseBoolParameter(
|
||||||
|
query.Get("grouping"),
|
||||||
|
WithParse[bool](parseBool),
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "grouping", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
groupingParam = param
|
||||||
|
} else {
|
||||||
|
}
|
||||||
|
var inactiveParam bool
|
||||||
|
if query.Has("inactive") {
|
||||||
|
param, err := parseBoolParameter(
|
||||||
|
query.Get("inactive"),
|
||||||
|
WithParse[bool](parseBool),
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "inactive", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
inactiveParam = param
|
||||||
|
} else {
|
||||||
|
var param bool = false
|
||||||
|
inactiveParam = param
|
||||||
|
}
|
||||||
|
result, err := c.service.GetPetsUsingBooleanQueryParameters(r.Context(), exprParam, groupingParam, inactiveParam)
|
||||||
|
// If an error occurred, encode the error with the status code
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, err, &result)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// If no error, encode the body and the result code
|
||||||
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetPetsByTime - Get the pets by time
|
||||||
|
func (c *PetAPIController) GetPetsByTime(w http.ResponseWriter, r *http.Request) {
|
||||||
|
createdTimeParam, err := parseTime(chi.URLParam(r, "createdTime"))
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "createdTime", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
result, err := c.service.GetPetsByTime(r.Context(), createdTimeParam)
|
||||||
|
// If an error occurred, encode the error with the status code
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, err, &result)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// If no error, encode the body and the result code
|
||||||
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
|
}
|
||||||
|
@ -29,141 +29,6 @@ func NewPetAPIService() *PetAPIService {
|
|||||||
return &PetAPIService{}
|
return &PetAPIService{}
|
||||||
}
|
}
|
||||||
|
|
||||||
// AddPet - Add a new pet to the store
|
|
||||||
func (s *PetAPIService) AddPet(ctx context.Context, pet Pet) (ImplResponse, error) {
|
|
||||||
// TODO - update AddPet with the required logic for this service method.
|
|
||||||
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(200, Pet{}) or use other options such as http.Ok ...
|
|
||||||
// return Response(200, Pet{}), nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(405, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(405, nil),nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("AddPet method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeletePet - Deletes a pet
|
|
||||||
func (s *PetAPIService) DeletePet(ctx context.Context, petId int64, apiKey string) (ImplResponse, error) {
|
|
||||||
// TODO - update DeletePet with the required logic for this service method.
|
|
||||||
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(400, nil),nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("DeletePet method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// FilterPetsByCategory - Finds Pets
|
|
||||||
func (s *PetAPIService) FilterPetsByCategory(ctx context.Context, gender Gender, species Species, notSpecies []Species) (ImplResponse, error) {
|
|
||||||
// TODO - update FilterPetsByCategory with the required logic for this service method.
|
|
||||||
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(200, []Pet{}) or use other options such as http.Ok ...
|
|
||||||
// return Response(200, []Pet{}), nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(400, nil),nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("FilterPetsByCategory method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// FindPetsByStatus - Finds Pets by status
|
|
||||||
func (s *PetAPIService) FindPetsByStatus(ctx context.Context, status []string, inlineEnumPath string, inlineEnum string, defaultInt int32, defaultNum float32, defaultStr string) (ImplResponse, error) {
|
|
||||||
// TODO - update FindPetsByStatus with the required logic for this service method.
|
|
||||||
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(200, []Pet{}) or use other options such as http.Ok ...
|
|
||||||
// return Response(200, []Pet{}), nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(400, nil),nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("FindPetsByStatus method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// FindPetsByTags - Finds Pets by tags
|
|
||||||
// Deprecated
|
|
||||||
func (s *PetAPIService) FindPetsByTags(ctx context.Context, tags []string, bornAfter time.Time, bornBefore time.Time, colour Colour) (ImplResponse, error) {
|
|
||||||
// TODO - update FindPetsByTags with the required logic for this service method.
|
|
||||||
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(200, []Pet{}) or use other options such as http.Ok ...
|
|
||||||
// return Response(200, []Pet{}), nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(400, nil),nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("FindPetsByTags method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetPetById - Find pet by ID
|
|
||||||
func (s *PetAPIService) GetPetById(ctx context.Context, petId int64) (ImplResponse, error) {
|
|
||||||
// TODO - update GetPetById with the required logic for this service method.
|
|
||||||
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(200, Pet{}) or use other options such as http.Ok ...
|
|
||||||
// return Response(200, Pet{}), nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(400, nil),nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(404, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(404, nil),nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("GetPetById method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetPetImageById - Returns the image for the Pet that has been previously uploaded
|
|
||||||
func (s *PetAPIService) GetPetImageById(ctx context.Context, petId int64) (ImplResponse, error) {
|
|
||||||
// TODO - update GetPetImageById with the required logic for this service method.
|
|
||||||
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(200, *os.File{}) or use other options such as http.Ok ...
|
|
||||||
// return Response(200, *os.File{}), nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(400, nil),nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(404, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(404, nil),nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("GetPetImageById method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetPetsByTime - Get the pets by time
|
|
||||||
func (s *PetAPIService) GetPetsByTime(ctx context.Context, createdTime time.Time) (ImplResponse, error) {
|
|
||||||
// TODO - update GetPetsByTime with the required logic for this service method.
|
|
||||||
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(200, ApiResponse{}) or use other options such as http.Ok ...
|
|
||||||
// return Response(200, ApiResponse{}), nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("GetPetsByTime method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetPetsUsingBooleanQueryParameters - Get the pets by only using boolean query parameters
|
|
||||||
func (s *PetAPIService) GetPetsUsingBooleanQueryParameters(ctx context.Context, expr bool, grouping bool, inactive bool) (ImplResponse, error) {
|
|
||||||
// TODO - update GetPetsUsingBooleanQueryParameters with the required logic for this service method.
|
|
||||||
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(200, ApiResponse{}) or use other options such as http.Ok ...
|
|
||||||
// return Response(200, ApiResponse{}), nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("GetPetsUsingBooleanQueryParameters method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// SearchPet - Search Pets by filters
|
|
||||||
func (s *PetAPIService) SearchPet(ctx context.Context, age *int64, price *float32, bornAfter *time.Time, old *bool) (ImplResponse, error) {
|
|
||||||
// TODO - update SearchPet with the required logic for this service method.
|
|
||||||
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(200, []Pet{}) or use other options such as http.Ok ...
|
|
||||||
// return Response(200, []Pet{}), nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("SearchPet method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// UpdatePet - Update an existing pet
|
// UpdatePet - Update an existing pet
|
||||||
func (s *PetAPIService) UpdatePet(ctx context.Context, pet Pet) (ImplResponse, error) {
|
func (s *PetAPIService) UpdatePet(ctx context.Context, pet Pet) (ImplResponse, error) {
|
||||||
// TODO - update UpdatePet with the required logic for this service method.
|
// TODO - update UpdatePet with the required logic for this service method.
|
||||||
@ -184,6 +49,91 @@ func (s *PetAPIService) UpdatePet(ctx context.Context, pet Pet) (ImplResponse, e
|
|||||||
return Response(http.StatusNotImplemented, nil), errors.New("UpdatePet method not implemented")
|
return Response(http.StatusNotImplemented, nil), errors.New("UpdatePet method not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// AddPet - Add a new pet to the store
|
||||||
|
func (s *PetAPIService) AddPet(ctx context.Context, pet Pet) (ImplResponse, error) {
|
||||||
|
// TODO - update AddPet with the required logic for this service method.
|
||||||
|
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(200, Pet{}) or use other options such as http.Ok ...
|
||||||
|
// return Response(200, Pet{}), nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(405, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(405, nil),nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("AddPet method not implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
// FindPetsByStatus - Finds Pets by status
|
||||||
|
func (s *PetAPIService) FindPetsByStatus(ctx context.Context, status []string, inlineEnumPath string, inlineEnum string, defaultInt int32, defaultNum float32, defaultStr string) (ImplResponse, error) {
|
||||||
|
// TODO - update FindPetsByStatus with the required logic for this service method.
|
||||||
|
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(200, []Pet{}) or use other options such as http.Ok ...
|
||||||
|
// return Response(200, []Pet{}), nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(400, nil),nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("FindPetsByStatus method not implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
// SearchPet - Search Pets by filters
|
||||||
|
func (s *PetAPIService) SearchPet(ctx context.Context, age *int64, price *float32, bornAfter *time.Time, old *bool) (ImplResponse, error) {
|
||||||
|
// TODO - update SearchPet with the required logic for this service method.
|
||||||
|
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(200, []Pet{}) or use other options such as http.Ok ...
|
||||||
|
// return Response(200, []Pet{}), nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("SearchPet method not implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
// FindPetsByTags - Finds Pets by tags
|
||||||
|
// Deprecated
|
||||||
|
func (s *PetAPIService) FindPetsByTags(ctx context.Context, tags []string, bornAfter time.Time, bornBefore time.Time, colour Colour) (ImplResponse, error) {
|
||||||
|
// TODO - update FindPetsByTags with the required logic for this service method.
|
||||||
|
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(200, []Pet{}) or use other options such as http.Ok ...
|
||||||
|
// return Response(200, []Pet{}), nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(400, nil),nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("FindPetsByTags method not implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
// FilterPetsByCategory - Finds Pets
|
||||||
|
func (s *PetAPIService) FilterPetsByCategory(ctx context.Context, gender Gender, species Species, notSpecies []Species) (ImplResponse, error) {
|
||||||
|
// TODO - update FilterPetsByCategory with the required logic for this service method.
|
||||||
|
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(200, []Pet{}) or use other options such as http.Ok ...
|
||||||
|
// return Response(200, []Pet{}), nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(400, nil),nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("FilterPetsByCategory method not implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetPetById - Find pet by ID
|
||||||
|
func (s *PetAPIService) GetPetById(ctx context.Context, petId int64) (ImplResponse, error) {
|
||||||
|
// TODO - update GetPetById with the required logic for this service method.
|
||||||
|
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(200, Pet{}) or use other options such as http.Ok ...
|
||||||
|
// return Response(200, Pet{}), nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(400, nil),nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(404, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(404, nil),nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("GetPetById method not implemented")
|
||||||
|
}
|
||||||
|
|
||||||
// UpdatePetWithForm - Updates a pet in the store with form data
|
// UpdatePetWithForm - Updates a pet in the store with form data
|
||||||
func (s *PetAPIService) UpdatePetWithForm(ctx context.Context, petId int64, name string, status string) (ImplResponse, error) {
|
func (s *PetAPIService) UpdatePetWithForm(ctx context.Context, petId int64, name string, status string) (ImplResponse, error) {
|
||||||
// TODO - update UpdatePetWithForm with the required logic for this service method.
|
// TODO - update UpdatePetWithForm with the required logic for this service method.
|
||||||
@ -195,6 +145,34 @@ func (s *PetAPIService) UpdatePetWithForm(ctx context.Context, petId int64, name
|
|||||||
return Response(http.StatusNotImplemented, nil), errors.New("UpdatePetWithForm method not implemented")
|
return Response(http.StatusNotImplemented, nil), errors.New("UpdatePetWithForm method not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeletePet - Deletes a pet
|
||||||
|
func (s *PetAPIService) DeletePet(ctx context.Context, petId int64, apiKey string) (ImplResponse, error) {
|
||||||
|
// TODO - update DeletePet with the required logic for this service method.
|
||||||
|
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(400, nil),nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("DeletePet method not implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetPetImageById - Returns the image for the Pet that has been previously uploaded
|
||||||
|
func (s *PetAPIService) GetPetImageById(ctx context.Context, petId int64) (ImplResponse, error) {
|
||||||
|
// TODO - update GetPetImageById with the required logic for this service method.
|
||||||
|
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(200, *os.File{}) or use other options such as http.Ok ...
|
||||||
|
// return Response(200, *os.File{}), nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(400, nil),nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(404, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(404, nil),nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("GetPetImageById method not implemented")
|
||||||
|
}
|
||||||
|
|
||||||
// UploadFile - uploads an image
|
// UploadFile - uploads an image
|
||||||
func (s *PetAPIService) UploadFile(ctx context.Context, petId int64, additionalMetadata string, extraOptionalMetadata []string, file *os.File) (ImplResponse, error) {
|
func (s *PetAPIService) UploadFile(ctx context.Context, petId int64, additionalMetadata string, extraOptionalMetadata []string, file *os.File) (ImplResponse, error) {
|
||||||
// TODO - update UploadFile with the required logic for this service method.
|
// TODO - update UploadFile with the required logic for this service method.
|
||||||
@ -216,3 +194,25 @@ func (s *PetAPIService) UploadFileArrayOfFiles(ctx context.Context, petId int64,
|
|||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("UploadFileArrayOfFiles method not implemented")
|
return Response(http.StatusNotImplemented, nil), errors.New("UploadFileArrayOfFiles method not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetPetsUsingBooleanQueryParameters - Get the pets by only using boolean query parameters
|
||||||
|
func (s *PetAPIService) GetPetsUsingBooleanQueryParameters(ctx context.Context, expr bool, grouping bool, inactive bool) (ImplResponse, error) {
|
||||||
|
// TODO - update GetPetsUsingBooleanQueryParameters with the required logic for this service method.
|
||||||
|
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(200, ApiResponse{}) or use other options such as http.Ok ...
|
||||||
|
// return Response(200, ApiResponse{}), nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("GetPetsUsingBooleanQueryParameters method not implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetPetsByTime - Get the pets by time
|
||||||
|
func (s *PetAPIService) GetPetsByTime(ctx context.Context, createdTime time.Time) (ImplResponse, error) {
|
||||||
|
// TODO - update GetPetsByTime with the required logic for this service method.
|
||||||
|
// Add api_pet_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(200, ApiResponse{}) or use other options such as http.Ok ...
|
||||||
|
// return Response(200, ApiResponse{}), nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("GetPetsByTime method not implemented")
|
||||||
|
}
|
||||||
|
@ -51,46 +51,29 @@ func NewStoreAPIController(s StoreAPIServicer, opts ...StoreAPIOption) *StoreAPI
|
|||||||
// Routes returns all the api routes for the StoreAPIController
|
// Routes returns all the api routes for the StoreAPIController
|
||||||
func (c *StoreAPIController) Routes() Routes {
|
func (c *StoreAPIController) Routes() Routes {
|
||||||
return Routes{
|
return Routes{
|
||||||
"DeleteOrder": Route{
|
|
||||||
strings.ToUpper("Delete"),
|
|
||||||
"/v2/store/order/{orderId}",
|
|
||||||
c.DeleteOrder,
|
|
||||||
},
|
|
||||||
"GetInventory": Route{
|
"GetInventory": Route{
|
||||||
strings.ToUpper("Get"),
|
strings.ToUpper("Get"),
|
||||||
"/v2/store/inventory",
|
"/v2/store/inventory",
|
||||||
c.GetInventory,
|
c.GetInventory,
|
||||||
},
|
},
|
||||||
"GetOrderById": Route{
|
|
||||||
strings.ToUpper("Get"),
|
|
||||||
"/v2/store/order/{orderId}",
|
|
||||||
c.GetOrderById,
|
|
||||||
},
|
|
||||||
"PlaceOrder": Route{
|
"PlaceOrder": Route{
|
||||||
strings.ToUpper("Post"),
|
strings.ToUpper("Post"),
|
||||||
"/v2/store/order",
|
"/v2/store/order",
|
||||||
c.PlaceOrder,
|
c.PlaceOrder,
|
||||||
},
|
},
|
||||||
|
"GetOrderById": Route{
|
||||||
|
strings.ToUpper("Get"),
|
||||||
|
"/v2/store/order/{orderId}",
|
||||||
|
c.GetOrderById,
|
||||||
|
},
|
||||||
|
"DeleteOrder": Route{
|
||||||
|
strings.ToUpper("Delete"),
|
||||||
|
"/v2/store/order/{orderId}",
|
||||||
|
c.DeleteOrder,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeleteOrder - Delete purchase order by ID
|
|
||||||
func (c *StoreAPIController) DeleteOrder(w http.ResponseWriter, r *http.Request) {
|
|
||||||
orderIdParam := chi.URLParam(r, "orderId")
|
|
||||||
if orderIdParam == "" {
|
|
||||||
c.errorHandler(w, r, &RequiredError{"orderId"}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
result, err := c.service.DeleteOrder(r.Context(), orderIdParam)
|
|
||||||
// If an error occurred, encode the error with the status code
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, err, &result)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If no error, encode the body and the result code
|
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetInventory - Returns pet inventories by status
|
// GetInventory - Returns pet inventories by status
|
||||||
func (c *StoreAPIController) GetInventory(w http.ResponseWriter, r *http.Request) {
|
func (c *StoreAPIController) GetInventory(w http.ResponseWriter, r *http.Request) {
|
||||||
result, err := c.service.GetInventory(r.Context())
|
result, err := c.service.GetInventory(r.Context())
|
||||||
@ -103,28 +86,6 @@ func (c *StoreAPIController) GetInventory(w http.ResponseWriter, r *http.Request
|
|||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetOrderById - Find purchase order by ID
|
|
||||||
func (c *StoreAPIController) GetOrderById(w http.ResponseWriter, r *http.Request) {
|
|
||||||
orderIdParam, err := parseNumericParameter[int64](
|
|
||||||
chi.URLParam(r, "orderId"),
|
|
||||||
WithRequire[int64](parseInt64),
|
|
||||||
WithMinimum[int64](1),
|
|
||||||
WithMaximum[int64](5),
|
|
||||||
)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "orderId", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
result, err := c.service.GetOrderById(r.Context(), orderIdParam)
|
|
||||||
// If an error occurred, encode the error with the status code
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, err, &result)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If no error, encode the body and the result code
|
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// PlaceOrder - Place an order for a pet
|
// PlaceOrder - Place an order for a pet
|
||||||
func (c *StoreAPIController) PlaceOrder(w http.ResponseWriter, r *http.Request) {
|
func (c *StoreAPIController) PlaceOrder(w http.ResponseWriter, r *http.Request) {
|
||||||
orderParam := Order{}
|
orderParam := Order{}
|
||||||
@ -151,3 +112,42 @@ func (c *StoreAPIController) PlaceOrder(w http.ResponseWriter, r *http.Request)
|
|||||||
// If no error, encode the body and the result code
|
// If no error, encode the body and the result code
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetOrderById - Find purchase order by ID
|
||||||
|
func (c *StoreAPIController) GetOrderById(w http.ResponseWriter, r *http.Request) {
|
||||||
|
orderIdParam, err := parseNumericParameter[int64](
|
||||||
|
chi.URLParam(r, "orderId"),
|
||||||
|
WithRequire[int64](parseInt64),
|
||||||
|
WithMinimum[int64](1),
|
||||||
|
WithMaximum[int64](5),
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "orderId", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
result, err := c.service.GetOrderById(r.Context(), orderIdParam)
|
||||||
|
// If an error occurred, encode the error with the status code
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, err, &result)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// If no error, encode the body and the result code
|
||||||
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeleteOrder - Delete purchase order by ID
|
||||||
|
func (c *StoreAPIController) DeleteOrder(w http.ResponseWriter, r *http.Request) {
|
||||||
|
orderIdParam := chi.URLParam(r, "orderId")
|
||||||
|
if orderIdParam == "" {
|
||||||
|
c.errorHandler(w, r, &RequiredError{"orderId"}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
result, err := c.service.DeleteOrder(r.Context(), orderIdParam)
|
||||||
|
// If an error occurred, encode the error with the status code
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, err, &result)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// If no error, encode the body and the result code
|
||||||
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
|
}
|
||||||
|
@ -27,20 +27,6 @@ func NewStoreAPIService() *StoreAPIService {
|
|||||||
return &StoreAPIService{}
|
return &StoreAPIService{}
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeleteOrder - Delete purchase order by ID
|
|
||||||
func (s *StoreAPIService) DeleteOrder(ctx context.Context, orderId string) (ImplResponse, error) {
|
|
||||||
// TODO - update DeleteOrder with the required logic for this service method.
|
|
||||||
// Add api_store_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(400, nil),nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(404, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(404, nil),nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("DeleteOrder method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetInventory - Returns pet inventories by status
|
// GetInventory - Returns pet inventories by status
|
||||||
func (s *StoreAPIService) GetInventory(ctx context.Context) (ImplResponse, error) {
|
func (s *StoreAPIService) GetInventory(ctx context.Context) (ImplResponse, error) {
|
||||||
// TODO - update GetInventory with the required logic for this service method.
|
// TODO - update GetInventory with the required logic for this service method.
|
||||||
@ -52,6 +38,20 @@ func (s *StoreAPIService) GetInventory(ctx context.Context) (ImplResponse, error
|
|||||||
return Response(http.StatusNotImplemented, nil), errors.New("GetInventory method not implemented")
|
return Response(http.StatusNotImplemented, nil), errors.New("GetInventory method not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// PlaceOrder - Place an order for a pet
|
||||||
|
func (s *StoreAPIService) PlaceOrder(ctx context.Context, order Order) (ImplResponse, error) {
|
||||||
|
// TODO - update PlaceOrder with the required logic for this service method.
|
||||||
|
// Add api_store_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(200, Order{}) or use other options such as http.Ok ...
|
||||||
|
// return Response(200, Order{}), nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(400, nil),nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("PlaceOrder method not implemented")
|
||||||
|
}
|
||||||
|
|
||||||
// GetOrderById - Find purchase order by ID
|
// GetOrderById - Find purchase order by ID
|
||||||
func (s *StoreAPIService) GetOrderById(ctx context.Context, orderId int64) (ImplResponse, error) {
|
func (s *StoreAPIService) GetOrderById(ctx context.Context, orderId int64) (ImplResponse, error) {
|
||||||
// TODO - update GetOrderById with the required logic for this service method.
|
// TODO - update GetOrderById with the required logic for this service method.
|
||||||
@ -69,16 +69,16 @@ func (s *StoreAPIService) GetOrderById(ctx context.Context, orderId int64) (Impl
|
|||||||
return Response(http.StatusNotImplemented, nil), errors.New("GetOrderById method not implemented")
|
return Response(http.StatusNotImplemented, nil), errors.New("GetOrderById method not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
// PlaceOrder - Place an order for a pet
|
// DeleteOrder - Delete purchase order by ID
|
||||||
func (s *StoreAPIService) PlaceOrder(ctx context.Context, order Order) (ImplResponse, error) {
|
func (s *StoreAPIService) DeleteOrder(ctx context.Context, orderId string) (ImplResponse, error) {
|
||||||
// TODO - update PlaceOrder with the required logic for this service method.
|
// TODO - update DeleteOrder with the required logic for this service method.
|
||||||
// Add api_store_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
// Add api_store_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(200, Order{}) or use other options such as http.Ok ...
|
|
||||||
// return Response(200, Order{}), nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
||||||
// return Response(400, nil),nil
|
// return Response(400, nil),nil
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("PlaceOrder method not implemented")
|
// TODO: Uncomment the next line to return response Response(404, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(404, nil),nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("DeleteOrder method not implemented")
|
||||||
}
|
}
|
||||||
|
@ -66,16 +66,6 @@ func (c *UserAPIController) Routes() Routes {
|
|||||||
"/v2/user/createWithList",
|
"/v2/user/createWithList",
|
||||||
c.CreateUsersWithListInput,
|
c.CreateUsersWithListInput,
|
||||||
},
|
},
|
||||||
"DeleteUser": Route{
|
|
||||||
strings.ToUpper("Delete"),
|
|
||||||
"/v2/user/{username}",
|
|
||||||
c.DeleteUser,
|
|
||||||
},
|
|
||||||
"GetUserByName": Route{
|
|
||||||
strings.ToUpper("Get"),
|
|
||||||
"/v2/user/{username}",
|
|
||||||
c.GetUserByName,
|
|
||||||
},
|
|
||||||
"LoginUser": Route{
|
"LoginUser": Route{
|
||||||
strings.ToUpper("Get"),
|
strings.ToUpper("Get"),
|
||||||
"/v2/user/login",
|
"/v2/user/login",
|
||||||
@ -86,11 +76,21 @@ func (c *UserAPIController) Routes() Routes {
|
|||||||
"/v2/user/logout",
|
"/v2/user/logout",
|
||||||
c.LogoutUser,
|
c.LogoutUser,
|
||||||
},
|
},
|
||||||
|
"GetUserByName": Route{
|
||||||
|
strings.ToUpper("Get"),
|
||||||
|
"/v2/user/{username}",
|
||||||
|
c.GetUserByName,
|
||||||
|
},
|
||||||
"UpdateUser": Route{
|
"UpdateUser": Route{
|
||||||
strings.ToUpper("Put"),
|
strings.ToUpper("Put"),
|
||||||
"/v2/user/{username}",
|
"/v2/user/{username}",
|
||||||
c.UpdateUser,
|
c.UpdateUser,
|
||||||
},
|
},
|
||||||
|
"DeleteUser": Route{
|
||||||
|
strings.ToUpper("Delete"),
|
||||||
|
"/v2/user/{username}",
|
||||||
|
c.DeleteUser,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -171,59 +171,6 @@ func (c *UserAPIController) CreateUsersWithListInput(w http.ResponseWriter, r *h
|
|||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeleteUser - Delete user
|
|
||||||
func (c *UserAPIController) DeleteUser(w http.ResponseWriter, r *http.Request) {
|
|
||||||
query, err := parseQuery(r.URL.RawQuery)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
usernameParam := chi.URLParam(r, "username")
|
|
||||||
if usernameParam == "" {
|
|
||||||
c.errorHandler(w, r, &RequiredError{"username"}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
var confirmationParam bool
|
|
||||||
if query.Has("confirmation") {
|
|
||||||
param, err := parseBoolParameter(
|
|
||||||
query.Get("confirmation"),
|
|
||||||
WithParse[bool](parseBool),
|
|
||||||
)
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, &ParsingError{Param: "confirmation", Err: err}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
confirmationParam = param
|
|
||||||
} else {
|
|
||||||
}
|
|
||||||
result, err := c.service.DeleteUser(r.Context(), usernameParam, confirmationParam)
|
|
||||||
// If an error occurred, encode the error with the status code
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, err, &result)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If no error, encode the body and the result code
|
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetUserByName - Get user by user name
|
|
||||||
func (c *UserAPIController) GetUserByName(w http.ResponseWriter, r *http.Request) {
|
|
||||||
usernameParam := chi.URLParam(r, "username")
|
|
||||||
if usernameParam == "" {
|
|
||||||
c.errorHandler(w, r, &RequiredError{"username"}, nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
result, err := c.service.GetUserByName(r.Context(), usernameParam)
|
|
||||||
// If an error occurred, encode the error with the status code
|
|
||||||
if err != nil {
|
|
||||||
c.errorHandler(w, r, err, &result)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// If no error, encode the body and the result code
|
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
|
||||||
}
|
|
||||||
|
|
||||||
// LoginUser - Logs user into the system
|
// LoginUser - Logs user into the system
|
||||||
func (c *UserAPIController) LoginUser(w http.ResponseWriter, r *http.Request) {
|
func (c *UserAPIController) LoginUser(w http.ResponseWriter, r *http.Request) {
|
||||||
query, err := parseQuery(r.URL.RawQuery)
|
query, err := parseQuery(r.URL.RawQuery)
|
||||||
@ -285,6 +232,23 @@ func (c *UserAPIController) LogoutUser(w http.ResponseWriter, r *http.Request) {
|
|||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetUserByName - Get user by user name
|
||||||
|
func (c *UserAPIController) GetUserByName(w http.ResponseWriter, r *http.Request) {
|
||||||
|
usernameParam := chi.URLParam(r, "username")
|
||||||
|
if usernameParam == "" {
|
||||||
|
c.errorHandler(w, r, &RequiredError{"username"}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
result, err := c.service.GetUserByName(r.Context(), usernameParam)
|
||||||
|
// If an error occurred, encode the error with the status code
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, err, &result)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// If no error, encode the body and the result code
|
||||||
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
|
}
|
||||||
|
|
||||||
// UpdateUser - Updated user
|
// UpdateUser - Updated user
|
||||||
func (c *UserAPIController) UpdateUser(w http.ResponseWriter, r *http.Request) {
|
func (c *UserAPIController) UpdateUser(w http.ResponseWriter, r *http.Request) {
|
||||||
usernameParam := chi.URLParam(r, "username")
|
usernameParam := chi.URLParam(r, "username")
|
||||||
@ -316,3 +280,39 @@ func (c *UserAPIController) UpdateUser(w http.ResponseWriter, r *http.Request) {
|
|||||||
// If no error, encode the body and the result code
|
// If no error, encode the body and the result code
|
||||||
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeleteUser - Delete user
|
||||||
|
func (c *UserAPIController) DeleteUser(w http.ResponseWriter, r *http.Request) {
|
||||||
|
query, err := parseQuery(r.URL.RawQuery)
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
usernameParam := chi.URLParam(r, "username")
|
||||||
|
if usernameParam == "" {
|
||||||
|
c.errorHandler(w, r, &RequiredError{"username"}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
var confirmationParam bool
|
||||||
|
if query.Has("confirmation") {
|
||||||
|
param, err := parseBoolParameter(
|
||||||
|
query.Get("confirmation"),
|
||||||
|
WithParse[bool](parseBool),
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, &ParsingError{Param: "confirmation", Err: err}, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
confirmationParam = param
|
||||||
|
} else {
|
||||||
|
}
|
||||||
|
result, err := c.service.DeleteUser(r.Context(), usernameParam, confirmationParam)
|
||||||
|
// If an error occurred, encode the error with the status code
|
||||||
|
if err != nil {
|
||||||
|
c.errorHandler(w, r, err, &result)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// If no error, encode the body and the result code
|
||||||
|
_ = EncodeJSONResponse(result.Body, &result.Code, result.Headers, w)
|
||||||
|
}
|
||||||
|
@ -60,37 +60,6 @@ func (s *UserAPIService) CreateUsersWithListInput(ctx context.Context, user []Us
|
|||||||
return Response(http.StatusNotImplemented, nil), errors.New("CreateUsersWithListInput method not implemented")
|
return Response(http.StatusNotImplemented, nil), errors.New("CreateUsersWithListInput method not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeleteUser - Delete user
|
|
||||||
func (s *UserAPIService) DeleteUser(ctx context.Context, username string, confirmation bool) (ImplResponse, error) {
|
|
||||||
// TODO - update DeleteUser with the required logic for this service method.
|
|
||||||
// Add api_user_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(400, nil),nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(404, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(404, nil),nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("DeleteUser method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetUserByName - Get user by user name
|
|
||||||
func (s *UserAPIService) GetUserByName(ctx context.Context, username string) (ImplResponse, error) {
|
|
||||||
// TODO - update GetUserByName with the required logic for this service method.
|
|
||||||
// Add api_user_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(200, User{}) or use other options such as http.Ok ...
|
|
||||||
// return Response(200, User{}), nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(400, nil),nil
|
|
||||||
|
|
||||||
// TODO: Uncomment the next line to return response Response(404, {}) or use other options such as http.Ok ...
|
|
||||||
// return Response(404, nil),nil
|
|
||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("GetUserByName method not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
// LoginUser - Logs user into the system
|
// LoginUser - Logs user into the system
|
||||||
func (s *UserAPIService) LoginUser(ctx context.Context, username string, password string, rememberMe bool) (ImplResponse, error) {
|
func (s *UserAPIService) LoginUser(ctx context.Context, username string, password string, rememberMe bool) (ImplResponse, error) {
|
||||||
// TODO - update LoginUser with the required logic for this service method.
|
// TODO - update LoginUser with the required logic for this service method.
|
||||||
@ -116,6 +85,23 @@ func (s *UserAPIService) LogoutUser(ctx context.Context) (ImplResponse, error) {
|
|||||||
return Response(http.StatusNotImplemented, nil), errors.New("LogoutUser method not implemented")
|
return Response(http.StatusNotImplemented, nil), errors.New("LogoutUser method not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetUserByName - Get user by user name
|
||||||
|
func (s *UserAPIService) GetUserByName(ctx context.Context, username string) (ImplResponse, error) {
|
||||||
|
// TODO - update GetUserByName with the required logic for this service method.
|
||||||
|
// Add api_user_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(200, User{}) or use other options such as http.Ok ...
|
||||||
|
// return Response(200, User{}), nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(400, nil),nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(404, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(404, nil),nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("GetUserByName method not implemented")
|
||||||
|
}
|
||||||
|
|
||||||
// UpdateUser - Updated user
|
// UpdateUser - Updated user
|
||||||
func (s *UserAPIService) UpdateUser(ctx context.Context, username string, user User) (ImplResponse, error) {
|
func (s *UserAPIService) UpdateUser(ctx context.Context, username string, user User) (ImplResponse, error) {
|
||||||
// TODO - update UpdateUser with the required logic for this service method.
|
// TODO - update UpdateUser with the required logic for this service method.
|
||||||
@ -129,3 +115,17 @@ func (s *UserAPIService) UpdateUser(ctx context.Context, username string, user U
|
|||||||
|
|
||||||
return Response(http.StatusNotImplemented, nil), errors.New("UpdateUser method not implemented")
|
return Response(http.StatusNotImplemented, nil), errors.New("UpdateUser method not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeleteUser - Delete user
|
||||||
|
func (s *UserAPIService) DeleteUser(ctx context.Context, username string, confirmation bool) (ImplResponse, error) {
|
||||||
|
// TODO - update DeleteUser with the required logic for this service method.
|
||||||
|
// Add api_user_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(400, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(400, nil),nil
|
||||||
|
|
||||||
|
// TODO: Uncomment the next line to return response Response(404, {}) or use other options such as http.Ok ...
|
||||||
|
// return Response(404, nil),nil
|
||||||
|
|
||||||
|
return Response(http.StatusNotImplemented, nil), errors.New("DeleteUser method not implemented")
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user