// Code generated by MockGen. DO NOT EDIT.
// Source: ./pkg/permission/domain/repository/token.go
//
// Generated by this command:
//
//	mockgen -source=./pkg/permission/domain/repository/token.go -destination=./pkg/permission/mock/repository/token.go -package=mock
//

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

import (
	entity "backend/pkg/permission/domain/entity"
	context "context"
	reflect "reflect"
	time "time"

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

// MockTokenRepository is a mock of TokenRepository interface.
type MockTokenRepository struct {
	ctrl     *gomock.Controller
	recorder *MockTokenRepositoryMockRecorder
	isgomock struct{}
}

// MockTokenRepositoryMockRecorder is the mock recorder for MockTokenRepository.
type MockTokenRepositoryMockRecorder struct {
	mock *MockTokenRepository
}

// NewMockTokenRepository creates a new mock instance.
func NewMockTokenRepository(ctrl *gomock.Controller) *MockTokenRepository {
	mock := &MockTokenRepository{ctrl: ctrl}
	mock.recorder = &MockTokenRepositoryMockRecorder{mock}
	return mock
}

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

// AddToBlacklist mocks base method.
func (m *MockTokenRepository) AddToBlacklist(ctx context.Context, entry *entity.BlacklistEntry, ttl time.Duration) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AddToBlacklist", ctx, entry, ttl)
	ret0, _ := ret[0].(error)
	return ret0
}

// AddToBlacklist indicates an expected call of AddToBlacklist.
func (mr *MockTokenRepositoryMockRecorder) AddToBlacklist(ctx, entry, ttl any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddToBlacklist", reflect.TypeOf((*MockTokenRepository)(nil).AddToBlacklist), ctx, entry, ttl)
}

// Create mocks base method.
func (m *MockTokenRepository) Create(ctx context.Context, token entity.Token) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Create", ctx, token)
	ret0, _ := ret[0].(error)
	return ret0
}

// Create indicates an expected call of Create.
func (mr *MockTokenRepositoryMockRecorder) Create(ctx, token any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockTokenRepository)(nil).Create), ctx, token)
}

// CreateOneTimeToken mocks base method.
func (m *MockTokenRepository) CreateOneTimeToken(ctx context.Context, key string, ticket entity.Ticket, dt time.Duration) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateOneTimeToken", ctx, key, ticket, dt)
	ret0, _ := ret[0].(error)
	return ret0
}

// CreateOneTimeToken indicates an expected call of CreateOneTimeToken.
func (mr *MockTokenRepositoryMockRecorder) CreateOneTimeToken(ctx, key, ticket, dt any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateOneTimeToken", reflect.TypeOf((*MockTokenRepository)(nil).CreateOneTimeToken), ctx, key, ticket, dt)
}

// Delete mocks base method.
func (m *MockTokenRepository) Delete(ctx context.Context, token entity.Token) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Delete", ctx, token)
	ret0, _ := ret[0].(error)
	return ret0
}

// Delete indicates an expected call of Delete.
func (mr *MockTokenRepositoryMockRecorder) Delete(ctx, token any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockTokenRepository)(nil).Delete), ctx, token)
}

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

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

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

// DeleteAccessTokensByDeviceID indicates an expected call of DeleteAccessTokensByDeviceID.
func (mr *MockTokenRepositoryMockRecorder) DeleteAccessTokensByDeviceID(ctx, deviceID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAccessTokensByDeviceID", reflect.TypeOf((*MockTokenRepository)(nil).DeleteAccessTokensByDeviceID), ctx, deviceID)
}

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

// DeleteAccessTokensByUID indicates an expected call of DeleteAccessTokensByUID.
func (mr *MockTokenRepositoryMockRecorder) DeleteAccessTokensByUID(ctx, uid any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAccessTokensByUID", reflect.TypeOf((*MockTokenRepository)(nil).DeleteAccessTokensByUID), ctx, uid)
}

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

// DeleteOneTimeToken indicates an expected call of DeleteOneTimeToken.
func (mr *MockTokenRepositoryMockRecorder) DeleteOneTimeToken(ctx, ids, tokens any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteOneTimeToken", reflect.TypeOf((*MockTokenRepository)(nil).DeleteOneTimeToken), ctx, ids, tokens)
}

// GetAccessTokenByID mocks base method.
func (m *MockTokenRepository) GetAccessTokenByID(ctx context.Context, id string) (entity.Token, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetAccessTokenByID", ctx, id)
	ret0, _ := ret[0].(entity.Token)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetAccessTokenByID indicates an expected call of GetAccessTokenByID.
func (mr *MockTokenRepositoryMockRecorder) GetAccessTokenByID(ctx, id any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAccessTokenByID", reflect.TypeOf((*MockTokenRepository)(nil).GetAccessTokenByID), ctx, id)
}

// GetAccessTokenByOneTimeToken mocks base method.
func (m *MockTokenRepository) GetAccessTokenByOneTimeToken(ctx context.Context, oneTimeToken string) (entity.Token, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetAccessTokenByOneTimeToken", ctx, oneTimeToken)
	ret0, _ := ret[0].(entity.Token)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetAccessTokenByOneTimeToken indicates an expected call of GetAccessTokenByOneTimeToken.
func (mr *MockTokenRepositoryMockRecorder) GetAccessTokenByOneTimeToken(ctx, oneTimeToken any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAccessTokenByOneTimeToken", reflect.TypeOf((*MockTokenRepository)(nil).GetAccessTokenByOneTimeToken), ctx, oneTimeToken)
}

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

// GetAccessTokenCountByDeviceID indicates an expected call of GetAccessTokenCountByDeviceID.
func (mr *MockTokenRepositoryMockRecorder) GetAccessTokenCountByDeviceID(ctx, deviceID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAccessTokenCountByDeviceID", reflect.TypeOf((*MockTokenRepository)(nil).GetAccessTokenCountByDeviceID), ctx, deviceID)
}

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

// GetAccessTokenCountByUID indicates an expected call of GetAccessTokenCountByUID.
func (mr *MockTokenRepositoryMockRecorder) GetAccessTokenCountByUID(ctx, uid any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAccessTokenCountByUID", reflect.TypeOf((*MockTokenRepository)(nil).GetAccessTokenCountByUID), ctx, uid)
}

// GetAccessTokensByDeviceID mocks base method.
func (m *MockTokenRepository) GetAccessTokensByDeviceID(ctx context.Context, deviceID string) ([]entity.Token, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetAccessTokensByDeviceID", ctx, deviceID)
	ret0, _ := ret[0].([]entity.Token)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetAccessTokensByDeviceID indicates an expected call of GetAccessTokensByDeviceID.
func (mr *MockTokenRepositoryMockRecorder) GetAccessTokensByDeviceID(ctx, deviceID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAccessTokensByDeviceID", reflect.TypeOf((*MockTokenRepository)(nil).GetAccessTokensByDeviceID), ctx, deviceID)
}

// GetAccessTokensByUID mocks base method.
func (m *MockTokenRepository) GetAccessTokensByUID(ctx context.Context, uid string) ([]entity.Token, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetAccessTokensByUID", ctx, uid)
	ret0, _ := ret[0].([]entity.Token)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetAccessTokensByUID indicates an expected call of GetAccessTokensByUID.
func (mr *MockTokenRepositoryMockRecorder) GetAccessTokensByUID(ctx, uid any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAccessTokensByUID", reflect.TypeOf((*MockTokenRepository)(nil).GetAccessTokensByUID), ctx, uid)
}

// GetBlacklistedTokensByUID mocks base method.
func (m *MockTokenRepository) GetBlacklistedTokensByUID(ctx context.Context, uid string) ([]*entity.BlacklistEntry, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetBlacklistedTokensByUID", ctx, uid)
	ret0, _ := ret[0].([]*entity.BlacklistEntry)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetBlacklistedTokensByUID indicates an expected call of GetBlacklistedTokensByUID.
func (mr *MockTokenRepositoryMockRecorder) GetBlacklistedTokensByUID(ctx, uid any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetBlacklistedTokensByUID", reflect.TypeOf((*MockTokenRepository)(nil).GetBlacklistedTokensByUID), ctx, uid)
}

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

// IsBlacklisted indicates an expected call of IsBlacklisted.
func (mr *MockTokenRepositoryMockRecorder) IsBlacklisted(ctx, jti any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsBlacklisted", reflect.TypeOf((*MockTokenRepository)(nil).IsBlacklisted), ctx, jti)
}

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

// RemoveFromBlacklist indicates an expected call of RemoveFromBlacklist.
func (mr *MockTokenRepositoryMockRecorder) RemoveFromBlacklist(ctx, jti any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveFromBlacklist", reflect.TypeOf((*MockTokenRepository)(nil).RemoveFromBlacklist), ctx, jti)
}
