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

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

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

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

// MockPermissionService is a mock of PermissionService interface.
type MockPermissionService struct {
	ctrl     *gomock.Controller
	recorder *MockPermissionServiceMockRecorder
	isgomock struct{}
}

// MockPermissionServiceMockRecorder is the mock recorder for MockPermissionService.
type MockPermissionServiceMockRecorder struct {
	mock *MockPermissionService
}

// NewMockPermissionService creates a new mock instance.
func NewMockPermissionService(ctrl *gomock.Controller) *MockPermissionService {
	mock := &MockPermissionService{ctrl: ctrl}
	mock.recorder = &MockPermissionServiceMockRecorder{mock}
	return mock
}

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

// CheckPermission mocks base method.
func (m *MockPermissionService) CheckPermission(ctx context.Context, resource interfaces.PermissionResource, ops []string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CheckPermission", ctx, resource, ops)
	ret0, _ := ret[0].(error)
	return ret0
}

// CheckPermission indicates an expected call of CheckPermission.
func (mr *MockPermissionServiceMockRecorder) CheckPermission(ctx, resource, ops any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckPermission", reflect.TypeOf((*MockPermissionService)(nil).CheckPermission), ctx, resource, ops)
}

// CreateResources mocks base method.
func (m *MockPermissionService) CreateResources(ctx context.Context, resources []interfaces.PermissionResource, ops []string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateResources", ctx, resources, ops)
	ret0, _ := ret[0].(error)
	return ret0
}

// CreateResources indicates an expected call of CreateResources.
func (mr *MockPermissionServiceMockRecorder) CreateResources(ctx, resources, ops any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateResources", reflect.TypeOf((*MockPermissionService)(nil).CreateResources), ctx, resources, ops)
}

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

// DeleteResources indicates an expected call of DeleteResources.
func (mr *MockPermissionServiceMockRecorder) DeleteResources(ctx, resourceType, ids any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteResources", reflect.TypeOf((*MockPermissionService)(nil).DeleteResources), ctx, resourceType, ids)
}

// FilterResources mocks base method.
func (m *MockPermissionService) FilterResources(ctx context.Context, resourceType string, ids, ops []string, allowOperation bool, fullOps []string) (map[string]interfaces.PermissionResourceOps, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "FilterResources", ctx, resourceType, ids, ops, allowOperation, fullOps)
	ret0, _ := ret[0].(map[string]interfaces.PermissionResourceOps)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// FilterResources indicates an expected call of FilterResources.
func (mr *MockPermissionServiceMockRecorder) FilterResources(ctx, resourceType, ids, ops, allowOperation, fullOps any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FilterResources", reflect.TypeOf((*MockPermissionService)(nil).FilterResources), ctx, resourceType, ids, ops, allowOperation, fullOps)
}

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

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