diff --git a/src/main/java/eu/eudat/depositinterface/repository/RepositoryDeposit.java b/src/main/java/eu/eudat/depositinterface/repository/RepositoryDeposit.java
index 5a82931..5d22d73 100644
--- a/src/main/java/eu/eudat/depositinterface/repository/RepositoryDeposit.java
+++ b/src/main/java/eu/eudat/depositinterface/repository/RepositoryDeposit.java
@@ -2,6 +2,8 @@ package eu.eudat.depositinterface.repository;
import eu.eudat.depositinterface.models.DMPDepositModel;
+import java.util.List;
+
/**
* The RepositoryDeposit interface represents the mechanism of depositing a dmp to any
* repository which mints a persistent digital object identifier (DOI) for each submission,
@@ -13,6 +15,7 @@ public interface RepositoryDeposit {
* Returns a string representing the persistent digital object identifier (DOI) which
* was created.
*
+ * @param repositoryId the id of the repository
* @param dmpDepositModel dmp structure which is to be deposited
* @param repositoryAccessToken access token needed for the authentication to the repository
* if this is null, another authentication mechanism is used for
@@ -21,20 +24,21 @@ public interface RepositoryDeposit {
* @return a string representing the persistent digital object identifier (DOI)
* @throws Exception if an error occurs while trying to deposit the dmp
*/
- String deposit(DMPDepositModel dmpDepositModel, String repositoryAccessToken) throws Exception;
+ String deposit(String repositoryId, DMPDepositModel dmpDepositModel, String repositoryAccessToken) throws Exception;
/**
* Returns the access token from the oauth2 flow.
*
+ * @param repositoryId the id of the repository
* @param code oauth2 authorization code
* @return the access token or null if no oauth2 protocol is not supported for that repository
*/
- String authenticate(String code);
+ String authenticate(String repositoryId, String code);
/**
* Returns the repository's configuration.
*
- * @return structure representing the configuration of the repository
+ * @return List of structure representing the configuration of the repository
* which includes the following fields:
* depositType - an integer representing how the dmp user can deposit in the repository,
* 0 stands for system deposition meaning the dmp is deposited using argos credentials to the
@@ -51,13 +55,14 @@ public interface RepositoryDeposit {
* repositoryClientSecret - repository's client secret
* redirectUri - redirect uri to argos after the oauth2 flow from the repository
*/
- RepositoryDepositConfiguration getConfiguration();
+ List getConfiguration();
/**
* Returns the repository's logo if exists.
*
+ * @param repositoryId the id of the repository
* @return the repository's logo in base64 form
* */
- String getLogo();
+ String getLogo(String repositoryId);
}