chore: Update external account schemas from webdev#148
chore: Update external account schemas from webdev#148lightspark-copybara[bot] wants to merge 1 commit intomainfrom
Conversation
Greptile OverviewGreptile SummaryAuto-synced two new external account schemas ( Critical Issues:
Recommended Actions:
Confidence Score: 2/5
|
| Filename | Overview |
|---|---|
| openapi/components/schemas/external_accounts/MxnSpeiAccountInfo.yaml | New MXN SPEI account schema with inconsistent field naming (clabe vs clabeNumber), inline beneficiary definition instead of using BeneficiaryOneOf, and missing allOf pattern |
| openapi/components/schemas/external_accounts/InrUpiAccountInfo.yaml | New INR UPI account schema with inconsistent field naming (fullName vs per-field), inline beneficiary definition instead of using BeneficiaryOneOf, and missing allOf pattern |
| openapi/components/schemas/external_accounts/ExternalAccountInfoOneOf.yaml | Added two new account types with discriminator mappings; formatting changed from 2-space to no-space indent for list items |
Sequence Diagram
sequenceDiagram
participant Webdev as Webdev/Sparkcore
participant PR as PR #148
participant GridAPI as Grid API OpenAPI
participant Client as API Clients
Webdev->>PR: Auto-sync external account schemas
Note over PR: Add MxnSpeiAccountInfo.yaml<br/>Add InrUpiAccountInfo.yaml<br/>Update ExternalAccountInfoOneOf.yaml
PR->>GridAPI: ExternalAccountInfoOneOf references new schemas
Note over GridAPI: ⚠️ Missing BaseExternalAccountInfo update<br/>⚠️ Missing ExternalAccountType enum update
alt If merged without fixes
Client->>GridAPI: Request with MXN_SPEI_ACCOUNT type
GridAPI-->>Client: ❌ Validation error (unknown type)
else If properly updated
Client->>GridAPI: Request with MXN_SPEI_ACCOUNT type
GridAPI->>GridAPI: Validate against schema
GridAPI-->>Client: ✅ Success
end
| type: object | ||
| title: MxnSpeiAccountInfo | ||
| description: Required fields for USD -> MXN corridor via Spei | ||
| required: | ||
| - accountType | ||
| - beneficiary | ||
| - clabe | ||
| - name | ||
| properties: | ||
| accountType: | ||
| type: string | ||
| enum: | ||
| - MXN_SPEI_ACCOUNT | ||
| example: MXN_SPEI_ACCOUNT | ||
| clabe: | ||
| type: string | ||
| description: Mexican CLABE interbank account number (18 digits) | ||
| example: 012180001234567890 | ||
| name: | ||
| type: string | ||
| description: Full name of the payee | ||
| example: Jane Smith | ||
| beneficiary: | ||
| oneOf: | ||
| - $ref: ./IndividualBeneficiary.yaml | ||
| - $ref: ./BusinessBeneficiary.yaml | ||
| discriminator: | ||
| propertyName: beneficiaryType | ||
| mapping: | ||
| INDIVIDUAL: ./IndividualBeneficiary.yaml | ||
| BUSINESS: ./BusinessBeneficiary.yaml |
There was a problem hiding this comment.
Schema structure doesn't follow existing patterns. All other external account schemas use allOf with BaseExternalAccountInfo and a common schema ref (see ClabeAccountExternalAccountInfo.yaml, UpiAccountExternalAccountInfo.yaml). This schema should:
- Use
allOfpattern withBaseExternalAccountInfo.yaml - Reference a common
MxnSpeiAccountInfo.yamlschema - Use
$ref: ./BeneficiaryOneOf.yamlfor beneficiary instead of inline definition - Field
clabeshould beclabeNumber(matches existingClabeAccountInfo.yaml)
Expected structure:
allOf:
- $ref: ./BaseExternalAccountInfo.yaml
- $ref: ../common/MxnSpeiAccountInfo.yaml
- type: object
required:
- beneficiary
properties:
beneficiary:
$ref: ./BeneficiaryOneOf.yamlNote: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/external_accounts/MxnSpeiAccountInfo.yaml
Line: 1:31
Comment:
Schema structure doesn't follow existing patterns. All other external account schemas use `allOf` with `BaseExternalAccountInfo` and a common schema ref (see `ClabeAccountExternalAccountInfo.yaml`, `UpiAccountExternalAccountInfo.yaml`). This schema should:
1. Use `allOf` pattern with `BaseExternalAccountInfo.yaml`
2. Reference a common `MxnSpeiAccountInfo.yaml` schema
3. Use `$ref: ./BeneficiaryOneOf.yaml` for beneficiary instead of inline definition
4. Field `clabe` should be `clabeNumber` (matches existing `ClabeAccountInfo.yaml`)
Expected structure:
```yaml
allOf:
- $ref: ./BaseExternalAccountInfo.yaml
- $ref: ../common/MxnSpeiAccountInfo.yaml
- type: object
required:
- beneficiary
properties:
beneficiary:
$ref: ./BeneficiaryOneOf.yaml
```
<sub>Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!</sub>
How can I resolve this? If you propose a fix, please make it concise.| type: object | ||
| title: InrUpiAccountInfo | ||
| description: Required fields for USD -> INR corridor via Upi | ||
| required: | ||
| - accountType | ||
| - beneficiary | ||
| - fullName | ||
| - vpa | ||
| properties: | ||
| accountType: | ||
| type: string | ||
| enum: | ||
| - INR_UPI_ACCOUNT | ||
| example: INR_UPI_ACCOUNT | ||
| fullName: | ||
| type: string | ||
| description: Full name of the beneficiary | ||
| example: John Michael Doe | ||
| vpa: | ||
| type: string | ||
| description: Virtual Payment Address (UPI) | ||
| example: john@upi | ||
| beneficiary: | ||
| oneOf: | ||
| - $ref: ./IndividualBeneficiary.yaml | ||
| - $ref: ./BusinessBeneficiary.yaml | ||
| discriminator: | ||
| propertyName: beneficiaryType | ||
| mapping: | ||
| INDIVIDUAL: ./IndividualBeneficiary.yaml | ||
| BUSINESS: ./BusinessBeneficiary.yaml |
There was a problem hiding this comment.
Schema structure doesn't follow existing patterns. All other external account schemas use allOf with BaseExternalAccountInfo and a common schema ref (see UpiAccountExternalAccountInfo.yaml). This schema should:
- Use
allOfpattern withBaseExternalAccountInfo.yaml - Reference a common
InrUpiAccountInfo.yamlschema in../common/ - Use
$ref: ./BeneficiaryOneOf.yamlfor beneficiary instead of inline definition fullNameshould not be duplicated in both top-level and beneficiary (beneficiary already has this field)
Expected structure:
allOf:
- $ref: ./BaseExternalAccountInfo.yaml
- $ref: ../common/InrUpiAccountInfo.yaml
- type: object
required:
- beneficiary
properties:
beneficiary:
$ref: ./BeneficiaryOneOf.yamlNote: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/external_accounts/InrUpiAccountInfo.yaml
Line: 1:31
Comment:
Schema structure doesn't follow existing patterns. All other external account schemas use `allOf` with `BaseExternalAccountInfo` and a common schema ref (see `UpiAccountExternalAccountInfo.yaml`). This schema should:
1. Use `allOf` pattern with `BaseExternalAccountInfo.yaml`
2. Reference a common `InrUpiAccountInfo.yaml` schema in `../common/`
3. Use `$ref: ./BeneficiaryOneOf.yaml` for beneficiary instead of inline definition
4. `fullName` should not be duplicated in both top-level and beneficiary (beneficiary already has this field)
Expected structure:
```yaml
allOf:
- $ref: ./BaseExternalAccountInfo.yaml
- $ref: ../common/InrUpiAccountInfo.yaml
- type: object
required:
- beneficiary
properties:
beneficiary:
$ref: ./BeneficiaryOneOf.yaml
```
<sub>Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!</sub>
How can I resolve this? If you propose a fix, please make it concise.| - title: MxnSpeiAccountInfo | ||
| $ref: ./MxnSpeiAccountInfo.yaml | ||
| - title: InrUpiAccountInfo | ||
| $ref: ./InrUpiAccountInfo.yaml |
There was a problem hiding this comment.
Missing updates to related schemas. Adding MXN_SPEI_ACCOUNT and INR_UPI_ACCOUNT types requires updates to:
ExternalAccountType.yaml- add enum valuesBaseExternalAccountInfo.yaml- add discriminator mappings
Without these updates, the new account types won't be recognized as valid values.
Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/external_accounts/ExternalAccountInfoOneOf.yaml
Line: 34:37
Comment:
Missing updates to related schemas. Adding `MXN_SPEI_ACCOUNT` and `INR_UPI_ACCOUNT` types requires updates to:
1. `ExternalAccountType.yaml` - add enum values
2. `BaseExternalAccountInfo.yaml` - add discriminator mappings
Without these updates, the new account types won't be recognized as valid values.
How can I resolve this? If you propose a fix, please make it concise.
Auto-synced external account schemas from webdev.
These schemas are generated from VASP adapter field definitions in sparkcore.
Please review the changes before merging.