Add RIDP RBA external payloads to CV3 Family#576
Conversation
There was a problem hiding this comment.
Pull request overview
Adds support in the CV3 Family domain for carrying RIDP RBA “external payloads” (JSC/HDIM plus optional extra information), including entity structs, validation contracts, and specs validating the new attribute.
Changes:
- Added
external_payloadstoAcaEntities::Families::Familyand its validation contract. - Introduced new ExternalPayloads entities (
ExternalPayload,RidpRba,ExtraInformation) and their contracts. - Added/updated specs to cover happy paths and some invalid payload shapes.
Reviewed changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
lib/aca_entities/families/family.rb |
Adds external_payloads attribute to the Family entity. |
lib/aca_entities/contracts/families/family_contract.rb |
Allows external_payloads at the Family contract level. |
lib/aca_entities/contracts/families/external_payloads/external_payload_contract.rb |
New contract for validating external payload container. |
lib/aca_entities/contracts/families/external_payloads/ridp_rba_contract.rb |
New contract for validating RIDP RBA payload. |
lib/aca_entities/contracts/families/external_payloads/extra_information_contract.rb |
New contract for validating extra information payload. |
lib/aca_entities/families/external_payloads/external_payload.rb |
New entity struct for external payload container. |
lib/aca_entities/families/external_payloads/ridp_rba.rb |
New entity struct for RIDP RBA payload. |
lib/aca_entities/families/external_payloads/extra_information.rb |
New entity struct for RIDP RBA extra information. |
lib/aca_entities/libraries/core_library.rb |
Adds requires for the new contracts/entities so they’re loaded. |
spec/aca_entities/families/family_spec.rb |
Adds entity initialization/shape specs for external_payloads. |
spec/aca_entities/contracts/families/family_contract_spec.rb |
Adds FamilyContract coverage for external_payloads. |
spec/aca_entities/contracts/families/external_payloads/external_payload_contract_spec.rb |
New tests for ExternalPayloadContract. |
spec/aca_entities/contracts/families/external_payloads/ridp_rba_contract_spec.rb |
New tests for RidpRbaContract. |
spec/aca_entities/contracts/families/external_payloads/extra_information_contract_spec.rb |
New tests for ExtraInformationContract. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
lib/aca_entities/contracts/families/external_payloads/external_payload_contract.rb
Outdated
Show resolved
Hide resolved
lib/aca_entities/contracts/families/external_payloads/ridp_rba_contract.rb
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 14 out of 14 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 14 out of 14 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
600815d to
189299b
Compare
PR Checklist
Please check if your PR fulfills the following requirements
PR Type
What kind of change does this PR introduce?
What is the ticket # detailing the issue?
Ticket: https://app.clickup.com/t/868hq7vbz
A brief description of the changes
This pull request introduces support for storing and validating external payloads related to RIDP RBA (Remote Identity Proofing Risk-Based Authentication) within the
Familyentity. It adds new contracts and value objects for handling external payload data, updates theFamilyschema and struct to include this information, and provides comprehensive specs to ensure correctness and validation.Support for External Payloads in Family:
ExternalPayload,RidpRba, andExtraInformation, with appropriate schema and validation rules. [1] [2] [3] [4] [5] [6]FamilyContractandFamilystruct to include an optionalexternal_payloadsattribute, enabling families to store RIDP RBA payloads and associated extra information. [1] [2]Testing and Validation:
ExternalPayloadContract,RidpRbaContract,ExtraInformationContract) to ensure correct validation behavior, including edge cases and type checks. [1] [2] [3]FamilyContractandFamilyspecs to cover scenarios involving the newexternal_payloadsattribute, ensuring correct integration and initialization. [1] [2]Current behavior:
CV3 Family has no mechanism to carry encrypted RIDP RBA payloads (JSC, HDIM)
New behavior:
CV3 Family supports an external_payloads field to carry encrypted RIDP RBA
payloads (JSC, HDIM and extra_information) without modifying the core family data
Additional Context
Include any additional context that may be relevant to the peer review process.