package hamaster.gradesign.dao; import hamaster.gradesign.entity.IDRequest; import hamaster.gradesign.entity.User; import java.util.List; import java.util.Map; public interface IDRequestDAO extends DAO { @Deprecated List<IDRequest> list(User owner, int page, int amount); /** * 根据所有者和身份获取ID申请 * @param owner 所有者 * @param idString 身份字符串 * @return ID申请或者null */ IDRequest getByOwner(User owner, String idString); /** * 获取用户新发起的私钥申请 * @param amount 获取数量 * @return 私钥申请列表 */ List<IDRequest> listNewRequests(int amount); /** * 获取用户的身份请求 * @param owner 要获取的用户 * @param page 分页页码 从0开始 * @param amount 每一页数量 * @param status 当前状态 默认为全部状态 * @return 身份请求列表 */ List<IDRequest> list(User owner, int page, int amount, int status); /** * 获取未处理的请求列表 * @param amount 获取数量 * @return 请求列表 */ List<IDRequest> listUnhandledRequests(int amount); /** * 将处理后的请求写回数据库 * @param requests */ void requestHandled(Map<String, Integer> results); /** * 获取某一用户所有身份请求的数量 * @param onwer 要获取的用户 * @return 身份请求数量 */ int count(User onwer); /** * 判断ID是否是某个用户所拥有的 * @param id 要判断的ID * @param user 要判断的所有者 * @param idPassword 用户申请ID时所设置的密码 * @return * 当且仅当用户拥有该ID且密码正确时返回0 * 密码错误返回1 * ID不属于用户返回2 */ int doesIdBelongToUser(String id, User user, String idPassword); /** * 检查id是否被人申请过 * @param id 要检查的id * @return 当切仅当没有是返回0 */ int doesIdRequestExist(String id); }