Commit graph

43736 commits

Author SHA1 Message Date
Suraj Shetty
4f2f47ad5c
Merge pull request #22771 from zerodha/theme 2023-10-17 16:05:12 +05:30
shridhar
b864706c55 feat: Auto refresh when user updates theme 2023-10-17 14:55:14 +05:30
Ankush Menat
1942a99842
Merge pull request #22764 from zerodha/css_fixes
fix: Login with Email Link buttons css
2023-10-17 13:47:53 +05:30
shridhar
d845c54994 fix: login with email buttons css 2023-10-17 13:24:21 +05:30
Ankush Menat
5de126aea9
Merge pull request #22757 from frappe/fix-ci-boilerplate
fix: add mariadb-client install step in workflow boilerplate
2023-10-17 11:57:05 +05:30
Ankush Menat
33cd599356
Merge pull request #22760 from ankush/filters
fix(UX): Preserve filters between list and report views
2023-10-17 11:39:06 +05:30
Ankush Menat
563639235e
Merge pull request #22300 from ankush/api_v2
feat!: API versioning and API v2 (beta)
2023-10-17 11:34:26 +05:30
Ankush Menat
7d4040405a fix(UX): Preserve filters between list and report views 2023-10-17 11:02:09 +05:30
Ankush Menat
a46389a7e4 test: Split API v2 tests
Duplication here seems better than weird and hard to understand
parameterized version.
2023-10-17 10:27:37 +05:30
Ankush Menat
76b4d209c7 feat: frappe.call can accept api_version 2023-10-17 10:14:58 +05:30
Corentin Flr
2b542d87e1
fix: Fix scopes for Google Calendar (#22614)
https://developers.google.com/identity/protocols/oauth2/scopes
2023-10-17 08:07:38 +05:30
Hussain Nagaria
f1ba76f5f7 fix: add mariadb-client install step in workflow boilerplate 2023-10-16 19:40:09 +05:30
gavin
c706040c31
ci: Add Coveragerc (#22530) 2023-10-16 18:24:16 +05:30
Ankush Menat
4dfb44d0a2 fix: assume v1 if path is not set
Old `cmd` calls will not work otherwise.
2023-10-16 18:13:50 +05:30
Ankush Menat
e2714c3e1c feat: v2 error and debug log structure 2023-10-16 18:13:50 +05:30
Ankush Menat
6fd97bcbcf fix: Add old file upload for v2 2023-10-16 18:13:50 +05:30
Ankush Menat
018ed845bd refactor: defer unnecessary json-dumping of messages
Also avoid accessing locals where interface is present like for popping last message.
2023-10-16 18:13:50 +05:30
Ankush Menat
411819ef81 feat: v2 for message response strucutre 2023-10-16 18:13:50 +05:30
Ankush Menat
3cc2ca8fc7 test: old API messages 2023-10-16 18:13:50 +05:30
Ankush Menat
dfcb69ab21 refactor: use reportview get_count implementation
Count reported should be according to permissions
2023-10-16 18:13:50 +05:30
Ankush Menat
47538f7601 feat: doctype collection level APIs - meta, count 2023-10-16 18:13:50 +05:30
Ankush Menat
cfd3fb9341 refactor: PUT == PATCH
Correct conventions for partial updates
2023-10-16 18:13:50 +05:30
Ankush Menat
c8cd658d26 fix: add login and logout methods 2023-10-16 18:13:50 +05:30
Ankush Menat
67a5957056 fix: check for write permission if POST method 2023-10-16 18:13:50 +05:30
Ankush Menat
824229ce0a refactor: no need to cast bools manually 2023-10-16 18:13:50 +05:30
Ankush Menat
43028f51d9 refactor: simplify v2 implementations 2023-10-16 18:13:50 +05:30
Ankush Menat
7996f76ebb fix: Better delete doc for child tables 2023-10-16 18:13:50 +05:30
Ankush Menat
232f080044 feat: run_doc_method v2 2023-10-16 18:13:50 +05:30
Ankush Menat
d117e2c08b fix!: Last overriden method should be considered 2023-10-16 18:13:33 +05:30
Ankush Menat
bfb463e814 refactor!: merge handle.py
This has several breaking changes for v2:
1. No support for following methods which were implicitly present in
   default namespace.
    - run_doc_method
    - ping
    - web_logout
    - logout
    - uploadfile
    - upload_file
    - download_file
2023-10-16 18:12:53 +05:30
Ankush Menat
e63f0c895d refactor: resource => document
This lets us create three types of APIs:

- Document APIs that operate on documents
- DocType APIs that operate on collections - list, count, search
- Method APIs that are RPC calls
2023-10-16 18:12:53 +05:30
Ankush Menat
10ace97ebb fix: backward compatiblity for method calls in v1
Preserves complete path just like before. This broke oauth as oauth code
was expecting 4th part in path even though it's never been supported in
API methods
2023-10-16 18:12:53 +05:30
Ankush Menat
e96ecab00e refactor: OAuth flow without breaking routing convention
Appending `/connected-app` after method breaks routing.
2023-10-16 18:12:53 +05:30
Ankush Menat
0a244b10fc test: basic tests v2 API 2023-10-16 18:12:53 +05:30
Ankush Menat
947e7f6864 test: refactor API test cases for paramterization 2023-10-16 18:12:53 +05:30
Ankush Menat
985c897c95 refactor: simplify request form data 2023-10-16 18:12:53 +05:30
Ankush Menat
825692128f chore: separate out v1 and v2
Any common utils end up becoming a problem, duplicating code here is
better than coupling potentially breaking behaviour
2023-10-16 18:12:53 +05:30
Ankush Menat
275f16060a fix: route ambiguitities and / in name
v1 and v2:
- Use path convertor to consume entire document which MIGHT contain `/`
- Drop string convertor, as it's the default
- Dont merge slashes - avoid consuming something that's part of name

v2:
- `SI/BLAH/BLAH/submit` is not simple to parse without ambiguitity
- `SI/BLAH/BLAH/method/submit` removes ambiguitity for 99.99% cases.
2023-10-16 18:12:53 +05:30
Ankush Menat
0c61e61743 fix: delete oauth stuff when deleting users 2023-10-16 18:12:53 +05:30
Ankush Menat
627b777a9c refactor!: manual creation of response
This contains minor breaking change where `delete` API call now returns `OK` in `data` key instead of `message`.
2023-10-16 18:12:53 +05:30
Ankush Menat
b57ca948ab refactor: common API methods to utils 2023-10-16 18:12:53 +05:30
Ankush Menat
8ce6426c75 refactor: Drop frappe.local for proxies 2023-10-16 18:12:53 +05:30
Ankush Menat
0b0b7f7f60 test: check that document actually got deleted 2023-10-16 18:12:53 +05:30
Ankush Menat
f9e120c104 refactor: remove unnessary manual commits 2023-10-16 18:12:53 +05:30
Ankush Menat
b6b4b98c0f refactor(APIv2): message -> data 2023-10-16 18:12:53 +05:30
Ankush Menat
26b3f6ae96 fix: pass on custom responses as is without any post processing 2023-10-16 18:12:53 +05:30
Ankush Menat
507343f4f6 fix: double response processing 2023-10-16 18:12:53 +05:30
Ankush Menat
d5a21a2676 fix: rename type validation
`None` can be passed which is acceptable here.

TODO: Make slackdict accept none as bool and convert to False
2023-10-16 18:12:53 +05:30
Ankush Menat
e0f87dc4e1 refactor!: move OAuth and token auth code to auth.py
This doesn't belong in api.py
2023-10-16 18:12:53 +05:30
Ankush Menat
b064d12440 feat: Shorthand for whitelisted function call in controllers
```diff
- GET /api/method/frappe.core.doctype.user.user.get_timezones
+ GET /api/method/User/get_timezones
```
2023-10-16 18:12:53 +05:30