```xml
<route>
<url>^api\/w\/nextcloud\/jobs\/.*</url>
<verb>GET,POST,PUT,DELETE</verb>
<access_level>PUBLIC</access_level>
<headers_to_exclude>[]</headers_to_exclude>
<bruteforce_protection>[401, 500]</bruteforce_protection>
</route>
```
Looks like this. ExApps should not implement its own protection, we
should provide a way to enable basic protection from Nextcloud/AppAPI
side.
---------
Signed-off-by: Alexander Piskun <bigcat88@icloud.com>
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
Co-authored-by: Andrey Borysenko <andrey18106x@gmail.com>
Docs updates with known FAQ (will be updated with time) and some Notes
for Developers as an overview or replacement of old parts of docs in
future.
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
This PR introduces new (mandatory if you use the ExApp proxy) registration of the routes that are allowed to call on ExApp via AppAPI ExApp proxy.
---------
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
Co-authored-by: Alexander Piskun <13381981+bigcat88@users.noreply.github.com>
The system flag and extra table for that `ex_app_users` is removed to
optimize database usage and simplify the system logic.
---------
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
Should fix incorrect type handling by different DBMS during ExApp occ
command registration.
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
Signed-off-by: Alexander Piskun <bigcat88@icloud.com>
This PR introduces API for registering OCC commands for ExApps.
Note: **Passing file contents as the input argument is not supported**
---------
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
Co-authored-by: Alexander Piskun <13381981+bigcat88@users.noreply.github.com>
We hold pre-defined API Scopes in memory only.
Anyway we currently do not supporting defining API Scopes at runtime and
not sure that we will in future, so better to make it simpler and faster
for now.
---------
Signed-off-by: Alexander Piskun <bigcat88@icloud.com>
Ref: #204
Changed:
* added new table `ex_text_processing_q` and TextProcessing queue in
AppAPI
* added `reportResult` route, allowing storing results from ExApp
provider
* API for ExApp TextProcessing provider implementation
We do not merge this until v1.4 is fully ready, just update it to not
forget what we added in this release.
---------
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
Co-authored-by: Andrey Borysenko <andrey18106x@gmail.com>
Changes proposed in this PR(first part is here #135):
CI:
* added Oracle CI test, as previous PR created a new error with Oracle
DB due to missing tests
* TopMenu: icon_url -> icon
Bugs:
* do not spam error into log file in **getExAppFileAction**,
**getExAppMenuEntry**
* Oracle fix for FileAction entry
This PR adds ability for ExApp to have entry in TopMenu and provide it's
own page when clicking on it.
* OCS API for specifying InitialStates, Scripts, Styles, TopMenu
* Small corrections and refactoring of code that relates on UI
* Small bug fixes to other parts of AppAPI, mostly for FileActions Menu.
PR is ready, after merging this, one additional PR will be created that
relates to this one.
That PR will cover missing parts:
* Docs, changelog update
* FileActions Menu rework(icon specifying)
* Fixes of stuff that will be found if any, related to UI
* CI Actions and Makefile adjusting, to keep `js/proxy_js` folder
* Fix of Proxying stuff
Merging this PR will allow nc_py_api's PR to be finished on this theme
and finish first example for testing.
---------
Signed-off-by: Alexander Piskun <bigcat88@icloud.com>
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
Co-authored-by: Andrey Borysenko <andrey18106x@gmail.com>
Resolves: https://github.com/cloud-py-api/app_api/issues/116
For some reason it was not possible to do this by migration(I tried but
got `tinytext` instead of `text`), but this is not particularly
important, since this is more of a change for the future.
Signed-off-by: Alexander Piskun <bigcat88@icloud.com>
- [x] Adds Talk bot registration api
- [x] Adds `user_check` flag to ApiScope and adjusts AppEcosystemAuth
logic to check user if flag is set (true by default), this is required
for BASIC and TALK_BOT scopes, as they work without user context.