// Code generated by MockGen. DO NOT EDIT.
// Source: logics_auth.go
//
// Generated by this command:
//
//	mockgen -source=logics_auth.go -destination=../mocks/auth.go -package=mocks
//

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

import (
	context "context"
	reflect "reflect"

	interfaces "github.com/kweaver-ai/adp/execution-factory/operator-integration/server/interfaces"
	gomock "go.uber.org/mock/gomock"
)

// MockIAuthorizationService is a mock of IAuthorizationService interface.
type MockIAuthorizationService struct {
	ctrl     *gomock.Controller
	recorder *MockIAuthorizationServiceMockRecorder
	isgomock struct{}
}

// MockIAuthorizationServiceMockRecorder is the mock recorder for MockIAuthorizationService.
type MockIAuthorizationServiceMockRecorder struct {
	mock *MockIAuthorizationService
}

// NewMockIAuthorizationService creates a new mock instance.
func NewMockIAuthorizationService(ctrl *gomock.Controller) *MockIAuthorizationService {
	mock := &MockIAuthorizationService{ctrl: ctrl}
	mock.recorder = &MockIAuthorizationServiceMockRecorder{mock}
	return mock
}

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

// CheckAuthorizePermission mocks base method.
func (m *MockIAuthorizationService) CheckAuthorizePermission(ctx context.Context, accessor *interfaces.AuthAccessor, resourceID string, resourceType interfaces.AuthResourceType) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CheckAuthorizePermission", ctx, accessor, resourceID, resourceType)
	ret0, _ := ret[0].(error)
	return ret0
}

// CheckAuthorizePermission indicates an expected call of CheckAuthorizePermission.
func (mr *MockIAuthorizationServiceMockRecorder) CheckAuthorizePermission(ctx, accessor, resourceID, resourceType any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckAuthorizePermission", reflect.TypeOf((*MockIAuthorizationService)(nil).CheckAuthorizePermission), ctx, accessor, resourceID, resourceType)
}

// CheckCreatePermission mocks base method.
func (m *MockIAuthorizationService) CheckCreatePermission(ctx context.Context, accessor *interfaces.AuthAccessor, resourceType interfaces.AuthResourceType) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CheckCreatePermission", ctx, accessor, resourceType)
	ret0, _ := ret[0].(error)
	return ret0
}

// CheckCreatePermission indicates an expected call of CheckCreatePermission.
func (mr *MockIAuthorizationServiceMockRecorder) CheckCreatePermission(ctx, accessor, resourceType any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckCreatePermission", reflect.TypeOf((*MockIAuthorizationService)(nil).CheckCreatePermission), ctx, accessor, resourceType)
}

// CheckDeletePermission mocks base method.
func (m *MockIAuthorizationService) CheckDeletePermission(ctx context.Context, accessor *interfaces.AuthAccessor, resourceID string, resourceType interfaces.AuthResourceType) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CheckDeletePermission", ctx, accessor, resourceID, resourceType)
	ret0, _ := ret[0].(error)
	return ret0
}

// CheckDeletePermission indicates an expected call of CheckDeletePermission.
func (mr *MockIAuthorizationServiceMockRecorder) CheckDeletePermission(ctx, accessor, resourceID, resourceType any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckDeletePermission", reflect.TypeOf((*MockIAuthorizationService)(nil).CheckDeletePermission), ctx, accessor, resourceID, resourceType)
}

// CheckExecutePermission mocks base method.
func (m *MockIAuthorizationService) CheckExecutePermission(ctx context.Context, accessor *interfaces.AuthAccessor, resourceID string, resourceType interfaces.AuthResourceType) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CheckExecutePermission", ctx, accessor, resourceID, resourceType)
	ret0, _ := ret[0].(error)
	return ret0
}

// CheckExecutePermission indicates an expected call of CheckExecutePermission.
func (mr *MockIAuthorizationServiceMockRecorder) CheckExecutePermission(ctx, accessor, resourceID, resourceType any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckExecutePermission", reflect.TypeOf((*MockIAuthorizationService)(nil).CheckExecutePermission), ctx, accessor, resourceID, resourceType)
}

// CheckModifyPermission mocks base method.
func (m *MockIAuthorizationService) CheckModifyPermission(ctx context.Context, accessor *interfaces.AuthAccessor, resourceID string, resourceType interfaces.AuthResourceType) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CheckModifyPermission", ctx, accessor, resourceID, resourceType)
	ret0, _ := ret[0].(error)
	return ret0
}

// CheckModifyPermission indicates an expected call of CheckModifyPermission.
func (mr *MockIAuthorizationServiceMockRecorder) CheckModifyPermission(ctx, accessor, resourceID, resourceType any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckModifyPermission", reflect.TypeOf((*MockIAuthorizationService)(nil).CheckModifyPermission), ctx, accessor, resourceID, resourceType)
}

// CheckPublicAccessPermission mocks base method.
func (m *MockIAuthorizationService) CheckPublicAccessPermission(ctx context.Context, accessor *interfaces.AuthAccessor, resourceID string, resourceType interfaces.AuthResourceType) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CheckPublicAccessPermission", ctx, accessor, resourceID, resourceType)
	ret0, _ := ret[0].(error)
	return ret0
}

// CheckPublicAccessPermission indicates an expected call of CheckPublicAccessPermission.
func (mr *MockIAuthorizationServiceMockRecorder) CheckPublicAccessPermission(ctx, accessor, resourceID, resourceType any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckPublicAccessPermission", reflect.TypeOf((*MockIAuthorizationService)(nil).CheckPublicAccessPermission), ctx, accessor, resourceID, resourceType)
}

// CheckPublishPermission mocks base method.
func (m *MockIAuthorizationService) CheckPublishPermission(ctx context.Context, accessor *interfaces.AuthAccessor, resourceID string, resourceType interfaces.AuthResourceType) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CheckPublishPermission", ctx, accessor, resourceID, resourceType)
	ret0, _ := ret[0].(error)
	return ret0
}

// CheckPublishPermission indicates an expected call of CheckPublishPermission.
func (mr *MockIAuthorizationServiceMockRecorder) CheckPublishPermission(ctx, accessor, resourceID, resourceType any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckPublishPermission", reflect.TypeOf((*MockIAuthorizationService)(nil).CheckPublishPermission), ctx, accessor, resourceID, resourceType)
}

// CheckUnpublishPermission mocks base method.
func (m *MockIAuthorizationService) CheckUnpublishPermission(ctx context.Context, accessor *interfaces.AuthAccessor, resourceID string, resourceType interfaces.AuthResourceType) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CheckUnpublishPermission", ctx, accessor, resourceID, resourceType)
	ret0, _ := ret[0].(error)
	return ret0
}

// CheckUnpublishPermission indicates an expected call of CheckUnpublishPermission.
func (mr *MockIAuthorizationServiceMockRecorder) CheckUnpublishPermission(ctx, accessor, resourceID, resourceType any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckUnpublishPermission", reflect.TypeOf((*MockIAuthorizationService)(nil).CheckUnpublishPermission), ctx, accessor, resourceID, resourceType)
}

// CheckViewPermission mocks base method.
func (m *MockIAuthorizationService) CheckViewPermission(ctx context.Context, accessor *interfaces.AuthAccessor, resourceID string, resourceType interfaces.AuthResourceType) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CheckViewPermission", ctx, accessor, resourceID, resourceType)
	ret0, _ := ret[0].(error)
	return ret0
}

// CheckViewPermission indicates an expected call of CheckViewPermission.
func (mr *MockIAuthorizationServiceMockRecorder) CheckViewPermission(ctx, accessor, resourceID, resourceType any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckViewPermission", reflect.TypeOf((*MockIAuthorizationService)(nil).CheckViewPermission), ctx, accessor, resourceID, resourceType)
}

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

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

// CreateOwnerPolicy mocks base method.
func (m *MockIAuthorizationService) CreateOwnerPolicy(ctx context.Context, accessor *interfaces.AuthAccessor, authResource *interfaces.AuthResource) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateOwnerPolicy", ctx, accessor, authResource)
	ret0, _ := ret[0].(error)
	return ret0
}

// CreateOwnerPolicy indicates an expected call of CreateOwnerPolicy.
func (mr *MockIAuthorizationServiceMockRecorder) CreateOwnerPolicy(ctx, accessor, authResource any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateOwnerPolicy", reflect.TypeOf((*MockIAuthorizationService)(nil).CreateOwnerPolicy), ctx, accessor, authResource)
}

// CreatePolicy mocks base method.
func (m *MockIAuthorizationService) CreatePolicy(ctx context.Context, accessor *interfaces.AuthAccessor, authResource *interfaces.AuthResource, allow, deny []interfaces.AuthOperationType) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreatePolicy", ctx, accessor, authResource, allow, deny)
	ret0, _ := ret[0].(error)
	return ret0
}

// CreatePolicy indicates an expected call of CreatePolicy.
func (mr *MockIAuthorizationServiceMockRecorder) CreatePolicy(ctx, accessor, authResource, allow, deny any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreatePolicy", reflect.TypeOf((*MockIAuthorizationService)(nil).CreatePolicy), ctx, accessor, authResource, allow, deny)
}

// DeletePolicy mocks base method.
func (m *MockIAuthorizationService) DeletePolicy(ctx context.Context, resourceIDs []string, resourceType interfaces.AuthResourceType) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeletePolicy", ctx, resourceIDs, resourceType)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeletePolicy indicates an expected call of DeletePolicy.
func (mr *MockIAuthorizationServiceMockRecorder) DeletePolicy(ctx, resourceIDs, resourceType any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeletePolicy", reflect.TypeOf((*MockIAuthorizationService)(nil).DeletePolicy), ctx, resourceIDs, resourceType)
}

// GetAccessor mocks base method.
func (m *MockIAuthorizationService) GetAccessor(ctx context.Context, userID string) (*interfaces.AuthAccessor, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetAccessor", ctx, userID)
	ret0, _ := ret[0].(*interfaces.AuthAccessor)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// MultiCheckOperationPermission mocks base method.
func (m *MockIAuthorizationService) MultiCheckOperationPermission(ctx context.Context, accessor *interfaces.AuthAccessor, resourceID string, resourceType interfaces.AuthResourceType, operations ...interfaces.AuthOperationType) error {
	m.ctrl.T.Helper()
	varargs := []any{ctx, accessor, resourceID, resourceType}
	for _, a := range operations {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "MultiCheckOperationPermission", varargs...)
	ret0, _ := ret[0].(error)
	return ret0
}

// MultiCheckOperationPermission indicates an expected call of MultiCheckOperationPermission.
func (mr *MockIAuthorizationServiceMockRecorder) MultiCheckOperationPermission(ctx, accessor, resourceID, resourceType any, operations ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx, accessor, resourceID, resourceType}, operations...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MultiCheckOperationPermission", reflect.TypeOf((*MockIAuthorizationService)(nil).MultiCheckOperationPermission), varargs...)
}

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

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

// OperationCheckAll mocks base method.
func (m *MockIAuthorizationService) OperationCheckAll(ctx context.Context, accessor *interfaces.AuthAccessor, resourceID string, resourceType interfaces.AuthResourceType, operations ...interfaces.AuthOperationType) (bool, error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx, accessor, resourceID, resourceType}
	for _, a := range operations {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "OperationCheckAll", varargs...)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// OperationCheckAll indicates an expected call of OperationCheckAll.
func (mr *MockIAuthorizationServiceMockRecorder) OperationCheckAll(ctx, accessor, resourceID, resourceType any, operations ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx, accessor, resourceID, resourceType}, operations...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "OperationCheckAll", reflect.TypeOf((*MockIAuthorizationService)(nil).OperationCheckAll), varargs...)
}

// OperationCheckAny mocks base method.
func (m *MockIAuthorizationService) OperationCheckAny(ctx context.Context, accessor *interfaces.AuthAccessor, resourceID string, resourceType interfaces.AuthResourceType, operations ...interfaces.AuthOperationType) (bool, error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx, accessor, resourceID, resourceType}
	for _, a := range operations {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "OperationCheckAny", varargs...)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// OperationCheckAny indicates an expected call of OperationCheckAny.
func (mr *MockIAuthorizationServiceMockRecorder) OperationCheckAny(ctx, accessor, resourceID, resourceType any, operations ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx, accessor, resourceID, resourceType}, operations...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "OperationCheckAny", reflect.TypeOf((*MockIAuthorizationService)(nil).OperationCheckAny), varargs...)
}

// ResourceFilterIDs mocks base method.
func (m *MockIAuthorizationService) ResourceFilterIDs(ctx context.Context, accessor *interfaces.AuthAccessor, resourceIDS []string, resourceType interfaces.AuthResourceType, operations ...interfaces.AuthOperationType) ([]string, error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx, accessor, resourceIDS, resourceType}
	for _, a := range operations {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "ResourceFilterIDs", varargs...)
	ret0, _ := ret[0].([]string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ResourceFilterIDs indicates an expected call of ResourceFilterIDs.
func (mr *MockIAuthorizationServiceMockRecorder) ResourceFilterIDs(ctx, accessor, resourceIDS, resourceType any, operations ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx, accessor, resourceIDS, resourceType}, operations...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ResourceFilterIDs", reflect.TypeOf((*MockIAuthorizationService)(nil).ResourceFilterIDs), varargs...)
}

// ResourceListIDs mocks base method.
func (m *MockIAuthorizationService) ResourceListIDs(ctx context.Context, accessor *interfaces.AuthAccessor, resourceType interfaces.AuthResourceType, operations ...interfaces.AuthOperationType) ([]string, error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx, accessor, resourceType}
	for _, a := range operations {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "ResourceListIDs", varargs...)
	ret0, _ := ret[0].([]string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ResourceListIDs indicates an expected call of ResourceListIDs.
func (mr *MockIAuthorizationServiceMockRecorder) ResourceListIDs(ctx, accessor, resourceType any, operations ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx, accessor, resourceType}, operations...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ResourceListIDs", reflect.TypeOf((*MockIAuthorizationService)(nil).ResourceListIDs), varargs...)
}
