dnet-applications/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceDao.java

56 lines
2.0 KiB
Java
Raw Normal View History

2022-02-04 10:12:15 +01:00
package eu.dnetlib.openaire.dsm.dao;
import java.util.List;
2022-03-24 12:26:14 +01:00
import org.springframework.data.domain.Page;
2022-02-04 10:12:15 +01:00
import eu.dnetlib.enabling.datasources.common.Api;
2023-04-03 12:22:22 +02:00
import eu.dnetlib.enabling.datasources.common.Datasource;
import eu.dnetlib.enabling.datasources.common.DatasourceManagerCommon;
import eu.dnetlib.enabling.datasources.common.DsmException;
2023-04-03 08:33:39 +02:00
import eu.dnetlib.openaire.exporter.model.dsm.RequestFilter;
2023-04-03 12:22:22 +02:00
import eu.dnetlib.openaire.exporter.model.dsm.RequestSort;
import eu.dnetlib.openaire.exporter.model.dsm.RequestSortOrder;
2022-02-04 10:12:15 +01:00
2022-04-07 08:05:39 +02:00
public interface DatasourceDao<DS extends Datasource<?, ?, ?>, API extends Api<?>> extends DatasourceManagerCommon<DS, API> {
2022-02-04 10:12:15 +01:00
// DATASOURCE
boolean existDs(final String dsId) throws DsmException;
Page<DS> search(RequestSort requestSortBy, RequestSortOrder order, RequestFilter requestFilter, int page, int size) throws DsmException;
Page<DS> searchRegistered(RequestSort requestSortBy, RequestSortOrder order, RequestFilter requestFilter, int page, int size) throws DsmException;
void updateName(String dsId, String officialname, String englishname) throws DsmException;
void updateLogoUrl(String dsId, String logourl) throws DsmException;
void updateCoordinates(String dsId, Double latitude, Double longitude) throws DsmException;
void updateTimezone(String dsId, String timezone) throws DsmException;
2022-03-24 12:26:14 +01:00
void updateEoscDatasourceType(String dsId, String timezone) throws DsmException;
2022-02-04 10:12:15 +01:00
void updateRegisteringUser(String dsId, String registeredBy) throws DsmException;
void updatePlatform(String dsId, String platform) throws DsmException;
// API
List<String> findApiBaseURLs(RequestFilter requestFilter, int page, int size) throws DsmException;
/**
* Insert the oai set in case it does not exists, updates it otherwise
*
* @param apiId
* @param oaiSet
* @return true in case of insert, false in case of update
* @throws DsmException
*/
boolean upsertApiOaiSet(String apiId, String oaiSet) throws DsmException;
void updateApiBaseUrl(String apiId, String baseUrl) throws DsmException;
}