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;
|
|
|
|
import eu.dnetlib.openaire.dsm.domain.RequestFilter;
|
|
|
|
import eu.dnetlib.openaire.dsm.domain.RequestSort;
|
|
|
|
import eu.dnetlib.openaire.dsm.domain.RequestSortOrder;
|
2023-03-31 14:53:52 +02:00
|
|
|
import eu.dnetlib.openaire.exporter.exceptions.DsmException;
|
|
|
|
import eu.dnetlib.openaire.exporter.model.vocabularies.Country;
|
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
|
|
|
|
|
|
|
|
List<Country> listCountries() throws DsmException;
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
2022-03-24 12:26:14 +01:00
|
|
|
@Override
|
2022-02-04 10:12:15 +01:00
|
|
|
void addApi(final API api) throws DsmException;
|
|
|
|
}
|