// Code generated by protoc-gen-go-micro. DO NOT EDIT.
// protoc-gen-go-micro version: v3.5.3
// source: test.proto

package pb

import (
	context "context"
	api "go.unistack.org/micro/v3/api"
	client "go.unistack.org/micro/v3/client"
)

var (
	TestServiceName = "TestService"

	TestServiceEndpoints = []api.Endpoint{
		{
			Name:    "TestService.LookupUser",
			Path:    []string{"/v1/user/{name}"},
			Method:  []string{"GET"},
			Handler: "rpc",
		},
		{
			Name:    "TestService.UpdateUser",
			Path:    []string{"/v1/user/{name}"},
			Method:  []string{"PUT"},
			Body:    "*",
			Handler: "rpc",
		},
		{
			Name:    "TestService.DeleteUser",
			Path:    []string{"/v1/user/{name}"},
			Method:  []string{"DELETE"},
			Handler: "rpc",
		},
		{
			Name:    "TestService.MailUser",
			Path:    []string{"/v1/user/{name}/mail"},
			Method:  []string{"POST"},
			Body:    "*",
			Handler: "rpc",
		},
	}
)

func NewTestServiceEndpoints() []api.Endpoint {
	return TestServiceEndpoints
}

type TestServiceClient interface {
	LookupUser(ctx context.Context, req *LookupUserReq, opts ...client.CallOption) (*LookupUserRsp, error)
	UpdateUser(ctx context.Context, req *UpdateUserReq, opts ...client.CallOption) (*UpdateUserRsp, error)
	DeleteUser(ctx context.Context, req *DeleteUserReq, opts ...client.CallOption) (*DeleteUserRsp, error)
	MailUser(ctx context.Context, req *MailUserReq, opts ...client.CallOption) (*MailUserRsp, error)
}

type TestServiceServer interface {
	LookupUser(ctx context.Context, req *LookupUserReq, rsp *LookupUserRsp) error
	UpdateUser(ctx context.Context, req *UpdateUserReq, rsp *UpdateUserRsp) error
	DeleteUser(ctx context.Context, req *DeleteUserReq, rsp *DeleteUserRsp) error
	MailUser(ctx context.Context, req *MailUserReq, rsp *MailUserRsp) error
}