package org.bitionaire.elbombillo.registry.jdbi;
import org.bitionaire.elbombillo.registry.api.model.Service;
import org.skife.jdbi.v2.sqlobject.Bind;
import org.skife.jdbi.v2.sqlobject.BindBean;
import org.skife.jdbi.v2.sqlobject.SqlQuery;
import org.skife.jdbi.v2.sqlobject.SqlUpdate;
import org.skife.jdbi.v2.sqlobject.customizers.RegisterMapper;
import java.util.List;
@RegisterMapper(ServiceMapper.class)
public interface ServiceDAO {
@SqlUpdate("insert into service (name, baseUrl, username, password) values (:name, :baseUrl, :username, :password)")
void insert(@BindBean Service service);
@SqlUpdate("update service set name=:name, username=:username, password=:password where baseUrl = :baseUrl")
void update(@BindBean Service service);
@SqlQuery("select name, baseUrl, username, password from service where baseUrl = :baseUrl")
Service findByBaseUrl(@Bind("baseUrl") String baseUrl);
@SqlQuery("select name, baseUrl, username, password from service where name = :name")
List<Service> findByName(@Bind("name") String name);
}