package job

import (
	"github.com/go-nunu/nunu-layout-advanced/internal/repository"
	"github.com/go-nunu/nunu-layout-advanced/pkg/jwt"
	"github.com/go-nunu/nunu-layout-advanced/pkg/log"
	"github.com/go-nunu/nunu-layout-advanced/pkg/rabbitmq"
	"github.com/go-nunu/nunu-layout-advanced/pkg/sid"
)

type Job struct {
	logger   *log.Logger
	sid      *sid.Sid
	jwt      *jwt.JWT
	tm       repository.Transaction
	Rabbitmq *rabbitmq.RabbitMQ
}

func NewJob(
	tm repository.Transaction,
	logger *log.Logger,
	sid *sid.Sid,
	mq *rabbitmq.RabbitMQ,
) *Job {
	return &Job{
		logger:   logger,
		sid:      sid,
		tm:       tm,
		Rabbitmq: mq,
	}
}
