APIs Tech Debt review

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 https://openlmis.atlassian.net/browse/OLMIS-4726 and presented back to the tech committee.

 

Resource

Description

Notes

Decision / Action

Priority

Ticket

Resource

Description

Notes

Decision / Action

Priority

Ticket

commodityTypes/{id}

Returns a specific commodity type

Not currently in the API documentation

Give ability to retrieve a single commodity type by id

Major

https://openlmis.atlassian.net/browse/OLMIS-5006

facilities/supplying

Returns an array of facilities that are supplied by the same supervisory node

This API endpoint has poor documentation and no schema

The 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 it

Minor

https://openlmis.atlassian.net/browse/OLMIS-5007

https://openlmis.atlassian.net/browse/OLMIS-5008

lots

Experimental resource to find lots in the system

This 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

https://openlmis.atlassian.net/browse/OLMIS-5009

lots/{id}

Experimental resource to find a specific lot

This resource does not have documentation

  • Add missing description to the endpoint

  • remove information that the endpoint is experimental

Minor

orderableDisplayCategories

Returns an array of orderableDisplayCategories

It has been marked red, but is there any issue with this endpoint?

Add description of the resource

Minor

https://openlmis.atlassian.net/browse/OLMIS-5012

orderableDisplayCategories/search

Find 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

processingSchedules

Returns an array of all processingSchedules

This resource does not have a schema.

Add missing schema for a page of processing schedules

Minor

https://openlmis.atlassian.net/browse/OLMIS-5013

processingSchedules/search

Retrieve 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/search

Returns an array of programs

This 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

https://openlmis.atlassian.net/browse/OLMIS-5014

requisitionGroups

Returns an array of requisitionGroups

This 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

https://openlmis.atlassian.net/browse/OLMIS-5015

rights/search

Returns an array of user rights based on search criteria

This 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

https://openlmis.atlassian.net/browse/OLMIS-5016

users/{id}

Returns a specific user

This resource is not documented and may not exist due to the /users/{userId} endpoint.

rename parameter to follow syntax

Trivial


https://openlmis.atlassian.net/browse/OLMIS-5011

roles/{id}

Returns a specific user role

The documentation has this resource listed as /roles/{roleId} which doesn't follow the other syntax

rename parameter to follow syntax

Trivial

supplyLines/searchByUUID

Returns an array of supplyLines based on search criteria

This 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

https://openlmis.atlassian.net/browse/OLMIS-5017

tradeItems/{id}

Returns a specific trade item

This resource is not documented

Add description of the resource

Minor

https://openlmis.atlassian.net/browse/OLMIS-5010

requisitions/search

Returns an array of requisitions based on search criteria

This resource uses a GET method and all other search endpoints use a POST method

merge the endpoint with /requisitions

Major

https://openlmis.atlassian.net/browse/OLMIS-5018

OpenLMIS: the global initiative for powerful LMIS software