package auth import "cardverse/internal/modules/user" type mockUserRepository struct { createFunc func(u *user.User) error findAllFunc func() ([]user.User, error) findAllPaginatedFunc func(page, limit int, query user.ListUserQuery) ([]user.User, int64, error) findByIDFunc func(id uint) (*user.User, error) findByEmailFunc func(email string) (*user.User, error) findByGoogleIDFunc func(googleID string) (*user.User, error) findByVerificationTokenFunc func(token string) (*user.User, error) findByResetTokenFunc func(token string) (*user.User, error) updateFunc func(u *user.User) error deleteFunc func(id uint) error } func (m *mockUserRepository) Create(u *user.User) error { if m.createFunc != nil { return m.createFunc(u) } return nil } func (m *mockUserRepository) FindAll() ([]user.User, error) { if m.findAllFunc != nil { return m.findAllFunc() } return nil, nil } func (m *mockUserRepository) FindAllPaginated(page, limit int, query user.ListUserQuery) ([]user.User, int64, error) { if m.findAllPaginatedFunc != nil { return m.findAllPaginatedFunc(page, limit, query) } return nil, 0, nil } func (m *mockUserRepository) FindByID(id uint) (*user.User, error) { if m.findByIDFunc != nil { return m.findByIDFunc(id) } return nil, nil } func (m *mockUserRepository) FindByEmail(email string) (*user.User, error) { if m.findByEmailFunc != nil { return m.findByEmailFunc(email) } return nil, nil } func (m *mockUserRepository) FindByGoogleID(googleID string) (*user.User, error) { if m.findByGoogleIDFunc != nil { return m.findByGoogleIDFunc(googleID) } return nil, nil } func (m *mockUserRepository) FindByVerificationToken(token string) (*user.User, error) { if m.findByVerificationTokenFunc != nil { return m.findByVerificationTokenFunc(token) } return nil, nil } func (m *mockUserRepository) FindByResetToken(token string) (*user.User, error) { if m.findByResetTokenFunc != nil { return m.findByResetTokenFunc(token) } return nil, nil } func (m *mockUserRepository) Update(u *user.User) error { if m.updateFunc != nil { return m.updateFunc(u) } return nil } func (m *mockUserRepository) Delete(id uint) error { if m.deleteFunc != nil { return m.deleteFunc(id) } return nil } type mockAuthRepository struct { createRefreshTokenFunc func(token *RefreshToken) error findByTokenFunc func(token string) (*RefreshToken, error) deleteByTokenFunc func(token string) error deleteByUserIDFunc func(userID uint) error replaceUserRefreshTokenFunc func(userID uint, newToken *RefreshToken) error rotateRefreshTokenFunc func(oldToken string, newToken *RefreshToken) error } func (m *mockAuthRepository) CreateRefreshToken(token *RefreshToken) error { if m.createRefreshTokenFunc != nil { return m.createRefreshTokenFunc(token) } return nil } func (m *mockAuthRepository) FindByToken(token string) (*RefreshToken, error) { if m.findByTokenFunc != nil { return m.findByTokenFunc(token) } return nil, nil } func (m *mockAuthRepository) DeleteByToken(token string) error { if m.deleteByTokenFunc != nil { return m.deleteByTokenFunc(token) } return nil } func (m *mockAuthRepository) DeleteByUserID(userID uint) error { if m.deleteByUserIDFunc != nil { return m.deleteByUserIDFunc(userID) } return nil } func (m *mockAuthRepository) ReplaceUserRefreshToken(userID uint, newToken *RefreshToken) error { if m.replaceUserRefreshTokenFunc != nil { return m.replaceUserRefreshTokenFunc(userID, newToken) } return nil } func (m *mockAuthRepository) RotateRefreshToken(oldToken string, newToken *RefreshToken) error { if m.rotateRefreshTokenFunc != nil { return m.rotateRefreshTokenFunc(oldToken, newToken) } return nil }