Baw API should expose a capabilities object either as a separate route or integrated into all of the current routes. This should detail the list of actions available to the user with the following options:
Hide
Disable: With details as to why
Enabled
This will control the angular8 action menu system so that the list of possible actions is set according to the users permissions related to the page they are viewing. For example, when the user navigates to this page their list of capabilities should depend on whether they are: admin, owner of the project, have permissions to access project, unable to view project. By default, any actions which are not accessible to the user should be disabled with details on how enable the option. Hidden fields should be limited to features which may not be implemented, or are not a part of the website (eg. Ecosounds version vs Government version).
Possible Implementations
Implementation 1
Create a new capabilities route:
Expected Route: https://staging.ecosounds.org/capabilities
Expected Method: GET
Expected Body:
Details
Baw API should expose a capabilities object either as a separate route or integrated into all of the current routes. This should detail the list of actions available to the user with the following options:
This will control the angular8 action menu system so that the list of possible actions is set according to the users permissions related to the page they are viewing. For example, when the user navigates to this page their list of capabilities should depend on whether they are: admin, owner of the project, have permissions to access project, unable to view project. By default, any actions which are not accessible to the user should be disabled with details on how enable the option. Hidden fields should be limited to features which may not be implemented, or are not a part of the website (eg. Ecosounds version vs Government version).
Possible Implementations
Implementation 1
Create a new capabilities route: Expected Route:
https://staging.ecosounds.org/capabilities
Expected Method:GET
Expected Body:Example Request Body:
Example Response Body:
Implementation 2
Update existing routes to include a capabilities field
Example Response Body: