package jiracli

import (
	"jirasop/pkg/infra/config"
	"jirasop/pkg/infra/log"

	"github.com/andygrunwald/go-jira"
	"github.com/go-logr/logr"
)

type JiraClient struct {
	Client *jira.Client
	logger logr.Logger
}

func NewJiraCli(logconf config.LogConfig, jiraconf config.JiraConfig) (*JiraClient, error) {
	logger := log.Logger.WithName("JiraCli")
	tp := jira.PATAuthTransport{
		Token: jiraconf.Token,
	}
	client, err := jira.NewClient(tp.Client(), jiraconf.ClientAddr)
	if err != nil {
		return nil, err
	}
	return &JiraClient{logger: logger, Client: client}, nil
}
