generate client

This commit is contained in:
Ruidy Nemausat 2020-07-19 09:59:59 +02:00
parent 270de58204
commit 74e358d7ee
18 changed files with 1671 additions and 21 deletions

View file

@ -0,0 +1,112 @@
// Code generated by go-swagger; DO NOT EDIT.
package client
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"github.com/go-openapi/runtime"
httptransport "github.com/go-openapi/runtime/client"
"github.com/go-openapi/strfmt"
"github.com/rjNemo/go-micro/client/client/products"
)
// Default product HTTP client.
var Default = NewHTTPClient(nil)
const (
// DefaultHost is the default Host
// found in Meta (info) section of spec file
DefaultHost string = "localhost"
// DefaultBasePath is the default BasePath
// found in Meta (info) section of spec file
DefaultBasePath string = "/"
)
// DefaultSchemes are the default schemes found in Meta (info) section of spec file
var DefaultSchemes = []string{"http"}
// NewHTTPClient creates a new product HTTP client.
func NewHTTPClient(formats strfmt.Registry) *Product {
return NewHTTPClientWithConfig(formats, nil)
}
// NewHTTPClientWithConfig creates a new product HTTP client,
// using a customizable transport config.
func NewHTTPClientWithConfig(formats strfmt.Registry, cfg *TransportConfig) *Product {
// ensure nullable parameters have default
if cfg == nil {
cfg = DefaultTransportConfig()
}
// create transport and client
transport := httptransport.New(cfg.Host, cfg.BasePath, cfg.Schemes)
return New(transport, formats)
}
// New creates a new product client
func New(transport runtime.ClientTransport, formats strfmt.Registry) *Product {
// ensure nullable parameters have default
if formats == nil {
formats = strfmt.Default
}
cli := new(Product)
cli.Transport = transport
cli.Products = products.New(transport, formats)
return cli
}
// DefaultTransportConfig creates a TransportConfig with the
// default settings taken from the meta section of the spec file.
func DefaultTransportConfig() *TransportConfig {
return &TransportConfig{
Host: DefaultHost,
BasePath: DefaultBasePath,
Schemes: DefaultSchemes,
}
}
// TransportConfig contains the transport related info,
// found in the meta section of the spec file.
type TransportConfig struct {
Host string
BasePath string
Schemes []string
}
// WithHost overrides the default host,
// provided by the meta section of the spec file.
func (cfg *TransportConfig) WithHost(host string) *TransportConfig {
cfg.Host = host
return cfg
}
// WithBasePath overrides the default basePath,
// provided by the meta section of the spec file.
func (cfg *TransportConfig) WithBasePath(basePath string) *TransportConfig {
cfg.BasePath = basePath
return cfg
}
// WithSchemes overrides the default schemes,
// provided by the meta section of the spec file.
func (cfg *TransportConfig) WithSchemes(schemes []string) *TransportConfig {
cfg.Schemes = schemes
return cfg
}
// Product is a client for product
type Product struct {
Products products.ClientService
Transport runtime.ClientTransport
}
// SetTransport changes the transport on the client and all its subresources
func (c *Product) SetTransport(transport runtime.ClientTransport) {
c.Transport = transport
c.Products.SetTransport(transport)
}

View file

@ -0,0 +1,112 @@
// Code generated by go-swagger; DO NOT EDIT.
package products
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"net/http"
"time"
"github.com/go-openapi/errors"
"github.com/go-openapi/runtime"
cr "github.com/go-openapi/runtime/client"
"github.com/go-openapi/strfmt"
)
// NewCreateProductParams creates a new CreateProductParams object
// with the default values initialized.
func NewCreateProductParams() *CreateProductParams {
return &CreateProductParams{
timeout: cr.DefaultTimeout,
}
}
// NewCreateProductParamsWithTimeout creates a new CreateProductParams object
// with the default values initialized, and the ability to set a timeout on a request
func NewCreateProductParamsWithTimeout(timeout time.Duration) *CreateProductParams {
return &CreateProductParams{
timeout: timeout,
}
}
// NewCreateProductParamsWithContext creates a new CreateProductParams object
// with the default values initialized, and the ability to set a context for a request
func NewCreateProductParamsWithContext(ctx context.Context) *CreateProductParams {
return &CreateProductParams{
Context: ctx,
}
}
// NewCreateProductParamsWithHTTPClient creates a new CreateProductParams object
// with the default values initialized, and the ability to set a custom HTTPClient for a request
func NewCreateProductParamsWithHTTPClient(client *http.Client) *CreateProductParams {
return &CreateProductParams{
HTTPClient: client,
}
}
/*CreateProductParams contains all the parameters to send to the API endpoint
for the create product operation typically these are written to a http.Request
*/
type CreateProductParams struct {
timeout time.Duration
Context context.Context
HTTPClient *http.Client
}
// WithTimeout adds the timeout to the create product params
func (o *CreateProductParams) WithTimeout(timeout time.Duration) *CreateProductParams {
o.SetTimeout(timeout)
return o
}
// SetTimeout adds the timeout to the create product params
func (o *CreateProductParams) SetTimeout(timeout time.Duration) {
o.timeout = timeout
}
// WithContext adds the context to the create product params
func (o *CreateProductParams) WithContext(ctx context.Context) *CreateProductParams {
o.SetContext(ctx)
return o
}
// SetContext adds the context to the create product params
func (o *CreateProductParams) SetContext(ctx context.Context) {
o.Context = ctx
}
// WithHTTPClient adds the HTTPClient to the create product params
func (o *CreateProductParams) WithHTTPClient(client *http.Client) *CreateProductParams {
o.SetHTTPClient(client)
return o
}
// SetHTTPClient adds the HTTPClient to the create product params
func (o *CreateProductParams) SetHTTPClient(client *http.Client) {
o.HTTPClient = client
}
// WriteToRequest writes these params to a swagger request
func (o *CreateProductParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
if err := r.SetTimeout(o.timeout); err != nil {
return err
}
var res []error
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}

View file

@ -0,0 +1,123 @@
// Code generated by go-swagger; DO NOT EDIT.
package products
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"fmt"
"io"
"github.com/go-openapi/runtime"
"github.com/go-openapi/strfmt"
"github.com/rjNemo/go-micro/client/models"
)
// CreateProductReader is a Reader for the CreateProduct structure.
type CreateProductReader struct {
formats strfmt.Registry
}
// ReadResponse reads a server response into the received o.
func (o *CreateProductReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
switch response.Code() {
case 200:
result := NewCreateProductOK()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return result, nil
case 422:
result := NewCreateProductUnprocessableEntity()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
case 501:
result := NewCreateProductNotImplemented()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("unknown error", response, response.Code())
}
}
// NewCreateProductOK creates a CreateProductOK with default headers values
func NewCreateProductOK() *CreateProductOK {
return &CreateProductOK{}
}
/*CreateProductOK handles this case with default header values.
product in the response.
*/
type CreateProductOK struct {
Payload *models.Product
}
func (o *CreateProductOK) Error() string {
return fmt.Sprintf("[POST /products][%d] createProductOK %+v", 200, o.Payload)
}
func (o *CreateProductOK) GetPayload() *models.Product {
return o.Payload
}
func (o *CreateProductOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(models.Product)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
// NewCreateProductUnprocessableEntity creates a CreateProductUnprocessableEntity with default headers values
func NewCreateProductUnprocessableEntity() *CreateProductUnprocessableEntity {
return &CreateProductUnprocessableEntity{}
}
/*CreateProductUnprocessableEntity handles this case with default header values.
Validation errors defined as an array of strings
*/
type CreateProductUnprocessableEntity struct {
}
func (o *CreateProductUnprocessableEntity) Error() string {
return fmt.Sprintf("[POST /products][%d] createProductUnprocessableEntity ", 422)
}
func (o *CreateProductUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
return nil
}
// NewCreateProductNotImplemented creates a CreateProductNotImplemented with default headers values
func NewCreateProductNotImplemented() *CreateProductNotImplemented {
return &CreateProductNotImplemented{}
}
/*CreateProductNotImplemented handles this case with default header values.
Generic error message returned as a string
*/
type CreateProductNotImplemented struct {
}
func (o *CreateProductNotImplemented) Error() string {
return fmt.Sprintf("[POST /products][%d] createProductNotImplemented ", 501)
}
func (o *CreateProductNotImplemented) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
return nil
}

View file

@ -0,0 +1,136 @@
// Code generated by go-swagger; DO NOT EDIT.
package products
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"net/http"
"time"
"github.com/go-openapi/errors"
"github.com/go-openapi/runtime"
cr "github.com/go-openapi/runtime/client"
"github.com/go-openapi/strfmt"
"github.com/go-openapi/swag"
)
// NewDeleteProductParams creates a new DeleteProductParams object
// with the default values initialized.
func NewDeleteProductParams() *DeleteProductParams {
var ()
return &DeleteProductParams{
timeout: cr.DefaultTimeout,
}
}
// NewDeleteProductParamsWithTimeout creates a new DeleteProductParams object
// with the default values initialized, and the ability to set a timeout on a request
func NewDeleteProductParamsWithTimeout(timeout time.Duration) *DeleteProductParams {
var ()
return &DeleteProductParams{
timeout: timeout,
}
}
// NewDeleteProductParamsWithContext creates a new DeleteProductParams object
// with the default values initialized, and the ability to set a context for a request
func NewDeleteProductParamsWithContext(ctx context.Context) *DeleteProductParams {
var ()
return &DeleteProductParams{
Context: ctx,
}
}
// NewDeleteProductParamsWithHTTPClient creates a new DeleteProductParams object
// with the default values initialized, and the ability to set a custom HTTPClient for a request
func NewDeleteProductParamsWithHTTPClient(client *http.Client) *DeleteProductParams {
var ()
return &DeleteProductParams{
HTTPClient: client,
}
}
/*DeleteProductParams contains all the parameters to send to the API endpoint
for the delete product operation typically these are written to a http.Request
*/
type DeleteProductParams struct {
/*ID
The ID of a product in the database
*/
ID int64
timeout time.Duration
Context context.Context
HTTPClient *http.Client
}
// WithTimeout adds the timeout to the delete product params
func (o *DeleteProductParams) WithTimeout(timeout time.Duration) *DeleteProductParams {
o.SetTimeout(timeout)
return o
}
// SetTimeout adds the timeout to the delete product params
func (o *DeleteProductParams) SetTimeout(timeout time.Duration) {
o.timeout = timeout
}
// WithContext adds the context to the delete product params
func (o *DeleteProductParams) WithContext(ctx context.Context) *DeleteProductParams {
o.SetContext(ctx)
return o
}
// SetContext adds the context to the delete product params
func (o *DeleteProductParams) SetContext(ctx context.Context) {
o.Context = ctx
}
// WithHTTPClient adds the HTTPClient to the delete product params
func (o *DeleteProductParams) WithHTTPClient(client *http.Client) *DeleteProductParams {
o.SetHTTPClient(client)
return o
}
// SetHTTPClient adds the HTTPClient to the delete product params
func (o *DeleteProductParams) SetHTTPClient(client *http.Client) {
o.HTTPClient = client
}
// WithID adds the id to the delete product params
func (o *DeleteProductParams) WithID(id int64) *DeleteProductParams {
o.SetID(id)
return o
}
// SetID adds the id to the delete product params
func (o *DeleteProductParams) SetID(id int64) {
o.ID = id
}
// WriteToRequest writes these params to a swagger request
func (o *DeleteProductParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
if err := r.SetTimeout(o.timeout); err != nil {
return err
}
var res []error
// path param id
if err := r.SetPathParam("id", swag.FormatInt64(o.ID)); err != nil {
return err
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}

View file

@ -0,0 +1,108 @@
// Code generated by go-swagger; DO NOT EDIT.
package products
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"fmt"
"github.com/go-openapi/runtime"
"github.com/go-openapi/strfmt"
)
// DeleteProductReader is a Reader for the DeleteProduct structure.
type DeleteProductReader struct {
formats strfmt.Registry
}
// ReadResponse reads a server response into the received o.
func (o *DeleteProductReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
switch response.Code() {
case 204:
result := NewDeleteProductNoContent()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return result, nil
case 404:
result := NewDeleteProductNotFound()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
case 501:
result := NewDeleteProductNotImplemented()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("unknown error", response, response.Code())
}
}
// NewDeleteProductNoContent creates a DeleteProductNoContent with default headers values
func NewDeleteProductNoContent() *DeleteProductNoContent {
return &DeleteProductNoContent{}
}
/*DeleteProductNoContent handles this case with default header values.
empty response
*/
type DeleteProductNoContent struct {
}
func (o *DeleteProductNoContent) Error() string {
return fmt.Sprintf("[DELETE /products/{id}][%d] deleteProductNoContent ", 204)
}
func (o *DeleteProductNoContent) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
return nil
}
// NewDeleteProductNotFound creates a DeleteProductNotFound with default headers values
func NewDeleteProductNotFound() *DeleteProductNotFound {
return &DeleteProductNotFound{}
}
/*DeleteProductNotFound handles this case with default header values.
Generic error message returned as a string
*/
type DeleteProductNotFound struct {
}
func (o *DeleteProductNotFound) Error() string {
return fmt.Sprintf("[DELETE /products/{id}][%d] deleteProductNotFound ", 404)
}
func (o *DeleteProductNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
return nil
}
// NewDeleteProductNotImplemented creates a DeleteProductNotImplemented with default headers values
func NewDeleteProductNotImplemented() *DeleteProductNotImplemented {
return &DeleteProductNotImplemented{}
}
/*DeleteProductNotImplemented handles this case with default header values.
Generic error message returned as a string
*/
type DeleteProductNotImplemented struct {
}
func (o *DeleteProductNotImplemented) Error() string {
return fmt.Sprintf("[DELETE /products/{id}][%d] deleteProductNotImplemented ", 501)
}
func (o *DeleteProductNotImplemented) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
return nil
}

View file

@ -0,0 +1,136 @@
// Code generated by go-swagger; DO NOT EDIT.
package products
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"net/http"
"time"
"github.com/go-openapi/errors"
"github.com/go-openapi/runtime"
cr "github.com/go-openapi/runtime/client"
"github.com/go-openapi/strfmt"
"github.com/go-openapi/swag"
)
// NewGetProductParams creates a new GetProductParams object
// with the default values initialized.
func NewGetProductParams() *GetProductParams {
var ()
return &GetProductParams{
timeout: cr.DefaultTimeout,
}
}
// NewGetProductParamsWithTimeout creates a new GetProductParams object
// with the default values initialized, and the ability to set a timeout on a request
func NewGetProductParamsWithTimeout(timeout time.Duration) *GetProductParams {
var ()
return &GetProductParams{
timeout: timeout,
}
}
// NewGetProductParamsWithContext creates a new GetProductParams object
// with the default values initialized, and the ability to set a context for a request
func NewGetProductParamsWithContext(ctx context.Context) *GetProductParams {
var ()
return &GetProductParams{
Context: ctx,
}
}
// NewGetProductParamsWithHTTPClient creates a new GetProductParams object
// with the default values initialized, and the ability to set a custom HTTPClient for a request
func NewGetProductParamsWithHTTPClient(client *http.Client) *GetProductParams {
var ()
return &GetProductParams{
HTTPClient: client,
}
}
/*GetProductParams contains all the parameters to send to the API endpoint
for the get product operation typically these are written to a http.Request
*/
type GetProductParams struct {
/*ID
The ID of a product in the database
*/
ID int64
timeout time.Duration
Context context.Context
HTTPClient *http.Client
}
// WithTimeout adds the timeout to the get product params
func (o *GetProductParams) WithTimeout(timeout time.Duration) *GetProductParams {
o.SetTimeout(timeout)
return o
}
// SetTimeout adds the timeout to the get product params
func (o *GetProductParams) SetTimeout(timeout time.Duration) {
o.timeout = timeout
}
// WithContext adds the context to the get product params
func (o *GetProductParams) WithContext(ctx context.Context) *GetProductParams {
o.SetContext(ctx)
return o
}
// SetContext adds the context to the get product params
func (o *GetProductParams) SetContext(ctx context.Context) {
o.Context = ctx
}
// WithHTTPClient adds the HTTPClient to the get product params
func (o *GetProductParams) WithHTTPClient(client *http.Client) *GetProductParams {
o.SetHTTPClient(client)
return o
}
// SetHTTPClient adds the HTTPClient to the get product params
func (o *GetProductParams) SetHTTPClient(client *http.Client) {
o.HTTPClient = client
}
// WithID adds the id to the get product params
func (o *GetProductParams) WithID(id int64) *GetProductParams {
o.SetID(id)
return o
}
// SetID adds the id to the get product params
func (o *GetProductParams) SetID(id int64) {
o.ID = id
}
// WriteToRequest writes these params to a swagger request
func (o *GetProductParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
if err := r.SetTimeout(o.timeout); err != nil {
return err
}
var res []error
// path param id
if err := r.SetPathParam("id", swag.FormatInt64(o.ID)); err != nil {
return err
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}

View file

@ -0,0 +1,96 @@
// Code generated by go-swagger; DO NOT EDIT.
package products
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"fmt"
"io"
"github.com/go-openapi/runtime"
"github.com/go-openapi/strfmt"
"github.com/rjNemo/go-micro/client/models"
)
// GetProductReader is a Reader for the GetProduct structure.
type GetProductReader struct {
formats strfmt.Registry
}
// ReadResponse reads a server response into the received o.
func (o *GetProductReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
switch response.Code() {
case 200:
result := NewGetProductOK()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return result, nil
case 404:
result := NewGetProductNotFound()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("unknown error", response, response.Code())
}
}
// NewGetProductOK creates a GetProductOK with default headers values
func NewGetProductOK() *GetProductOK {
return &GetProductOK{}
}
/*GetProductOK handles this case with default header values.
product in the response.
*/
type GetProductOK struct {
Payload *models.Product
}
func (o *GetProductOK) Error() string {
return fmt.Sprintf("[GET /products/{id}][%d] getProductOK %+v", 200, o.Payload)
}
func (o *GetProductOK) GetPayload() *models.Product {
return o.Payload
}
func (o *GetProductOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(models.Product)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
// NewGetProductNotFound creates a GetProductNotFound with default headers values
func NewGetProductNotFound() *GetProductNotFound {
return &GetProductNotFound{}
}
/*GetProductNotFound handles this case with default header values.
Generic error message returned as a string
*/
type GetProductNotFound struct {
}
func (o *GetProductNotFound) Error() string {
return fmt.Sprintf("[GET /products/{id}][%d] getProductNotFound ", 404)
}
func (o *GetProductNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
return nil
}

View file

@ -0,0 +1,112 @@
// Code generated by go-swagger; DO NOT EDIT.
package products
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"net/http"
"time"
"github.com/go-openapi/errors"
"github.com/go-openapi/runtime"
cr "github.com/go-openapi/runtime/client"
"github.com/go-openapi/strfmt"
)
// NewListProductsParams creates a new ListProductsParams object
// with the default values initialized.
func NewListProductsParams() *ListProductsParams {
return &ListProductsParams{
timeout: cr.DefaultTimeout,
}
}
// NewListProductsParamsWithTimeout creates a new ListProductsParams object
// with the default values initialized, and the ability to set a timeout on a request
func NewListProductsParamsWithTimeout(timeout time.Duration) *ListProductsParams {
return &ListProductsParams{
timeout: timeout,
}
}
// NewListProductsParamsWithContext creates a new ListProductsParams object
// with the default values initialized, and the ability to set a context for a request
func NewListProductsParamsWithContext(ctx context.Context) *ListProductsParams {
return &ListProductsParams{
Context: ctx,
}
}
// NewListProductsParamsWithHTTPClient creates a new ListProductsParams object
// with the default values initialized, and the ability to set a custom HTTPClient for a request
func NewListProductsParamsWithHTTPClient(client *http.Client) *ListProductsParams {
return &ListProductsParams{
HTTPClient: client,
}
}
/*ListProductsParams contains all the parameters to send to the API endpoint
for the list products operation typically these are written to a http.Request
*/
type ListProductsParams struct {
timeout time.Duration
Context context.Context
HTTPClient *http.Client
}
// WithTimeout adds the timeout to the list products params
func (o *ListProductsParams) WithTimeout(timeout time.Duration) *ListProductsParams {
o.SetTimeout(timeout)
return o
}
// SetTimeout adds the timeout to the list products params
func (o *ListProductsParams) SetTimeout(timeout time.Duration) {
o.timeout = timeout
}
// WithContext adds the context to the list products params
func (o *ListProductsParams) WithContext(ctx context.Context) *ListProductsParams {
o.SetContext(ctx)
return o
}
// SetContext adds the context to the list products params
func (o *ListProductsParams) SetContext(ctx context.Context) {
o.Context = ctx
}
// WithHTTPClient adds the HTTPClient to the list products params
func (o *ListProductsParams) WithHTTPClient(client *http.Client) *ListProductsParams {
o.SetHTTPClient(client)
return o
}
// SetHTTPClient adds the HTTPClient to the list products params
func (o *ListProductsParams) SetHTTPClient(client *http.Client) {
o.HTTPClient = client
}
// WriteToRequest writes these params to a swagger request
func (o *ListProductsParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
if err := r.SetTimeout(o.timeout); err != nil {
return err
}
var res []error
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}

View file

@ -0,0 +1,67 @@
// Code generated by go-swagger; DO NOT EDIT.
package products
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"fmt"
"io"
"github.com/go-openapi/runtime"
"github.com/go-openapi/strfmt"
"github.com/rjNemo/go-micro/client/models"
)
// ListProductsReader is a Reader for the ListProducts structure.
type ListProductsReader struct {
formats strfmt.Registry
}
// ReadResponse reads a server response into the received o.
func (o *ListProductsReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
switch response.Code() {
case 200:
result := NewListProductsOK()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return result, nil
default:
return nil, runtime.NewAPIError("unknown error", response, response.Code())
}
}
// NewListProductsOK creates a ListProductsOK with default headers values
func NewListProductsOK() *ListProductsOK {
return &ListProductsOK{}
}
/*ListProductsOK handles this case with default header values.
list of products in the response.
*/
type ListProductsOK struct {
Payload []*models.Product
}
func (o *ListProductsOK) Error() string {
return fmt.Sprintf("[GET /products][%d] listProductsOK %+v", 200, o.Payload)
}
func (o *ListProductsOK) GetPayload() []*models.Product {
return o.Payload
}
func (o *ListProductsOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
// response payload
if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}

View file

@ -0,0 +1,216 @@
// Code generated by go-swagger; DO NOT EDIT.
package products
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"fmt"
"github.com/go-openapi/runtime"
"github.com/go-openapi/strfmt"
)
// New creates a new products API client.
func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService {
return &Client{transport: transport, formats: formats}
}
/*
Client for products API
*/
type Client struct {
transport runtime.ClientTransport
formats strfmt.Registry
}
// ClientService is the interface for Client methods
type ClientService interface {
CreateProduct(params *CreateProductParams) (*CreateProductOK, error)
DeleteProduct(params *DeleteProductParams) (*DeleteProductNoContent, error)
GetProduct(params *GetProductParams) (*GetProductOK, error)
ListProducts(params *ListProductsParams) (*ListProductsOK, error)
UpdateProduct(params *UpdateProductParams) (*UpdateProductNoContent, error)
SetTransport(transport runtime.ClientTransport)
}
/*
CreateProduct Create a new product
*/
func (a *Client) CreateProduct(params *CreateProductParams) (*CreateProductOK, error) {
// TODO: Validate the params before sending
if params == nil {
params = NewCreateProductParams()
}
result, err := a.transport.Submit(&runtime.ClientOperation{
ID: "createProduct",
Method: "POST",
PathPattern: "/products",
ProducesMediaTypes: []string{"application/json"},
ConsumesMediaTypes: []string{"application/json"},
Schemes: []string{"http"},
Params: params,
Reader: &CreateProductReader{formats: a.formats},
Context: params.Context,
Client: params.HTTPClient,
})
if err != nil {
return nil, err
}
success, ok := result.(*CreateProductOK)
if ok {
return success, nil
}
// unexpected success response
// safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
msg := fmt.Sprintf("unexpected success response for createProduct: API contract not enforced by server. Client expected to get an error, but got: %T", result)
panic(msg)
}
/*
DeleteProduct Update a products details
*/
func (a *Client) DeleteProduct(params *DeleteProductParams) (*DeleteProductNoContent, error) {
// TODO: Validate the params before sending
if params == nil {
params = NewDeleteProductParams()
}
result, err := a.transport.Submit(&runtime.ClientOperation{
ID: "deleteProduct",
Method: "DELETE",
PathPattern: "/products/{id}",
ProducesMediaTypes: []string{"application/json"},
ConsumesMediaTypes: []string{"application/json"},
Schemes: []string{"http"},
Params: params,
Reader: &DeleteProductReader{formats: a.formats},
Context: params.Context,
Client: params.HTTPClient,
})
if err != nil {
return nil, err
}
success, ok := result.(*DeleteProductNoContent)
if ok {
return success, nil
}
// unexpected success response
// safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
msg := fmt.Sprintf("unexpected success response for deleteProduct: API contract not enforced by server. Client expected to get an error, but got: %T", result)
panic(msg)
}
/*
GetProduct Return a list of products from the database
*/
func (a *Client) GetProduct(params *GetProductParams) (*GetProductOK, error) {
// TODO: Validate the params before sending
if params == nil {
params = NewGetProductParams()
}
result, err := a.transport.Submit(&runtime.ClientOperation{
ID: "getProduct",
Method: "GET",
PathPattern: "/products/{id}",
ProducesMediaTypes: []string{"application/json"},
ConsumesMediaTypes: []string{"application/json"},
Schemes: []string{"http"},
Params: params,
Reader: &GetProductReader{formats: a.formats},
Context: params.Context,
Client: params.HTTPClient,
})
if err != nil {
return nil, err
}
success, ok := result.(*GetProductOK)
if ok {
return success, nil
}
// unexpected success response
// safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
msg := fmt.Sprintf("unexpected success response for getProduct: API contract not enforced by server. Client expected to get an error, but got: %T", result)
panic(msg)
}
/*
ListProducts Return a list of products from the database
*/
func (a *Client) ListProducts(params *ListProductsParams) (*ListProductsOK, error) {
// TODO: Validate the params before sending
if params == nil {
params = NewListProductsParams()
}
result, err := a.transport.Submit(&runtime.ClientOperation{
ID: "listProducts",
Method: "GET",
PathPattern: "/products",
ProducesMediaTypes: []string{"application/json"},
ConsumesMediaTypes: []string{"application/json"},
Schemes: []string{"http"},
Params: params,
Reader: &ListProductsReader{formats: a.formats},
Context: params.Context,
Client: params.HTTPClient,
})
if err != nil {
return nil, err
}
success, ok := result.(*ListProductsOK)
if ok {
return success, nil
}
// unexpected success response
// safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
msg := fmt.Sprintf("unexpected success response for listProducts: API contract not enforced by server. Client expected to get an error, but got: %T", result)
panic(msg)
}
/*
UpdateProduct Update a products details
*/
func (a *Client) UpdateProduct(params *UpdateProductParams) (*UpdateProductNoContent, error) {
// TODO: Validate the params before sending
if params == nil {
params = NewUpdateProductParams()
}
result, err := a.transport.Submit(&runtime.ClientOperation{
ID: "updateProduct",
Method: "PUT",
PathPattern: "/products/{id}",
ProducesMediaTypes: []string{"application/json"},
ConsumesMediaTypes: []string{"application/json"},
Schemes: []string{"http"},
Params: params,
Reader: &UpdateProductReader{formats: a.formats},
Context: params.Context,
Client: params.HTTPClient,
})
if err != nil {
return nil, err
}
success, ok := result.(*UpdateProductNoContent)
if ok {
return success, nil
}
// unexpected success response
// safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
msg := fmt.Sprintf("unexpected success response for updateProduct: API contract not enforced by server. Client expected to get an error, but got: %T", result)
panic(msg)
}
// SetTransport changes the transport on the client
func (a *Client) SetTransport(transport runtime.ClientTransport) {
a.transport = transport
}

View file

@ -0,0 +1,136 @@
// Code generated by go-swagger; DO NOT EDIT.
package products
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"net/http"
"time"
"github.com/go-openapi/errors"
"github.com/go-openapi/runtime"
cr "github.com/go-openapi/runtime/client"
"github.com/go-openapi/strfmt"
"github.com/go-openapi/swag"
)
// NewUpdateProductParams creates a new UpdateProductParams object
// with the default values initialized.
func NewUpdateProductParams() *UpdateProductParams {
var ()
return &UpdateProductParams{
timeout: cr.DefaultTimeout,
}
}
// NewUpdateProductParamsWithTimeout creates a new UpdateProductParams object
// with the default values initialized, and the ability to set a timeout on a request
func NewUpdateProductParamsWithTimeout(timeout time.Duration) *UpdateProductParams {
var ()
return &UpdateProductParams{
timeout: timeout,
}
}
// NewUpdateProductParamsWithContext creates a new UpdateProductParams object
// with the default values initialized, and the ability to set a context for a request
func NewUpdateProductParamsWithContext(ctx context.Context) *UpdateProductParams {
var ()
return &UpdateProductParams{
Context: ctx,
}
}
// NewUpdateProductParamsWithHTTPClient creates a new UpdateProductParams object
// with the default values initialized, and the ability to set a custom HTTPClient for a request
func NewUpdateProductParamsWithHTTPClient(client *http.Client) *UpdateProductParams {
var ()
return &UpdateProductParams{
HTTPClient: client,
}
}
/*UpdateProductParams contains all the parameters to send to the API endpoint
for the update product operation typically these are written to a http.Request
*/
type UpdateProductParams struct {
/*ID
The ID of a product in the database
*/
ID int64
timeout time.Duration
Context context.Context
HTTPClient *http.Client
}
// WithTimeout adds the timeout to the update product params
func (o *UpdateProductParams) WithTimeout(timeout time.Duration) *UpdateProductParams {
o.SetTimeout(timeout)
return o
}
// SetTimeout adds the timeout to the update product params
func (o *UpdateProductParams) SetTimeout(timeout time.Duration) {
o.timeout = timeout
}
// WithContext adds the context to the update product params
func (o *UpdateProductParams) WithContext(ctx context.Context) *UpdateProductParams {
o.SetContext(ctx)
return o
}
// SetContext adds the context to the update product params
func (o *UpdateProductParams) SetContext(ctx context.Context) {
o.Context = ctx
}
// WithHTTPClient adds the HTTPClient to the update product params
func (o *UpdateProductParams) WithHTTPClient(client *http.Client) *UpdateProductParams {
o.SetHTTPClient(client)
return o
}
// SetHTTPClient adds the HTTPClient to the update product params
func (o *UpdateProductParams) SetHTTPClient(client *http.Client) {
o.HTTPClient = client
}
// WithID adds the id to the update product params
func (o *UpdateProductParams) WithID(id int64) *UpdateProductParams {
o.SetID(id)
return o
}
// SetID adds the id to the update product params
func (o *UpdateProductParams) SetID(id int64) {
o.ID = id
}
// WriteToRequest writes these params to a swagger request
func (o *UpdateProductParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
if err := r.SetTimeout(o.timeout); err != nil {
return err
}
var res []error
// path param id
if err := r.SetPathParam("id", swag.FormatInt64(o.ID)); err != nil {
return err
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}

View file

@ -0,0 +1,108 @@
// Code generated by go-swagger; DO NOT EDIT.
package products
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"fmt"
"github.com/go-openapi/runtime"
"github.com/go-openapi/strfmt"
)
// UpdateProductReader is a Reader for the UpdateProduct structure.
type UpdateProductReader struct {
formats strfmt.Registry
}
// ReadResponse reads a server response into the received o.
func (o *UpdateProductReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
switch response.Code() {
case 204:
result := NewUpdateProductNoContent()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return result, nil
case 404:
result := NewUpdateProductNotFound()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
case 422:
result := NewUpdateProductUnprocessableEntity()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("unknown error", response, response.Code())
}
}
// NewUpdateProductNoContent creates a UpdateProductNoContent with default headers values
func NewUpdateProductNoContent() *UpdateProductNoContent {
return &UpdateProductNoContent{}
}
/*UpdateProductNoContent handles this case with default header values.
empty response
*/
type UpdateProductNoContent struct {
}
func (o *UpdateProductNoContent) Error() string {
return fmt.Sprintf("[PUT /products/{id}][%d] updateProductNoContent ", 204)
}
func (o *UpdateProductNoContent) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
return nil
}
// NewUpdateProductNotFound creates a UpdateProductNotFound with default headers values
func NewUpdateProductNotFound() *UpdateProductNotFound {
return &UpdateProductNotFound{}
}
/*UpdateProductNotFound handles this case with default header values.
Generic error message returned as a string
*/
type UpdateProductNotFound struct {
}
func (o *UpdateProductNotFound) Error() string {
return fmt.Sprintf("[PUT /products/{id}][%d] updateProductNotFound ", 404)
}
func (o *UpdateProductNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
return nil
}
// NewUpdateProductUnprocessableEntity creates a UpdateProductUnprocessableEntity with default headers values
func NewUpdateProductUnprocessableEntity() *UpdateProductUnprocessableEntity {
return &UpdateProductUnprocessableEntity{}
}
/*UpdateProductUnprocessableEntity handles this case with default header values.
Validation errors defined as an array of strings
*/
type UpdateProductUnprocessableEntity struct {
}
func (o *UpdateProductUnprocessableEntity) Error() string {
return fmt.Sprintf("[PUT /products/{id}][%d] updateProductUnprocessableEntity ", 422)
}
func (o *UpdateProductUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
return nil
}

19
client/client_test.go Normal file
View file

@ -0,0 +1,19 @@
package main
import (
"fmt"
"testing"
"github.com/rjNemo/go-micro/client/client"
"github.com/rjNemo/go-micro/client/client/products"
)
func TestOurClient(t *testing.T) {
conf := client.DefaultTransportConfig().WithHost("localhost:5000")
c := client.NewHTTPClientWithConfig(nil, conf)
prod, err := c.Products.ListProducts(products.NewListProductsParams())
if err != nil {
t.Fatalf("%v", err)
}
fmt.Printf("%#v", prod.GetPayload()[0])
}

156
client/models/product.go Normal file
View file

@ -0,0 +1,156 @@
// Code generated by go-swagger; DO NOT EDIT.
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"github.com/go-openapi/errors"
"github.com/go-openapi/strfmt"
"github.com/go-openapi/swag"
"github.com/go-openapi/validate"
)
// Product Product defines the structure of a product
//
// swagger:model Product
type Product struct {
// the description for this poduct
// Max Length: 10000
Description string `json:"description,omitempty"`
// the id for this product
// Required: true
// Minimum: 1
ID *int64 `json:"id"`
// the name for this poduct
// Required: true
// Max Length: 255
Name *string `json:"name"`
// the price for the product
// Required: true
// Minimum: 0.01
Price *float32 `json:"price"`
// the SKU for the product
// Required: true
// Pattern: [a-z]+-[a-z]+-[a-z]+
SKU *string `json:"sku"`
}
// Validate validates this product
func (m *Product) Validate(formats strfmt.Registry) error {
var res []error
if err := m.validateDescription(formats); err != nil {
res = append(res, err)
}
if err := m.validateID(formats); err != nil {
res = append(res, err)
}
if err := m.validateName(formats); err != nil {
res = append(res, err)
}
if err := m.validatePrice(formats); err != nil {
res = append(res, err)
}
if err := m.validateSKU(formats); err != nil {
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
func (m *Product) validateDescription(formats strfmt.Registry) error {
if swag.IsZero(m.Description) { // not required
return nil
}
if err := validate.MaxLength("description", "body", string(m.Description), 10000); err != nil {
return err
}
return nil
}
func (m *Product) validateID(formats strfmt.Registry) error {
if err := validate.Required("id", "body", m.ID); err != nil {
return err
}
if err := validate.MinimumInt("id", "body", int64(*m.ID), 1, false); err != nil {
return err
}
return nil
}
func (m *Product) validateName(formats strfmt.Registry) error {
if err := validate.Required("name", "body", m.Name); err != nil {
return err
}
if err := validate.MaxLength("name", "body", string(*m.Name), 255); err != nil {
return err
}
return nil
}
func (m *Product) validatePrice(formats strfmt.Registry) error {
if err := validate.Required("price", "body", m.Price); err != nil {
return err
}
if err := validate.Minimum("price", "body", float64(*m.Price), 0.01, false); err != nil {
return err
}
return nil
}
func (m *Product) validateSKU(formats strfmt.Registry) error {
if err := validate.Required("sku", "body", m.SKU); err != nil {
return err
}
if err := validate.Pattern("sku", "body", string(*m.SKU), `[a-z]+-[a-z]+-[a-z]+`); err != nil {
return err
}
return nil
}
// MarshalBinary interface implementation
func (m *Product) MarshalBinary() ([]byte, error) {
if m == nil {
return nil, nil
}
return swag.WriteJSON(m)
}
// UnmarshalBinary interface implementation
func (m *Product) UnmarshalBinary(b []byte) error {
var res Product
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
*m = res
return nil
}

4
go.mod
View file

@ -3,7 +3,11 @@ module github.com/rjNemo/go-micro
go 1.14 go 1.14
require ( require (
github.com/go-openapi/errors v0.19.6
github.com/go-openapi/runtime v0.19.19 github.com/go-openapi/runtime v0.19.19
github.com/go-openapi/strfmt v0.19.5
github.com/go-openapi/swag v0.19.9
github.com/go-openapi/validate v0.19.10
github.com/go-playground/universal-translator v0.17.0 // indirect github.com/go-playground/universal-translator v0.17.0 // indirect
github.com/go-playground/validator v9.31.0+incompatible github.com/go-playground/validator v9.31.0+incompatible
github.com/gorilla/mux v1.7.4 github.com/gorilla/mux v1.7.4

9
go.sum
View file

@ -12,6 +12,7 @@ github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535/go.mod h1:o
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
@ -115,8 +116,10 @@ github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/V
github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw=
github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/gorilla/mux v1.7.4 h1:VuZ8uybHlWmqV03+zRzdwKL4tUnIp1MAQtp1mIFE1bc= github.com/gorilla/mux v1.7.4 h1:VuZ8uybHlWmqV03+zRzdwKL4tUnIp1MAQtp1mIFE1bc=
github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
@ -132,6 +135,7 @@ github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORN
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y=
github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII=
@ -147,6 +151,7 @@ github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh
github.com/mitchellh/mapstructure v1.3.2 h1:mRS76wmkOn3KkKAyXDu42V+6ebnXWIztFSYGN7GeoRg= github.com/mitchellh/mapstructure v1.3.2 h1:mRS76wmkOn3KkKAyXDu42V+6ebnXWIztFSYGN7GeoRg=
github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo= github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo=
@ -169,7 +174,9 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4=
github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I= github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I=
github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y= github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y=
@ -228,6 +235,7 @@ golang.org/x/tools v0.0.0-20190617190820-da514acc4774/go.mod h1:/rFqwRUd4F7ZHNgw
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/go-playground/assert.v1 v1.2.1 h1:xoYuJVE7KT85PYWrN730RguIQO0ePzVRfFMXadIrXTM= gopkg.in/go-playground/assert.v1 v1.2.1 h1:xoYuJVE7KT85PYWrN730RguIQO0ePzVRfFMXadIrXTM=
@ -241,4 +249,5 @@ gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU=
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 h1:tQIYjPdBoyREyB9XMu+nnTclpTYkz2zFM+lzLJFO4gQ=
gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

View file

@ -8,7 +8,7 @@ import (
"github.com/rjNemo/go-micro/products/models" "github.com/rjNemo/go-micro/products/models"
) )
// swagger:route PUT /products products updateProduct // swagger:route PUT /products/{id} products updateProduct
// Update a products details // Update a products details
// //
// responses: // responses:

View file

@ -65,26 +65,6 @@ paths:
$ref: '#/responses/errorResponse' $ref: '#/responses/errorResponse'
tags: tags:
- products - products
put:
description: Update a products details
operationId: updateProduct
parameters:
- description: The ID of a product in the database
format: int64
in: path
name: id
required: true
type: integer
x-go-name: ID
responses:
"204":
$ref: '#/responses/noContent'
"404":
$ref: '#/responses/errorResponse'
"422":
$ref: '#/responses/errorValidation'
tags:
- products
/products/{id}: /products/{id}:
delete: delete:
description: Update a products details description: Update a products details
@ -124,6 +104,26 @@ paths:
$ref: '#/responses/errorResponse' $ref: '#/responses/errorResponse'
tags: tags:
- products - products
put:
description: Update a products details
operationId: updateProduct
parameters:
- description: The ID of a product in the database
format: int64
in: path
name: id
required: true
type: integer
x-go-name: ID
responses:
"204":
$ref: '#/responses/noContent'
"404":
$ref: '#/responses/errorResponse'
"422":
$ref: '#/responses/errorValidation'
tags:
- products
produces: produces:
- application/json - application/json
responses: responses: