APIs Tech Debt review

This page contains a list of endpoints that have been identified as a tech debt (either because of an incorrect design or lacking documentation). This should be reviewed as a part of OLMIS-4726 - Getting issue details... STATUS and presented back to the tech committee.


ResourceDescriptionNotesDecision / ActionPriorityTicket
commodityTypes/{id}Returns a specific commodity typeNot currently in the API documentation

Give ability to retrieve a single commodity type by id

Major OLMIS-5006 - Getting issue details... STATUS
facilities/supplyingReturns an array of facilities that are supplied by the same supervisory nodeThis API endpoint has poor documentation and no schemaThe endpoint is not used by any OpenLMIS services or UI so for now we should mark it as deprecated and in the next release remove itMinor

OLMIS-5007 - Getting issue details... STATUS

OLMIS-5008 - Getting issue details... STATUS

lotsExperimental resource to find lots in the systemThis resource does not have a schema
  • Add a schema for a page of lots
  • update endpoint description
    • remove information that the endpoint is experimental
Minor OLMIS-5009 - Getting issue details... STATUS
lots/{id}Experimental resource to find a specific lotThis resource does not have documentation
  • Add missing description to the endpoint
  • remove information that the endpoint is experimental
Minor
orderableDisplayCategoriesReturns an array of orderableDisplayCategoriesIt has been marked red, but is there any issue with this endpoint?

Add description of the resource

Minor OLMIS-5012 - Getting issue details... STATUS
orderableDisplayCategories/searchFind orderable categories with matched code. Returns an array.This resource uses a GET method and all other search endpoints use a POST method
  • merge the endpoint with /orderableDisplayCategories
  • a new endpoint should return a page instead of array
Major
processingSchedulesReturns an array of all processingSchedulesThis resource does not have a schema.

Add missing schema for a page of processing schedules

Minor OLMIS-5013 - Getting issue details... STATUS
processingSchedules/searchRetrieve processing schedule based on the provided parameters.This resource uses a GET method and all other search endpoints use a POST method

merge the endpoint with /processingSchedules

Major
programs/searchReturns an array of programsThis resource uses a GET method and all other search endpoints use a POST method
  • merge the endpoint with /programs
  • a new endpoint should return a page  instead of an array
Major OLMIS-5014 - Getting issue details... STATUS
requisitionGroupsReturns an array of requisitionGroupsThis resource does not have a schema.
  • the endpoint should return a page
  • merge the search endpoint
    • there is a schema for a page response and it is used by the search endpoint
Major OLMIS-5015 - Getting issue details... STATUS
rights/searchReturns an array of user rights based on search criteriaThis resource uses a GET method and all other search endpoints use a POST method
  • merge the endpoint with /rights
  • a new endpoint should return a page of rights
Major OLMIS-5016 - Getting issue details... STATUS
users/{id}Returns a specific userThis resource is not documented and may not exist due to the /users/{userId} endpoint.

rename parameter to follow syntax

Trivial
OLMIS-5011 - Getting issue details... STATUS
roles/{id}Returns a specific user roleThe documentation has this resource listed as /roles/{roleId} which doesn't follow the other syntax

rename parameter to follow syntax

Trivial
supplyLines/searchByUUIDReturns an array of supplyLines based on search criteriaThis resource uses a GET method and all other search endpoints use a POST method
  • merge the endpoint with /supplyLines
  • a new endpoint should return a page instead of array
Major OLMIS-5017 - Getting issue details... STATUS
tradeItems/{id}Returns a specific trade itemThis resource is not documented

Add description of the resource

Minor OLMIS-5010 - Getting issue details... STATUS
requisitions/searchReturns an array of requisitions based on search criteriaThis resource uses a GET method and all other search endpoints use a POST method

merge the endpoint with /requisitions

Major OLMIS-5018 - Getting issue details... STATUS

OpenLMIS: the global initiative for powerful LMIS software