// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/kweaver-ai/kweaver-core/decision-agent/agent-backend/agent-factory/src/port/driven/idbaccess (interfaces: IPublishedTplRepo)
//
// Generated by this command:
//
//	mockgen -package idbaccessmock -destination ./idbaccessmock/published_tpl.go github.com/kweaver-ai/kweaver-core/decision-agent/agent-backend/agent-factory/src/port/driven/idbaccess IPublishedTplRepo
//

// Package idbaccessmock is a generated GoMock package.
package idbaccessmock

import (
	context "context"
	sql "database/sql"
	reflect "reflect"

	pubedreq "github.com/kweaver-ai/kweaver-core/decision-agent/agent-backend/agent-factory/src/driveradapter/api/rdto/published/pubedreq"
	dapo "github.com/kweaver-ai/kweaver-core/decision-agent/agent-backend/agent-factory/src/infra/persistence/dapo"
	sqlx "github.com/kweaver-ai/proton-rds-sdk-go/sqlx"
	gomock "go.uber.org/mock/gomock"
)

// MockIPublishedTplRepo is a mock of IPublishedTplRepo interface.
type MockIPublishedTplRepo struct {
	ctrl     *gomock.Controller
	recorder *MockIPublishedTplRepoMockRecorder
	isgomock struct{}
}

// MockIPublishedTplRepoMockRecorder is the mock recorder for MockIPublishedTplRepo.
type MockIPublishedTplRepoMockRecorder struct {
	mock *MockIPublishedTplRepo
}

// NewMockIPublishedTplRepo creates a new mock instance.
func NewMockIPublishedTplRepo(ctrl *gomock.Controller) *MockIPublishedTplRepo {
	mock := &MockIPublishedTplRepo{ctrl: ctrl}
	mock.recorder = &MockIPublishedTplRepoMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use.
func (m *MockIPublishedTplRepo) EXPECT() *MockIPublishedTplRepoMockRecorder {
	return m.recorder
}

// BatchCreateCategoryAssoc mocks base method.
func (m *MockIPublishedTplRepo) BatchCreateCategoryAssoc(ctx context.Context, tx *sql.Tx, pos []*dapo.PubTplCatAssocPo) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "BatchCreateCategoryAssoc", ctx, tx, pos)
	ret0, _ := ret[0].(error)
	return ret0
}

// BatchCreateCategoryAssoc indicates an expected call of BatchCreateCategoryAssoc.
func (mr *MockIPublishedTplRepoMockRecorder) BatchCreateCategoryAssoc(ctx, tx, pos any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BatchCreateCategoryAssoc", reflect.TypeOf((*MockIPublishedTplRepo)(nil).BatchCreateCategoryAssoc), ctx, tx, pos)
}

// BeginTx mocks base method.
func (m *MockIPublishedTplRepo) BeginTx(ctx context.Context) (*sql.Tx, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "BeginTx", ctx)
	ret0, _ := ret[0].(*sql.Tx)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// BeginTx indicates an expected call of BeginTx.
func (mr *MockIPublishedTplRepoMockRecorder) BeginTx(ctx any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BeginTx", reflect.TypeOf((*MockIPublishedTplRepo)(nil).BeginTx), ctx)
}

// Create mocks base method.
func (m *MockIPublishedTplRepo) Create(ctx context.Context, tx *sql.Tx, po *dapo.PublishedTplPo) (int64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Create", ctx, tx, po)
	ret0, _ := ret[0].(int64)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Create indicates an expected call of Create.
func (mr *MockIPublishedTplRepoMockRecorder) Create(ctx, tx, po any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockIPublishedTplRepo)(nil).Create), ctx, tx, po)
}

// DelCategoryAssocByTplID mocks base method.
func (m *MockIPublishedTplRepo) DelCategoryAssocByTplID(ctx context.Context, tx *sql.Tx, tplID int64) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DelCategoryAssocByTplID", ctx, tx, tplID)
	ret0, _ := ret[0].(error)
	return ret0
}

// DelCategoryAssocByTplID indicates an expected call of DelCategoryAssocByTplID.
func (mr *MockIPublishedTplRepoMockRecorder) DelCategoryAssocByTplID(ctx, tx, tplID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DelCategoryAssocByTplID", reflect.TypeOf((*MockIPublishedTplRepo)(nil).DelCategoryAssocByTplID), ctx, tx, tplID)
}

// Delete mocks base method.
func (m *MockIPublishedTplRepo) Delete(ctx context.Context, tx *sql.Tx, id int64) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Delete", ctx, tx, id)
	ret0, _ := ret[0].(error)
	return ret0
}

// Delete indicates an expected call of Delete.
func (mr *MockIPublishedTplRepoMockRecorder) Delete(ctx, tx, id any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockIPublishedTplRepo)(nil).Delete), ctx, tx, id)
}

// DeleteByTplID mocks base method.
func (m *MockIPublishedTplRepo) DeleteByTplID(ctx context.Context, tx *sql.Tx, tplID int64) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteByTplID", ctx, tx, tplID)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeleteByTplID indicates an expected call of DeleteByTplID.
func (mr *MockIPublishedTplRepoMockRecorder) DeleteByTplID(ctx, tx, tplID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteByTplID", reflect.TypeOf((*MockIPublishedTplRepo)(nil).DeleteByTplID), ctx, tx, tplID)
}

// ExistsByID mocks base method.
func (m *MockIPublishedTplRepo) ExistsByID(ctx context.Context, id int64) (bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ExistsByID", ctx, id)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ExistsByID indicates an expected call of ExistsByID.
func (mr *MockIPublishedTplRepoMockRecorder) ExistsByID(ctx, id any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExistsByID", reflect.TypeOf((*MockIPublishedTplRepo)(nil).ExistsByID), ctx, id)
}

// ExistsByKey mocks base method.
func (m *MockIPublishedTplRepo) ExistsByKey(ctx context.Context, key string) (bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ExistsByKey", ctx, key)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ExistsByKey indicates an expected call of ExistsByKey.
func (mr *MockIPublishedTplRepoMockRecorder) ExistsByKey(ctx, key any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExistsByKey", reflect.TypeOf((*MockIPublishedTplRepo)(nil).ExistsByKey), ctx, key)
}

// GetByCategoryID mocks base method.
func (m *MockIPublishedTplRepo) GetByCategoryID(ctx context.Context, categoryID string) ([]*dapo.PublishedTplPo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetByCategoryID", ctx, categoryID)
	ret0, _ := ret[0].([]*dapo.PublishedTplPo)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetByCategoryID indicates an expected call of GetByCategoryID.
func (mr *MockIPublishedTplRepoMockRecorder) GetByCategoryID(ctx, categoryID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetByCategoryID", reflect.TypeOf((*MockIPublishedTplRepo)(nil).GetByCategoryID), ctx, categoryID)
}

// GetByID mocks base method.
func (m *MockIPublishedTplRepo) GetByID(ctx context.Context, id int64) (*dapo.PublishedTplPo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetByID", ctx, id)
	ret0, _ := ret[0].(*dapo.PublishedTplPo)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetByID indicates an expected call of GetByID.
func (mr *MockIPublishedTplRepoMockRecorder) GetByID(ctx, id any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetByID", reflect.TypeOf((*MockIPublishedTplRepo)(nil).GetByID), ctx, id)
}

// GetByIDWithTx mocks base method.
func (m *MockIPublishedTplRepo) GetByIDWithTx(ctx context.Context, tx *sql.Tx, id int64) (*dapo.PublishedTplPo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetByIDWithTx", ctx, tx, id)
	ret0, _ := ret[0].(*dapo.PublishedTplPo)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetByIDWithTx indicates an expected call of GetByIDWithTx.
func (mr *MockIPublishedTplRepoMockRecorder) GetByIDWithTx(ctx, tx, id any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetByIDWithTx", reflect.TypeOf((*MockIPublishedTplRepo)(nil).GetByIDWithTx), ctx, tx, id)
}

// GetByKey mocks base method.
func (m *MockIPublishedTplRepo) GetByKey(ctx context.Context, key string) (*dapo.PublishedTplPo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetByKey", ctx, key)
	ret0, _ := ret[0].(*dapo.PublishedTplPo)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetByKey indicates an expected call of GetByKey.
func (mr *MockIPublishedTplRepoMockRecorder) GetByKey(ctx, key any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetByKey", reflect.TypeOf((*MockIPublishedTplRepo)(nil).GetByKey), ctx, key)
}

// GetByKeyWithTx mocks base method.
func (m *MockIPublishedTplRepo) GetByKeyWithTx(ctx context.Context, tx *sql.Tx, key string) (*dapo.PublishedTplPo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetByKeyWithTx", ctx, tx, key)
	ret0, _ := ret[0].(*dapo.PublishedTplPo)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetByKeyWithTx indicates an expected call of GetByKeyWithTx.
func (mr *MockIPublishedTplRepoMockRecorder) GetByKeyWithTx(ctx, tx, key any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetByKeyWithTx", reflect.TypeOf((*MockIPublishedTplRepo)(nil).GetByKeyWithTx), ctx, tx, key)
}

// GetByTplID mocks base method.
func (m *MockIPublishedTplRepo) GetByTplID(ctx context.Context, tplID int64) (*dapo.PublishedTplPo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetByTplID", ctx, tplID)
	ret0, _ := ret[0].(*dapo.PublishedTplPo)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetByTplID indicates an expected call of GetByTplID.
func (mr *MockIPublishedTplRepoMockRecorder) GetByTplID(ctx, tplID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetByTplID", reflect.TypeOf((*MockIPublishedTplRepo)(nil).GetByTplID), ctx, tplID)
}

// GetCategoryAssocByTplID mocks base method.
func (m *MockIPublishedTplRepo) GetCategoryAssocByTplID(ctx context.Context, tx *sql.Tx, tplID int64) ([]*dapo.PubTplCatAssocPo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetCategoryAssocByTplID", ctx, tx, tplID)
	ret0, _ := ret[0].([]*dapo.PubTplCatAssocPo)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetCategoryAssocByTplID indicates an expected call of GetCategoryAssocByTplID.
func (mr *MockIPublishedTplRepoMockRecorder) GetCategoryAssocByTplID(ctx, tx, tplID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCategoryAssocByTplID", reflect.TypeOf((*MockIPublishedTplRepo)(nil).GetCategoryAssocByTplID), ctx, tx, tplID)
}

// GetCategoryJoinPosByTplID mocks base method.
func (m *MockIPublishedTplRepo) GetCategoryJoinPosByTplID(ctx context.Context, tx *sql.Tx, tplID int64) ([]*dapo.DataAgentTplCategoryJoinPo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetCategoryJoinPosByTplID", ctx, tx, tplID)
	ret0, _ := ret[0].([]*dapo.DataAgentTplCategoryJoinPo)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetCategoryJoinPosByTplID indicates an expected call of GetCategoryJoinPosByTplID.
func (mr *MockIPublishedTplRepoMockRecorder) GetCategoryJoinPosByTplID(ctx, tx, tplID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCategoryJoinPosByTplID", reflect.TypeOf((*MockIPublishedTplRepo)(nil).GetCategoryJoinPosByTplID), ctx, tx, tplID)
}

// GetDB mocks base method.
func (m *MockIPublishedTplRepo) GetDB() *sqlx.DB {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetDB")
	ret0, _ := ret[0].(*sqlx.DB)
	return ret0
}

// GetDB indicates an expected call of GetDB.
func (mr *MockIPublishedTplRepoMockRecorder) GetDB() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetDB", reflect.TypeOf((*MockIPublishedTplRepo)(nil).GetDB))
}

// GetPubTplList mocks base method.
func (m *MockIPublishedTplRepo) GetPubTplList(ctx context.Context, req *pubedreq.PubedTplListReq) ([]*dapo.PublishedTplPo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetPubTplList", ctx, req)
	ret0, _ := ret[0].([]*dapo.PublishedTplPo)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetPubTplList indicates an expected call of GetPubTplList.
func (mr *MockIPublishedTplRepoMockRecorder) GetPubTplList(ctx, req any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPubTplList", reflect.TypeOf((*MockIPublishedTplRepo)(nil).GetPubTplList), ctx, req)
}
