// Code generated by MockGen. DO NOT EDIT.
// Source: ../interfaces/relation_type_access.go
//
// Generated by this command:
//
//	mockgen -source ../interfaces/relation_type_access.go -destination ../interfaces/mock/mock_relation_type_access.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"
)

// MockRelationTypeAccess is a mock of RelationTypeAccess interface.
type MockRelationTypeAccess struct {
	ctrl     *gomock.Controller
	recorder *MockRelationTypeAccessMockRecorder
	isgomock struct{}
}

// MockRelationTypeAccessMockRecorder is the mock recorder for MockRelationTypeAccess.
type MockRelationTypeAccessMockRecorder struct {
	mock *MockRelationTypeAccess
}

// NewMockRelationTypeAccess creates a new mock instance.
func NewMockRelationTypeAccess(ctrl *gomock.Controller) *MockRelationTypeAccess {
	mock := &MockRelationTypeAccess{ctrl: ctrl}
	mock.recorder = &MockRelationTypeAccessMockRecorder{mock}
	return mock
}

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

// CheckRelationTypeExistByID mocks base method.
func (m *MockRelationTypeAccess) 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 *MockRelationTypeAccessMockRecorder) CheckRelationTypeExistByID(ctx, knID, branch, rtID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckRelationTypeExistByID", reflect.TypeOf((*MockRelationTypeAccess)(nil).CheckRelationTypeExistByID), ctx, knID, branch, rtID)
}

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

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

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

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

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

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

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

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

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

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

// GetRelationTypeIDsByKnID mocks base method.
func (m *MockRelationTypeAccess) 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 *MockRelationTypeAccessMockRecorder) GetRelationTypeIDsByKnID(ctx, knID, branch any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRelationTypeIDsByKnID", reflect.TypeOf((*MockRelationTypeAccess)(nil).GetRelationTypeIDsByKnID), ctx, knID, branch)
}

// GetRelationTypesByIDs mocks base method.
func (m *MockRelationTypeAccess) 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 *MockRelationTypeAccessMockRecorder) GetRelationTypesByIDs(ctx, knID, branch, rtIDs any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRelationTypesByIDs", reflect.TypeOf((*MockRelationTypeAccess)(nil).GetRelationTypesByIDs), ctx, knID, branch, rtIDs)
}

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

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

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

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

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

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