-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #3 from PSNAppz/1.0.0
Disbursement & Disbursement Envelope Status API
- Loading branch information
Showing
26 changed files
with
858 additions
and
212 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 2 additions & 0 deletions
2
openg2p-g2p-bridge-api/src/openg2p_g2p_bridge_api/controllers/__init__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
from .account_statement import AccountStatementController | ||
from .disbursement import DisbursementController | ||
from .disbursement_envelope import DisbursementEnvelopeController | ||
from .disbursement_envelope_status import DisbursementEnvelopeStatusController | ||
from .disbursement_status import DisbursementStatusController |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
54 changes: 54 additions & 0 deletions
54
...g2p-g2p-bridge-api/src/openg2p_g2p_bridge_api/controllers/disbursement_envelope_status.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
import logging | ||
|
||
from openg2p_fastapi_common.controller import BaseController | ||
from openg2p_g2p_bridge_models.errors.exceptions import DisbursementStatusException | ||
from openg2p_g2p_bridge_models.schemas import ( | ||
DisbursementEnvelopeBatchStatusPayload, | ||
DisbursementEnvelopeStatusRequest, | ||
DisbursementEnvelopeStatusResponse, | ||
) | ||
|
||
from ..config import Settings | ||
from ..services import DisbursementEnvelopeStatusService | ||
|
||
_config = Settings.get_config() | ||
_logger = logging.getLogger(_config.logging_default_logger_name) | ||
|
||
|
||
class DisbursementEnvelopeStatusController(BaseController): | ||
def __init__(self, **kwargs): | ||
super().__init__(**kwargs) | ||
|
||
self.disbursement_envelope_status_service = ( | ||
DisbursementEnvelopeStatusService.get_component() | ||
) | ||
self.router.tags += ["G2P Bridge Disbursement Envelope Status"] | ||
|
||
self.router.add_api_route( | ||
"/get_disbursement_envelope_status", | ||
self.get_disbursement_envelope_status, | ||
responses={200: {"model": DisbursementEnvelopeStatusResponse}}, | ||
methods=["POST"], | ||
) | ||
|
||
async def get_disbursement_envelope_status( | ||
self, disbursement_envelope_status_request: DisbursementEnvelopeStatusRequest | ||
) -> DisbursementEnvelopeStatusResponse: | ||
_logger.info("Getting disbursement envelope batch status payload") | ||
try: | ||
disbursement_envelope_batch_status_payload: DisbursementEnvelopeBatchStatusPayload = await self.disbursement_envelope_status_service.get_disbursement_envelope_batch_status( | ||
disbursement_envelope_status_request | ||
) | ||
disbursement_status_response: DisbursementEnvelopeStatusResponse = await self.disbursement_envelope_status_service.construct_disbursement_envelope_success_response( | ||
disbursement_envelope_status_request, | ||
disbursement_envelope_batch_status_payload, | ||
) | ||
return disbursement_status_response | ||
|
||
except DisbursementStatusException as e: | ||
_logger.error(f"Error in getting disbursement envelope status: {e}") | ||
error_response: DisbursementEnvelopeStatusResponse = await self.disbursement_envelope_status_service.construct_disbursement_envelope_status_error_response( | ||
disbursement_envelope_status_request, | ||
e.code, | ||
) | ||
return error_response |
52 changes: 52 additions & 0 deletions
52
openg2p-g2p-bridge-api/src/openg2p_g2p_bridge_api/controllers/disbursement_status.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
import logging | ||
from typing import List | ||
|
||
from openg2p_fastapi_common.controller import BaseController | ||
from openg2p_g2p_bridge_models.errors.exceptions import DisbursementException | ||
from openg2p_g2p_bridge_models.schemas import ( | ||
DisbursementStatusPayload, | ||
DisbursementStatusRequest, | ||
DisbursementStatusResponse, | ||
) | ||
|
||
from ..config import Settings | ||
from ..services import DisbursementStatusService | ||
|
||
_config = Settings.get_config() | ||
_logger = logging.getLogger(_config.logging_default_logger_name) | ||
|
||
|
||
class DisbursementStatusController(BaseController): | ||
def __init__(self, **kwargs): | ||
super().__init__(**kwargs) | ||
|
||
self.disbursement_service = DisbursementStatusService.get_component() | ||
self.router.tags += ["G2P Bridge Disbursement Status"] | ||
|
||
self.router.add_api_route( | ||
"/get_disbursement_status", | ||
self.get_disbursement_status, | ||
responses={200: {"model": DisbursementStatusResponse}}, | ||
methods=["POST"], | ||
) | ||
|
||
async def get_disbursement_status( | ||
self, disbursement_status_request: DisbursementStatusRequest | ||
) -> DisbursementStatusResponse: | ||
_logger.info("Retrieving disbursement envelope status") | ||
try: | ||
disbursement_status_payloads: List[ | ||
DisbursementStatusPayload | ||
] = await self.disbursement_service.get_disbursement_status_payloads( | ||
disbursement_status_request | ||
) | ||
disbursement_status_response: DisbursementStatusResponse = await self.disbursement_service.construct_disbursement_status_success_response( | ||
disbursement_status_request, disbursement_status_payloads | ||
) | ||
_logger.info("Disbursements cancelled successfully") | ||
return disbursement_status_response | ||
except DisbursementException as e: | ||
error_response: DisbursementStatusResponse = await self.disbursement_service.construct_disbursement_status_error_response( | ||
disbursement_status_request, e.code | ||
) | ||
return error_response |
2 changes: 2 additions & 0 deletions
2
openg2p-g2p-bridge-api/src/openg2p_g2p_bridge_api/services/__init__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
from .account_statement import AccountStatementService | ||
from .disbursement import DisbursementService | ||
from .disbursement_envelope import DisbursementEnvelopeService | ||
from .disbursement_envelope_status import DisbursementEnvelopeStatusService | ||
from .disbursement_status import DisbursementStatusService |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.