Skip to content

FINERACT-2776: Add entitySubType to GetDataTablesResponse schema - #6307

Open
oluexpert99 wants to merge 1 commit into
apache:developfrom
TECHSERVICES-LIMITED:bugfix/FINERACT-2776
Open

FINERACT-2776: Add entitySubType to GetDataTablesResponse schema#6307
oluexpert99 wants to merge 1 commit into
apache:developfrom
TECHSERVICES-LIMITED:bugfix/FINERACT-2776

Conversation

@oluexpert99

Copy link
Copy Markdown
Contributor

POST /datatables accepts an entitySubType and the platform stores it in x_registered_table.entity_subtype. Both GET routes return it: DatatableData carries the field, and DatatableReadServiceImpl selects entity_subtype and passes it to DatatableData.create on the list path and the single-table path alike.

The class both routes name as their @apiresponse schema does not declare it. PostDataTablesRequest does; GetDataTablesResponse does not. So the published document describes a datatable as having only applicationTableName, registeredTableName and columnHeaderData, and a caller can set a property that the documented response does not contain.

Hand-written clients are unaffected, since the JSON has the field. Generated ones cannot read it at all. entitySubType scopes a datatable to a client legal form, so a client that renders custom fields on a customer needs it to tell whether a given table belongs on a person or on an entity.

DatatableIntegrationTest already sets entitySubType on eleven datatable creations and never asserts it comes back, because the generated model has no getter for it. validateCreateAndEditDatatable now asserts the sub type it created the table with. fineract-client is generated from this spec, so that assertion does not compile before this change and passes after it.

No runtime behaviour changes; the response was already correct.

Description

Describe the changes made and why they were made. (Ignore if these details are present on the associated Apache Fineract JIRA ticket.)

Checklist

Please make sure these boxes are checked before submitting your pull request - thanks!

  • Write the commit message as per our guidelines
  • Acknowledge that we will not review PRs that are not passing the build ("green") - it is your responsibility to get a proposed PR to pass the build, not primarily the project's maintainers.
  • Create/update unit or integration tests for verifying the changes made.
  • Follow our coding conventions.
  • Add required Swagger annotation and update API documentation at fineract-provider/src/main/resources/static/legacy-docs/apiLive.htm with details of any API changes
  • This PR must not be a "code dump". Large changes can be made in a branch, with assistance. Ask for help on the developer mailing list.
  • If merging this PR resolves a JIRA issue, I will mark that issue as resolved and set "Fix Version/s" appropriately.

Your assigned reviewer(s) will follow our guidelines for code reviews.

POST /datatables accepts an entitySubType and the platform stores it in
x_registered_table.entity_subtype. Both GET routes return it: DatatableData
carries the field, and DatatableReadServiceImpl selects entity_subtype and
passes it to DatatableData.create on the list path and the single-table path
alike.

The class both routes name as their @apiresponse schema does not declare it.
PostDataTablesRequest does; GetDataTablesResponse does not. So the published
document describes a datatable as having only applicationTableName,
registeredTableName and columnHeaderData, and a caller can set a property that
the documented response does not contain.

Hand-written clients are unaffected, since the JSON has the field. Generated
ones cannot read it at all. entitySubType scopes a datatable to a client legal
form, so a client that renders custom fields on a customer needs it to tell
whether a given table belongs on a person or on an entity.

DatatableIntegrationTest already sets entitySubType on eleven datatable
creations and never asserts it comes back, because the generated model has no
getter for it. validateCreateAndEditDatatable now asserts the sub type it
created the table with. fineract-client is generated from this spec, so that
assertion does not compile before this change and passes after it.

No runtime behaviour changes; the response was already correct.

Signed-off-by: oluexpert99 <farooq@techservicehub.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant