package com.kritsit.casetracker.server.datalayer; import com.kritsit.casetracker.server.domain.model.AuthenticationException; import com.kritsit.casetracker.shared.domain.model.Staff; import java.util.List; public interface IUserRepository { long getPasswordSaltedHash(String username) throws RowToModelParseException, AuthenticationException; long getSalt(String username) throws RowToModelParseException, AuthenticationException; Staff getUserDetails(String username) throws RowToModelParseException, AuthenticationException; Staff getInvestigatingOfficer(String caseNumber) throws RowToModelParseException; List<Staff> getInspectors() throws RowToModelParseException; List<Staff> getStaff() throws RowToModelParseException; void insertUser(Staff user) throws RowToModelParseException; void updateUser(Staff user) throws RowToModelParseException; void deleteUser(String username) throws RowToModelParseException; void setPassword(String username, int hashPassword) throws RowToModelParseException; }