// Code generated by go-swagger; DO NOT EDIT.

package customer_management

// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command

import (
	"net/http"

	"github.com/go-openapi/runtime"

	"github.com/Cyclops-Labs/cyclops-4-hpc.git/services/customerdb/models"
)

// GetCustomerOKCode is the HTTP code returned for type GetCustomerOK
const GetCustomerOKCode int = 200

/*GetCustomerOK Customer with the id given in the system returned

swagger:response getCustomerOK
*/
type GetCustomerOK struct {

	/*
	  In: Body
	*/
	Payload *models.Customer `json:"body,omitempty"`
}

// NewGetCustomerOK creates GetCustomerOK with default headers values
func NewGetCustomerOK() *GetCustomerOK {

	return &GetCustomerOK{}
}

// WithPayload adds the payload to the get customer o k response
func (o *GetCustomerOK) WithPayload(payload *models.Customer) *GetCustomerOK {
	o.Payload = payload
	return o
}

// SetPayload sets the payload to the get customer o k response
func (o *GetCustomerOK) SetPayload(payload *models.Customer) {
	o.Payload = payload
}

// WriteResponse to the client
func (o *GetCustomerOK) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {

	rw.WriteHeader(200)
	if o.Payload != nil {
		payload := o.Payload
		if err := producer.Produce(rw, payload); err != nil {
			panic(err) // let the recovery middleware deal with this
		}
	}
}

// GetCustomerNotFoundCode is the HTTP code returned for type GetCustomerNotFound
const GetCustomerNotFoundCode int = 404

/*GetCustomerNotFound The customer with the given id wasn't found

swagger:response getCustomerNotFound
*/
type GetCustomerNotFound struct {

	/*
	  In: Body
	*/
	Payload *models.ErrorResponse `json:"body,omitempty"`
}

// NewGetCustomerNotFound creates GetCustomerNotFound with default headers values
func NewGetCustomerNotFound() *GetCustomerNotFound {

	return &GetCustomerNotFound{}
}

// WithPayload adds the payload to the get customer not found response
func (o *GetCustomerNotFound) WithPayload(payload *models.ErrorResponse) *GetCustomerNotFound {
	o.Payload = payload
	return o
}

// SetPayload sets the payload to the get customer not found response
func (o *GetCustomerNotFound) SetPayload(payload *models.ErrorResponse) {
	o.Payload = payload
}

// WriteResponse to the client
func (o *GetCustomerNotFound) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {

	rw.WriteHeader(404)
	if o.Payload != nil {
		payload := o.Payload
		if err := producer.Produce(rw, payload); err != nil {
			panic(err) // let the recovery middleware deal with this
		}
	}
}

// GetCustomerInternalServerErrorCode is the HTTP code returned for type GetCustomerInternalServerError
const GetCustomerInternalServerErrorCode int = 500

/*GetCustomerInternalServerError Something unexpected happend, error raised

swagger:response getCustomerInternalServerError
*/
type GetCustomerInternalServerError struct {

	/*
	  In: Body
	*/
	Payload *models.ErrorResponse `json:"body,omitempty"`
}

// NewGetCustomerInternalServerError creates GetCustomerInternalServerError with default headers values
func NewGetCustomerInternalServerError() *GetCustomerInternalServerError {

	return &GetCustomerInternalServerError{}
}

// WithPayload adds the payload to the get customer internal server error response
func (o *GetCustomerInternalServerError) WithPayload(payload *models.ErrorResponse) *GetCustomerInternalServerError {
	o.Payload = payload
	return o
}

// SetPayload sets the payload to the get customer internal server error response
func (o *GetCustomerInternalServerError) SetPayload(payload *models.ErrorResponse) {
	o.Payload = payload
}

// WriteResponse to the client
func (o *GetCustomerInternalServerError) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {

	rw.WriteHeader(500)
	if o.Payload != nil {
		payload := o.Payload
		if err := producer.Produce(rw, payload); err != nil {
			panic(err) // let the recovery middleware deal with this
		}
	}
}
