Skip to content
This repository was archived by the owner on Jun 10, 2026. It is now read-only.

Commit 283581d

Browse files
Merge pull request #88 from tahzeer/1.0
Enhance request handling with new fields and unify record ID logic
2 parents f948ec7 + 6a2d924 commit 283581d

5 files changed

Lines changed: 107 additions & 36 deletions

File tree

openg2p-registry-core/src/openg2p_registry_core/controller_services/g2p_intake_form_controller_service.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
class G2PIntakeFormControllerService(BaseService):
2525
async def save_submission_draft(self, save_submission_draft_request: SaveSubmissionDraftRequest) -> SubmissionResponsePayload:
2626
payload: SaveSubmissionDraftRequestPayload = save_submission_draft_request.request_body.request_payload
27-
created_by = save_submission_draft_request.request_header.sender_app_mnemonic
27+
created_by = payload.created_by or save_submission_draft_request.request_header.sender_app_mnemonic
2828
_logger.info(f"Saving intake form for register_id: {payload.register_id} through controller service")
2929
g2p_intake_form_service = G2PIntakeFormService.get_component()
3030
g2p_intake_form: G2PIntakeForm = await g2p_intake_form_service.save_submission_draft(
@@ -48,7 +48,7 @@ async def finalize_submission(self, finalize_submission_request: FinalizeSubmiss
4848
async def approve_submission(self, approve_submission_request: ApproveRejectSubmissionRequest) -> SubmissionResponsePayload:
4949
payload: ApproveRejectSubmissionRequestPayload = approve_submission_request.request_body.request_payload
5050
submission_id = payload.submission_id
51-
approved_by = approve_submission_request.request_header.sender_app_mnemonic
51+
approved_by = payload.approved_by or approve_submission_request.request_header.sender_app_mnemonic
5252
_logger.info(f"Approving intake form with submission_id: {submission_id} through controller service")
5353
g2p_intake_form_service = G2PIntakeFormService.get_component()
5454
g2p_intake_form: G2PIntakeForm = await g2p_intake_form_service.approve_submission(
@@ -60,7 +60,7 @@ async def approve_submission(self, approve_submission_request: ApproveRejectSubm
6060
async def reject_submission(self, reject_submission_request: ApproveRejectSubmissionRequest) -> SubmissionResponsePayload:
6161
payload: ApproveRejectSubmissionRequestPayload = reject_submission_request.request_body.request_payload
6262
submission_id = payload.submission_id
63-
rejected_by = reject_submission_request.request_header.sender_app_mnemonic
63+
rejected_by = payload.approved_by or reject_submission_request.request_header.sender_app_mnemonic
6464
_logger.info(f"Rejecting intake form with submission_id: {submission_id} through controller service")
6565
g2p_intake_form_service = G2PIntakeFormService.get_component()
6666
g2p_intake_form: G2PIntakeForm = await g2p_intake_form_service.reject_submission(

openg2p-registry-core/src/openg2p_registry_core/controller_services/g2p_register_change_request_controller_service.py

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ async def create_change_request(self, change_request_request: ChangeRequestReque
2727
_logger.info("Creating change request through controller service")
2828
g2p_register_service = G2PRegisterService.get_component()
2929
change_request_request_payload: ChangeRequestRequestPayload = change_request_request.request_body.request_payload
30+
created_by = change_request_request_payload.created_by or change_request_request.request_header.sender_app_mnemonic
3031

3132
module = importlib.import_module("openg2p_registry_extensions.register_domain.factory")
3233
domain_factory_class_name = "G2PRegisterDomainFactory"
@@ -36,7 +37,8 @@ async def create_change_request(self, change_request_request: ChangeRequestReque
3637

3738
g2p_register_change_request: G2PRegisterChangeRequest = await g2p_register_service.create_change_request(
3839
change_request_request_payload=change_request_request_payload,
39-
source_partner_id=change_request_request.request_header.sender_app_mnemonic
40+
source_partner_id=change_request_request.request_header.sender_app_mnemonic,
41+
created_by=created_by,
4042
)
4143

4244
change_request_response_payload: ChangeRequestResponsePayload = self._build_change_request_response_payload(change_request_request_payload, g2p_register_change_request)
@@ -45,18 +47,33 @@ async def create_change_request(self, change_request_request: ChangeRequestReque
4547

4648
async def approve_change_request(self, change_request_request: ChangeRequestRequest) -> ChangeRequestResponsePayload:
4749
change_request_id = change_request_request.request_body.request_payload.change_request_id
50+
approved_by = (
51+
change_request_request.request_body.request_payload.approved_by
52+
or change_request_request.request_header.sender_app_mnemonic
53+
)
4854
_logger.info(f"Approving change request with change_request_id: {change_request_id} through controller service")
4955
g2p_register_service = G2PRegisterService.get_component()
50-
g2p_register_change_request: G2PRegisterChangeRequest = await g2p_register_service.approve_change_request(change_request_id)
56+
g2p_register_change_request: G2PRegisterChangeRequest = await g2p_register_service.approve_change_request(
57+
change_request_id,
58+
approved_by=approved_by,
59+
)
5160
change_request_response_payload: ChangeRequestResponsePayload = self._build_change_request_response_payload(None, g2p_register_change_request)
5261
return change_request_response_payload
5362

5463
async def reject_change_request(self, change_request_request: ChangeRequestRequest) -> ChangeRequestResponsePayload:
5564
change_request_id = change_request_request.request_body.request_payload.change_request_id
5665
rejection_reason: str = getattr(change_request_request.request_body.request_payload, 'rejection_reason', None)
66+
rejected_by = (
67+
change_request_request.request_body.request_payload.approved_by
68+
or change_request_request.request_header.sender_app_mnemonic
69+
)
5770
_logger.info(f"Rejecting change request with change_request_id: {change_request_id} through controller service")
5871
g2p_register_service = G2PRegisterService.get_component()
59-
g2p_register_change_request: G2PRegisterChangeRequest = await g2p_register_service.reject_change_request(change_request_id, rejection_reason)
72+
g2p_register_change_request: G2PRegisterChangeRequest = await g2p_register_service.reject_change_request(
73+
change_request_id,
74+
rejection_reason,
75+
rejected_by=rejected_by,
76+
)
6077
change_request_response_payload: ChangeRequestResponsePayload = self._build_change_request_response_payload(None, g2p_register_change_request)
6178
return change_request_response_payload
6279

openg2p-registry-core/src/openg2p_registry_core/schemas/register_payload.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -333,6 +333,8 @@ class ChangeRequestRequestPayload(RegisterPayload):
333333
# For approve/reject operations
334334
change_request_id: Optional[str] = None
335335
rejection_reason: Optional[str] = None
336+
created_by: Optional[str] = None
337+
approved_by: Optional[str] = None
336338

337339

338340
class ChangeRequestResponsePayload(RegisterPayload):
@@ -426,6 +428,7 @@ class SaveSubmissionDraftRequestPayload(BaseModel):
426428
internal_record_id: Optional[str] = None
427429
no_of_verifications_required: Optional[int] = 0
428430
section_payloads: Optional[List[SectionPayloadInput]] = None
431+
created_by: Optional[str] = None
429432

430433

431434
class FinalizeSubmissionRequestPayload(BaseModel):
@@ -436,6 +439,7 @@ class FinalizeSubmissionRequestPayload(BaseModel):
436439
class ApproveRejectSubmissionRequestPayload(BaseModel):
437440
"""Request payload for approve_submission / reject_submission."""
438441
submission_id: str
442+
approved_by: Optional[str] = None
439443

440444

441445
class GetSubmissionRequestPayload(BaseModel):
@@ -686,6 +690,7 @@ class AddVerificationPayload(BaseModel):
686690
submission_id: Optional[str] = None
687691
change_request_id: Optional[str] = None
688692
verification_observations: Optional[str] = None
693+
verified_by: Optional[str] = None
689694
is_approved: bool
690695

691696

0 commit comments

Comments
 (0)