// Code generated by MockGen. DO NOT EDIT.
// Source: ../interfaces/relation_type_service.go
//
// Generated by this command:
//
//	mockgen -source ../interfaces/relation_type_service.go -destination ../interfaces/mock/mock_relation_type_service.go
//

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

import (
	interfaces "bkn-backend/interfaces"
	context "context"
	sql "database/sql"
	reflect "reflect"

	gomock "go.uber.org/mock/gomock"
)

// MockRelationTypeService is a mock of RelationTypeService interface.
type MockRelationTypeService struct {
	ctrl     *gomock.Controller
	recorder *MockRelationTypeServiceMockRecorder
	isgomock struct{}
}

// MockRelationTypeServiceMockRecorder is the mock recorder for MockRelationTypeService.
type MockRelationTypeServiceMockRecorder struct {
	mock *MockRelationTypeService
}

// NewMockRelationTypeService creates a new mock instance.
func NewMockRelationTypeService(ctrl *gomock.Controller) *MockRelationTypeService {
	mock := &MockRelationTypeService{ctrl: ctrl}
	mock.recorder = &MockRelationTypeServiceMockRecorder{mock}
	return mock
}

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

// CheckRelationTypeExistByID mocks base method.
func (m *MockRelationTypeService) CheckRelationTypeExistByID(ctx context.Context, knID, branch, rtID string) (string, bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CheckRelationTypeExistByID", ctx, knID, branch, rtID)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(bool)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// CheckRelationTypeExistByID indicates an expected call of CheckRelationTypeExistByID.
func (mr *MockRelationTypeServiceMockRecorder) CheckRelationTypeExistByID(ctx, knID, branch, rtID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckRelationTypeExistByID", reflect.TypeOf((*MockRelationTypeService)(nil).CheckRelationTypeExistByID), ctx, knID, branch, rtID)
}

// CreateRelationTypes mocks base method.
func (m *MockRelationTypeService) CreateRelationTypes(ctx context.Context, tx *sql.Tx, relationTypes []*interfaces.RelationType, mode string, validateDependency bool) ([]string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateRelationTypes", ctx, tx, relationTypes, mode, validateDependency)
	ret0, _ := ret[0].([]string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateRelationTypes indicates an expected call of CreateRelationTypes.
func (mr *MockRelationTypeServiceMockRecorder) CreateRelationTypes(ctx, tx, relationTypes, mode, validateDependency any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRelationTypes", reflect.TypeOf((*MockRelationTypeService)(nil).CreateRelationTypes), ctx, tx, relationTypes, mode, validateDependency)
}

// DeleteRelationTypesByIDs mocks base method.
func (m *MockRelationTypeService) DeleteRelationTypesByIDs(ctx context.Context, tx *sql.Tx, knID, branch string, rtIDs []string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteRelationTypesByIDs", ctx, tx, knID, branch, rtIDs)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeleteRelationTypesByIDs indicates an expected call of DeleteRelationTypesByIDs.
func (mr *MockRelationTypeServiceMockRecorder) DeleteRelationTypesByIDs(ctx, tx, knID, branch, rtIDs any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRelationTypesByIDs", reflect.TypeOf((*MockRelationTypeService)(nil).DeleteRelationTypesByIDs), ctx, tx, knID, branch, rtIDs)
}

// DeleteRelationTypesByKnID mocks base method.
func (m *MockRelationTypeService) DeleteRelationTypesByKnID(ctx context.Context, tx *sql.Tx, knID, branch string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteRelationTypesByKnID", ctx, tx, knID, branch)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeleteRelationTypesByKnID indicates an expected call of DeleteRelationTypesByKnID.
func (mr *MockRelationTypeServiceMockRecorder) DeleteRelationTypesByKnID(ctx, tx, knID, branch any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRelationTypesByKnID", reflect.TypeOf((*MockRelationTypeService)(nil).DeleteRelationTypesByKnID), ctx, tx, knID, branch)
}

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

// GetRelationTypeIDsByKnID indicates an expected call of GetRelationTypeIDsByKnID.
func (mr *MockRelationTypeServiceMockRecorder) GetRelationTypeIDsByKnID(ctx, knID, branch any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRelationTypeIDsByKnID", reflect.TypeOf((*MockRelationTypeService)(nil).GetRelationTypeIDsByKnID), ctx, knID, branch)
}

// GetRelationTypesByIDs mocks base method.
func (m *MockRelationTypeService) GetRelationTypesByIDs(ctx context.Context, knID, branch string, rtIDs []string) ([]*interfaces.RelationType, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetRelationTypesByIDs", ctx, knID, branch, rtIDs)
	ret0, _ := ret[0].([]*interfaces.RelationType)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetRelationTypesByIDs indicates an expected call of GetRelationTypesByIDs.
func (mr *MockRelationTypeServiceMockRecorder) GetRelationTypesByIDs(ctx, knID, branch, rtIDs any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRelationTypesByIDs", reflect.TypeOf((*MockRelationTypeService)(nil).GetRelationTypesByIDs), ctx, knID, branch, rtIDs)
}

// InsertDatasetData mocks base method.
func (m *MockRelationTypeService) InsertDatasetData(ctx context.Context, relationTypes []*interfaces.RelationType) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "InsertDatasetData", ctx, relationTypes)
	ret0, _ := ret[0].(error)
	return ret0
}

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

// ListRelationTypes mocks base method.
func (m *MockRelationTypeService) ListRelationTypes(ctx context.Context, query interfaces.RelationTypesQueryParams) ([]*interfaces.RelationType, int, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListRelationTypes", ctx, query)
	ret0, _ := ret[0].([]*interfaces.RelationType)
	ret1, _ := ret[1].(int)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

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

// SearchRelationTypes mocks base method.
func (m *MockRelationTypeService) SearchRelationTypes(ctx context.Context, query *interfaces.ConceptsQuery) (interfaces.RelationTypes, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SearchRelationTypes", ctx, query)
	ret0, _ := ret[0].(interfaces.RelationTypes)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// UpdateRelationType mocks base method.
func (m *MockRelationTypeService) UpdateRelationType(ctx context.Context, tx *sql.Tx, relationType *interfaces.RelationType, strictMode bool) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateRelationType", ctx, tx, relationType, strictMode)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpdateRelationType indicates an expected call of UpdateRelationType.
func (mr *MockRelationTypeServiceMockRecorder) UpdateRelationType(ctx, tx, relationType, strictMode any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRelationType", reflect.TypeOf((*MockRelationTypeService)(nil).UpdateRelationType), ctx, tx, relationType, strictMode)
}

// ValidateRelationTypes mocks base method.
func (m *MockRelationTypeService) ValidateRelationTypes(ctx context.Context, knID, branch string, relationTypes []*interfaces.RelationType, strictMode bool, batch *interfaces.BatchIDIndex, mode string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ValidateRelationTypes", ctx, knID, branch, relationTypes, strictMode, batch, mode)
	ret0, _ := ret[0].(error)
	return ret0
}

// ValidateRelationTypes indicates an expected call of ValidateRelationTypes.
func (mr *MockRelationTypeServiceMockRecorder) ValidateRelationTypes(ctx, knID, branch, relationTypes, strictMode, batch, mode any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ValidateRelationTypes", reflect.TypeOf((*MockRelationTypeService)(nil).ValidateRelationTypes), ctx, knID, branch, relationTypes, strictMode, batch, mode)
}
