// Code generated by MockGen. DO NOT EDIT.
// Source: ./internel/dao/cross/cross.go

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

import (
	context "context"
	reflect "reflect"

	gomock "github.com/golang/mock/gomock"
	entity "github.com/tidbcloud/account/internel/dao/entity"
	gorm "gorm.io/gorm"
)

// MockCrossDaoIface is a mock of CrossDaoIface interface.
type MockCrossDaoIface struct {
	ctrl     *gomock.Controller
	recorder *MockCrossDaoIfaceMockRecorder
}

// MockCrossDaoIfaceMockRecorder is the mock recorder for MockCrossDaoIface.
type MockCrossDaoIfaceMockRecorder struct {
	mock *MockCrossDaoIface
}

// NewMockCrossDaoIface creates a new mock instance.
func NewMockCrossDaoIface(ctrl *gomock.Controller) *MockCrossDaoIface {
	mock := &MockCrossDaoIface{ctrl: ctrl}
	mock.recorder = &MockCrossDaoIfaceMockRecorder{mock}
	return mock
}

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

// CreateSystemUserByOrgID mocks base method.
func (m *MockCrossDaoIface) CreateSystemUserByOrgID(ctx context.Context, tx *gorm.DB, orgID uint64) (*entity.User, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateSystemUserByOrgID", ctx, tx, orgID)
	ret0, _ := ret[0].(*entity.User)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateSystemUserByOrgID indicates an expected call of CreateSystemUserByOrgID.
func (mr *MockCrossDaoIfaceMockRecorder) CreateSystemUserByOrgID(ctx, tx, orgID interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateSystemUserByOrgID", reflect.TypeOf((*MockCrossDaoIface)(nil).CreateSystemUserByOrgID), ctx, tx, orgID)
}

// Dao mocks base method.
func (m *MockCrossDaoIface) Dao() *CrossDao {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Dao")
	ret0, _ := ret[0].(*CrossDao)
	return ret0
}

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

// GetOrCreateSystemUserByOrgID mocks base method.
func (m *MockCrossDaoIface) GetOrCreateSystemUserByOrgID(ctx context.Context, tx *gorm.DB, orgID uint64) (*entity.User, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetOrCreateSystemUserByOrgID", ctx, tx, orgID)
	ret0, _ := ret[0].(*entity.User)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetOrCreateSystemUserByOrgID indicates an expected call of GetOrCreateSystemUserByOrgID.
func (mr *MockCrossDaoIfaceMockRecorder) GetOrCreateSystemUserByOrgID(ctx, tx, orgID interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetOrCreateSystemUserByOrgID", reflect.TypeOf((*MockCrossDaoIface)(nil).GetOrCreateSystemUserByOrgID), ctx, tx, orgID)
}

// IsUserInOrg mocks base method.
func (m *MockCrossDaoIface) IsUserInOrg(ctx context.Context, tx *gorm.DB, userID, orgID uint64) (bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "IsUserInOrg", ctx, tx, userID, orgID)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// IsUserInOrg indicates an expected call of IsUserInOrg.
func (mr *MockCrossDaoIfaceMockRecorder) IsUserInOrg(ctx, tx, userID, orgID interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsUserInOrg", reflect.TypeOf((*MockCrossDaoIface)(nil).IsUserInOrg), ctx, tx, userID, orgID)
}

// LegacyGetOrgByUser mocks base method.
func (m *MockCrossDaoIface) LegacyGetOrgByUser(ctx context.Context, tx *gorm.DB, userID uint64, status []string) (*entity.Tenant, bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "LegacyGetOrgByUser", ctx, tx, userID, status)
	ret0, _ := ret[0].(*entity.Tenant)
	ret1, _ := ret[1].(bool)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// LegacyGetOrgByUser indicates an expected call of LegacyGetOrgByUser.
func (mr *MockCrossDaoIfaceMockRecorder) LegacyGetOrgByUser(ctx, tx, userID, status interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LegacyGetOrgByUser", reflect.TypeOf((*MockCrossDaoIface)(nil).LegacyGetOrgByUser), ctx, tx, userID, status)
}

// ListActiveProjects mocks base method.
func (m *MockCrossDaoIface) ListActiveProjects(ctx context.Context, tx *gorm.DB, userID, orgID uint64, listAllProjects bool) ([]entity.Project, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListActiveProjects", ctx, tx, userID, orgID, listAllProjects)
	ret0, _ := ret[0].([]entity.Project)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListActiveProjects indicates an expected call of ListActiveProjects.
func (mr *MockCrossDaoIfaceMockRecorder) ListActiveProjects(ctx, tx, userID, orgID, listAllProjects interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListActiveProjects", reflect.TypeOf((*MockCrossDaoIface)(nil).ListActiveProjects), ctx, tx, userID, orgID, listAllProjects)
}

// ListActiveProjectsByUserIDAndOrgID mocks base method.
func (m *MockCrossDaoIface) ListActiveProjectsByUserIDAndOrgID(ctx context.Context, tx *gorm.DB, userID, orgID uint64) ([]entity.Project, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListActiveProjectsByUserIDAndOrgID", ctx, tx, userID, orgID)
	ret0, _ := ret[0].([]entity.Project)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListActiveProjectsByUserIDAndOrgID indicates an expected call of ListActiveProjectsByUserIDAndOrgID.
func (mr *MockCrossDaoIfaceMockRecorder) ListActiveProjectsByUserIDAndOrgID(ctx, tx, userID, orgID interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListActiveProjectsByUserIDAndOrgID", reflect.TypeOf((*MockCrossDaoIface)(nil).ListActiveProjectsByUserIDAndOrgID), ctx, tx, userID, orgID)
}

// ListOrgsByUserID mocks base method.
func (m *MockCrossDaoIface) ListOrgsByUserID(ctx context.Context, tx *gorm.DB, userID uint64, status []string) ([]entity.Tenant, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListOrgsByUserID", ctx, tx, userID, status)
	ret0, _ := ret[0].([]entity.Tenant)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListOrgsByUserID indicates an expected call of ListOrgsByUserID.
func (mr *MockCrossDaoIfaceMockRecorder) ListOrgsByUserID(ctx, tx, userID, status interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListOrgsByUserID", reflect.TypeOf((*MockCrossDaoIface)(nil).ListOrgsByUserID), ctx, tx, userID, status)
}

// ListUsersByOrgIDAndRole mocks base method.
func (m *MockCrossDaoIface) ListUsersByOrgIDAndRole(ctx context.Context, tx *gorm.DB, orgID uint64, role string, roleStatus []string) ([]entity.User, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListUsersByOrgIDAndRole", ctx, tx, orgID, role, roleStatus)
	ret0, _ := ret[0].([]entity.User)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListUsersByOrgIDAndRole indicates an expected call of ListUsersByOrgIDAndRole.
func (mr *MockCrossDaoIfaceMockRecorder) ListUsersByOrgIDAndRole(ctx, tx, orgID, role, roleStatus interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListUsersByOrgIDAndRole", reflect.TypeOf((*MockCrossDaoIface)(nil).ListUsersByOrgIDAndRole), ctx, tx, orgID, role, roleStatus)
}

// ListUsersByProjectID mocks base method.
func (m *MockCrossDaoIface) ListUsersByProjectID(ctx context.Context, tx *gorm.DB, projectID uint64, roleStatus []string) ([]entity.User, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListUsersByProjectID", ctx, tx, projectID, roleStatus)
	ret0, _ := ret[0].([]entity.User)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListUsersByProjectID indicates an expected call of ListUsersByProjectID.
func (mr *MockCrossDaoIfaceMockRecorder) ListUsersByProjectID(ctx, tx, projectID, roleStatus interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListUsersByProjectID", reflect.TypeOf((*MockCrossDaoIface)(nil).ListUsersByProjectID), ctx, tx, projectID, roleStatus)
}
