package info.ozkan.vipera.dao.device; import info.ozkan.vipera.business.device.DeviceManagerResult; import info.ozkan.vipera.business.device.DeviceManagerSearchFilter; import info.ozkan.vipera.entities.Device; /** * Cihazlar üzerinde veritabanında CRUD işlemler yapar * * @author Ömer Özkan * */ public interface DeviceDao { /** * Veritabanına yeni bir cihaz ekler * * @param device * cihaz * @return */ DeviceManagerResult add(Device device); /** * Veritabanında cihaz arar * * @param filter * @return */ DeviceManagerResult find(DeviceManagerSearchFilter filter); /** * Veritabanından cihaz siler * * @param deviceId * @return */ DeviceManagerResult delete(Long deviceId); /** * Veritabanında kayıtlı bir cihazı dönderir * * @param id * @return */ Device getById(Long id); /** * Veritabanında kayıtlı olan bir cihazı günceller * * @param device * @return */ DeviceManagerResult update(Device device); /** * Veritabanında kayıtlı olan bir cihazı api anahtarı ve parolası ile * sorgular * * @param apiKey * @param apiPassword * @return */ DeviceManagerResult findDevice(String apiKey, String apiPassword); }