Skip to content

Commit

Permalink
Merge pull request #41 from ADORSYS-GIS/28-create-bank-account-access…
Browse files Browse the repository at this point in the history
…-service-api-ledgers-bank-account-access-service-api

28 create bank account access service api ledgers bank account access service api
  • Loading branch information
nancymuyeh authored Oct 14, 2024
2 parents 76b747a + 0c5c148 commit c9f92e0
Show file tree
Hide file tree
Showing 12 changed files with 178 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,13 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<ruleset.basedir>../..</ruleset.basedir>
</properties>
<dependencies>
<dependency>
<groupId>de.adorsys.ledgers</groupId>
<artifactId>ledgers-bank-account-access-repository</artifactId>
<version>6.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>

</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/*
* Copyright (c) 2018-2023 adorsys GmbH and Co. KG
* All rights are reserved.
*/

package de.adorsys.ledgers.baam.api.service;
import de.adorsys.ledgers.baam.db.domain.AgentAccess;
import de.adorsys.ledgers.baam.db.domain.BankAccountAccess;

public interface AgentAccessService extends BankAccountAccessService<AgentAccess> {
void createAgentAccess(BankAccountAccess bankAccountAccess);
AgentAccess impersonateHolder(String accessId);
AgentAccess endImpersonation(String accessId);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/*
* Copyright (c) 2018-2023 adorsys GmbH and Co. KG
* All rights are reserved.
*/

package de.adorsys.ledgers.baam.api.service;
import de.adorsys.ledgers.baam.db.domain.AuditorAccess;
import de.adorsys.ledgers.baam.db.domain.BankAccountAccess;


public interface AuditorAccessService extends BankAccountAccessService<AuditorAccess>{
void createAuditorAccess(BankAccountAccess bankAccountAccess);


}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/*
* Copyright (c) 2018-2023 adorsys GmbH and Co. KG
* All rights are reserved.
*/

package de.adorsys.ledgers.baam.api.service;

import de.adorsys.ledgers.baam.db.domain.*;

import java.util.List;
import java.util.Optional;

public interface BankAccountAccessService<T extends BankAccountAccess> {

T createBankAccountAccess(String accountId, String entityId, T accessDetails);

void modifyBankAccountAccess(T bankAccountAccess);
void suspendBankAccountAccess(String id);
void reactivateBankAccountAccess(String id);
Optional<Boolean> revokeBankAccountAccess(String accessId);
List<T> getAllBankAccountAccess();
T getBankAccountAccessById(String id);
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/*
* Copyright (c) 2018-2023 adorsys GmbH and Co. KG
* All rights are reserved.
*/

package de.adorsys.ledgers.baam.api.service;
import de.adorsys.ledgers.baam.db.domain.BankAccountAccess;
import de.adorsys.ledgers.baam.db.domain.DelegatedAccess;

import java.util.List;

public interface DelegatedAccessService extends BankAccountAccessService<DelegatedAccess> {
DelegatedAccess createDelegatedAccess(BankAccountAccess bankAccountAccess);
void manageDelegatedAccess(String delegateId, String action, DelegatedAccess delegatedAccess);
void revokeDelegatedAccess(String accessId);
List<DelegatedAccess> listDelegatedAccessByAccountId(String accountId);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/*
* Copyright (c) 2018-2023 adorsys GmbH and Co. KG
* All rights are reserved.
*/

package de.adorsys.ledgers.baam.api.service;
import de.adorsys.ledgers.baam.db.domain.AccessScope;
import de.adorsys.ledgers.baam.db.domain.BankAccountAccess;
import de.adorsys.ledgers.baam.db.domain.HolderAccess;


public interface HolderAccessService extends BankAccountAccessService<HolderAccess>{
void createHolderAccess(BankAccountAccess bankAccountAccess);
void transferOwnership(String holderId, String newHolderId);
void suspendAccess(String accessId);
void grantAccessToRole(String accountId, String roleName, AccessScope accessScope);
void revokeAccessToRole(String accountId, String roleName);

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/*
* Copyright (c) 2018-2023 adorsys GmbH and Co. KG
* All rights are reserved.
*/

package de.adorsys.ledgers.baam.api.service;
import de.adorsys.ledgers.baam.db.domain.BankAccountAccess;
import de.adorsys.ledgers.baam.db.domain.ManagerAccess;

public interface ManagerAccessService extends BankAccountAccessService<ManagerAccess>{
void createManagerAccess(BankAccountAccess bankAccountAccess);
void impersonateHolder(Long holderId);
ManagerAccess grantManagerAccess(String accountId, ManagerAccess managerAccess);
ManagerAccess revokeManagerAccess(String accessId);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
/*
* Copyright (c) 2018-2023 adorsys GmbH and Co. KG
* All rights are reserved.
*/

package de.adorsys.ledgers.baam.api.service;
import de.adorsys.ledgers.baam.db.domain.BankAccountAccess;
import de.adorsys.ledgers.baam.db.domain.ManagerAccess;
import de.adorsys.ledgers.baam.db.domain.SeniorManagerAccess;
import de.adorsys.ledgers.baam.db.domain.TypeOfManagedAccess;

import java.util.List;

public interface SeniorManagerAccessService extends BankAccountAccessService<SeniorManagerAccess>{
void createSeniorManagerAccess(BankAccountAccess bankAccountAccess);
void manageManagerAccess(String managerId, String action, TypeOfManagedAccess typeOfManagedAccess);
void modifyManagerAccess(String accountId, String managerId);
void suspendManagerAccess(String accountId, String managerId);
void reactivateManagerAccess(String accountId, String managerId);
List<ManagerAccess> getManagerAccessesByAccountId(String accountId);
ManagerAccess getManagerAccessById(String accountId, String managerId);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*
* Copyright (c) 2018-2023 adorsys GmbH and Co. KG
* All rights are reserved.
*/

package de.adorsys.ledgers.baam.api.service;
import de.adorsys.ledgers.baam.db.domain.BankAccountAccess;
import de.adorsys.ledgers.baam.db.domain.TellerAccess;

public interface TellerAccessService extends BankAccountAccessService<TellerAccess>{
void createTellerAccess(BankAccountAccess bankAccountAccess);

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/*
* Copyright (c) 2018-2023 adorsys GmbH and Co. KG
* All rights are reserved.
*/

package de.adorsys.ledgers.baam.api.service;
import de.adorsys.ledgers.baam.db.domain.*;

import java.util.List;

public interface ThirdPartyAccessService extends BankAccountAccessService<ThirdPartyAccess>{
void createThirdPartyAccess(BankAccountAccess bankAccountAccess);
void grantThirdPartyAccess(String accountId, ConsentType consentType, AccessScope accessLevel);
void revokeThirdPartyAccess(String accountId, String providerId);
void modifyThirdPartyAccess(String accountId, String providerId, ConsentType consentType, AccessScope accessLevel);
List<ThirdPartyAccess> getThirdPartyAccessesByAccountId(String accountId);
ThirdPartyAccess getThirdPartyAccessByProviderId(String accountId, String providerId);
}

Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import static de.adorsys.ledgers.deposit.api.utils.Constants.*;
import static de.adorsys.ledgers.deposit.api.utils.Constants.ACCOUNT_ID;
import static de.adorsys.ledgers.deposit.api.utils.Constants.USER_ID;


@Tag(name = "LDG022 - Accounts (Deposit Account)", description = "Provides access to the deposit account resource for members.")
public interface AccountMgmResourceAPI {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,15 @@

import java.time.LocalDate;
import java.util.List;
import static de.adorsys.ledgers.deposit.api.utils.Constants.*;

import static de.adorsys.ledgers.deposit.api.utils.Constants.ACCOUNT_ID;
import static de.adorsys.ledgers.deposit.api.utils.Constants.DATE_FROM_QUERY_PARAM;
import static de.adorsys.ledgers.deposit.api.utils.Constants.DATE_TO_QUERY_PARAM;
import static de.adorsys.ledgers.deposit.api.utils.Constants.LOCAL_DATE_YYYY_MM_DD_FORMAT;
import static de.adorsys.ledgers.deposit.api.utils.Constants.PAGE;
import static de.adorsys.ledgers.deposit.api.utils.Constants.SIZE;
import static de.adorsys.ledgers.deposit.api.utils.Constants.TRANSACTION_ID;


@Tag(name = "LDG003 - Accounts", description = "Provides access to a deposit account. This interface does not provide any endpoint to list all accounts.")
public interface AccountRestAPI {
Expand Down

0 comments on commit c9f92e0

Please sign in to comment.