// Code generated by goctl. DO NOT EDIT.
// goctl 1.7.6
// Source: auth_service.proto

package authservice

import (
	"context"

	"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/auth_service/auth"

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

type (
	Code2SessionRequest        = auth.Code2SessionRequest
	Code2SessionResponse       = auth.Code2SessionResponse
	GetAccessTokenRequest      = auth.GetAccessTokenRequest
	GetAccessTokenResponse     = auth.GetAccessTokenResponse
	RefreshAccessTokenRequest  = auth.RefreshAccessTokenRequest
	RefreshAccessTokenResponse = auth.RefreshAccessTokenResponse
	Request                    = auth.Request
	Response                   = auth.Response

	AuthService interface {
		Ping(ctx context.Context, in *Request, opts ...grpc.CallOption) (*Response, error)
		Code2Session(ctx context.Context, in *Code2SessionRequest, opts ...grpc.CallOption) (*Code2SessionResponse, error)
		GetAccessToken(ctx context.Context, in *GetAccessTokenRequest, opts ...grpc.CallOption) (*GetAccessTokenResponse, error)
		// 刷新AccessToken
		RefreshAccessToken(ctx context.Context, in *RefreshAccessTokenRequest, opts ...grpc.CallOption) (*RefreshAccessTokenResponse, error)
	}

	defaultAuthService struct {
		cli zrpc.Client
	}
)

func NewAuthService(cli zrpc.Client) AuthService {
	return &defaultAuthService{
		cli: cli,
	}
}

func (m *defaultAuthService) Ping(ctx context.Context, in *Request, opts ...grpc.CallOption) (*Response, error) {
	client := auth.NewAuthServiceClient(m.cli.Conn())
	return client.Ping(ctx, in, opts...)
}

func (m *defaultAuthService) Code2Session(ctx context.Context, in *Code2SessionRequest, opts ...grpc.CallOption) (*Code2SessionResponse, error) {
	client := auth.NewAuthServiceClient(m.cli.Conn())
	return client.Code2Session(ctx, in, opts...)
}

func (m *defaultAuthService) GetAccessToken(ctx context.Context, in *GetAccessTokenRequest, opts ...grpc.CallOption) (*GetAccessTokenResponse, error) {
	client := auth.NewAuthServiceClient(m.cli.Conn())
	return client.GetAccessToken(ctx, in, opts...)
}

// 刷新AccessToken
func (m *defaultAuthService) RefreshAccessToken(ctx context.Context, in *RefreshAccessTokenRequest, opts ...grpc.CallOption) (*RefreshAccessTokenResponse, error) {
	client := auth.NewAuthServiceClient(m.cli.Conn())
	return client.RefreshAccessToken(ctx, in, opts...)
}