Description
A public API exists which can be called by users for limited numbers of calls.
Acceptance criteria
- A new API is provided, wikifunctions_run, and registered appropriately in a new namespace (e.g. namespace MediaWiki\Extension\WikiLambda\PublicAPI;)
- It should be a fork of the existing wikilambda_function_call but with some simplifications:
- Different, additional rights for this API (so we can throttle it differently)
- Drop the low-value 'success' return
- T349967: In the new, public API end-point to call Wikifunctions, don't wrap response contents in a "query" object or pass on a "success" flag
-
Others?
- It should be tested, like ApiFunctionCallTest, using the Beta Cluster test rig
- A successful test of trivial success (pre-defined, built-in function e.g. Z801/Echo)
- A successful test of user-defined on-wiki content, e.g. Z10000/Negate
- A successful test of inline user-defined content
- A failed test due to lacking user rights to run at all
- A failed test due to lacking user rights to run an inline-function
Completion checklist
Functionality:
- The solution meets the expected behavior/acceptance criteria described above
- All the child tasks are closed
- The issue has been peer reviewed
- The issue has been merged
Engineering:
- There are existing and passing unit/integration tests effectively testing its success and its failure
- All new classes/methods are covered by unit tests
Documentation
- All new functions/methods are annotated
- Related documentation in MediaWiki extension pages or Abstract Wikipedia pages in meta should be updated with the related changes
- E.g. New API being created should be reflected in WikiLambda API help page
Accessibility:
- All user facing strings are internationalized