// Code generated by goctl. DO NOT EDIT.
// goctl 1.10.1
// Source: dispute.proto

package disputeservice

import (
	"context"

	"juwan-backend/app/dispute/rpc/pb"

	"github.com/zeromicro/go-zero/zrpc"
	"google.golang.org/grpc"
)

type (
	AddDisputeTimelineReq     = pb.AddDisputeTimelineReq
	AddDisputeTimelineResp    = pb.AddDisputeTimelineResp
	AddDisputesReq            = pb.AddDisputesReq
	AddDisputesResp           = pb.AddDisputesResp
	DelDisputesReq            = pb.DelDisputesReq
	DelDisputesResp           = pb.DelDisputesResp
	DisputeTimeline           = pb.DisputeTimeline
	Disputes                  = pb.Disputes
	GetDisputesByIdReq        = pb.GetDisputesByIdReq
	GetDisputesByIdResp       = pb.GetDisputesByIdResp
	SearchDisputeTimelineReq  = pb.SearchDisputeTimelineReq
	SearchDisputeTimelineResp = pb.SearchDisputeTimelineResp
	SearchDisputesReq         = pb.SearchDisputesReq
	SearchDisputesResp        = pb.SearchDisputesResp
	UpdateDisputesReq         = pb.UpdateDisputesReq
	UpdateDisputesResp        = pb.UpdateDisputesResp

	DisputeService interface {
		// -----------------------disputes-----------------------
		AddDisputes(ctx context.Context, in *AddDisputesReq, opts ...grpc.CallOption) (*AddDisputesResp, error)
		UpdateDisputes(ctx context.Context, in *UpdateDisputesReq, opts ...grpc.CallOption) (*UpdateDisputesResp, error)
		DelDisputes(ctx context.Context, in *DelDisputesReq, opts ...grpc.CallOption) (*DelDisputesResp, error)
		GetDisputesById(ctx context.Context, in *GetDisputesByIdReq, opts ...grpc.CallOption) (*GetDisputesByIdResp, error)
		SearchDisputes(ctx context.Context, in *SearchDisputesReq, opts ...grpc.CallOption) (*SearchDisputesResp, error)
		// -----------------------disputeTimeline-----------------------
		AddDisputeTimeline(ctx context.Context, in *AddDisputeTimelineReq, opts ...grpc.CallOption) (*AddDisputeTimelineResp, error)
		SearchDisputeTimeline(ctx context.Context, in *SearchDisputeTimelineReq, opts ...grpc.CallOption) (*SearchDisputeTimelineResp, error)
	}

	defaultDisputeService struct {
		cli zrpc.Client
	}
)

func NewDisputeService(cli zrpc.Client) DisputeService {
	return &defaultDisputeService{
		cli: cli,
	}
}

// -----------------------disputes-----------------------
func (m *defaultDisputeService) AddDisputes(ctx context.Context, in *AddDisputesReq, opts ...grpc.CallOption) (*AddDisputesResp, error) {
	client := pb.NewDisputeServiceClient(m.cli.Conn())
	return client.AddDisputes(ctx, in, opts...)
}

func (m *defaultDisputeService) UpdateDisputes(ctx context.Context, in *UpdateDisputesReq, opts ...grpc.CallOption) (*UpdateDisputesResp, error) {
	client := pb.NewDisputeServiceClient(m.cli.Conn())
	return client.UpdateDisputes(ctx, in, opts...)
}

func (m *defaultDisputeService) DelDisputes(ctx context.Context, in *DelDisputesReq, opts ...grpc.CallOption) (*DelDisputesResp, error) {
	client := pb.NewDisputeServiceClient(m.cli.Conn())
	return client.DelDisputes(ctx, in, opts...)
}

func (m *defaultDisputeService) GetDisputesById(ctx context.Context, in *GetDisputesByIdReq, opts ...grpc.CallOption) (*GetDisputesByIdResp, error) {
	client := pb.NewDisputeServiceClient(m.cli.Conn())
	return client.GetDisputesById(ctx, in, opts...)
}

func (m *defaultDisputeService) SearchDisputes(ctx context.Context, in *SearchDisputesReq, opts ...grpc.CallOption) (*SearchDisputesResp, error) {
	client := pb.NewDisputeServiceClient(m.cli.Conn())
	return client.SearchDisputes(ctx, in, opts...)
}

// -----------------------disputeTimeline-----------------------
func (m *defaultDisputeService) AddDisputeTimeline(ctx context.Context, in *AddDisputeTimelineReq, opts ...grpc.CallOption) (*AddDisputeTimelineResp, error) {
	client := pb.NewDisputeServiceClient(m.cli.Conn())
	return client.AddDisputeTimeline(ctx, in, opts...)
}

func (m *defaultDisputeService) SearchDisputeTimeline(ctx context.Context, in *SearchDisputeTimelineReq, opts ...grpc.CallOption) (*SearchDisputeTimelineResp, error) {
	client := pb.NewDisputeServiceClient(m.cli.Conn())
	return client.SearchDisputeTimeline(ctx, in, opts...)
}
