// Copyright © 2015 HSL <https://www.hsl.fi> // This program is dual-licensed under the EUPL v1.2 and AGPLv3 licenses. package fi.hsl.parkandride.core.back; import org.joda.time.DateTime; import fi.hsl.parkandride.core.domain.SearchResults; import fi.hsl.parkandride.core.domain.User; import fi.hsl.parkandride.core.domain.UserSearch; import fi.hsl.parkandride.core.domain.UserSecret; public interface UserRepository { long insertUser(UserSecret userSecret); DateTime getCurrentTime(); void revokeTokens(long userId, DateTime asOf); void updatePassword(long userId, String password); void updateUser(long userId, User user); UserSecret getUser(String username); UserSecret getUser(long userId); SearchResults<User> findUsers(UserSearch search); void deleteUser(long userId); }