Akhil Narang
ef5dc763e9
feat(api/v2): set name if passed when creating document
...
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2025-07-03 17:52:25 +05:30
Akhil Narang
ad948c9b98
Revert "Merge pull request #32327 from akhilnarang/allow-passing-name-in-api"
...
This reverts commit 1e30db26dc , reversing
changes made to 8da72e91e3 .
2025-07-03 17:23:48 +05:30
Faris Ansari
4a7f337f0a
fix: typing and error handling
...
- add typing and comprehensive docstring
- error handling for custom get_list methods in doctype controllers
2025-06-23 13:30:05 +05:30
Faris Ansari
a6e9028090
fix: cast link fields that are int to string
...
- id fields should always be string
- easier to manage in typed code in frontend
2025-06-18 16:14:32 +05:30
Faris Ansari
b3a05896ea
fix: remove doc.reload
2025-06-18 15:56:11 +05:30
Faris Ansari
f3af0c582c
test: fix test_api_v2
2025-06-18 15:56:11 +05:30
Faris Ansari
471e001ebb
feat: apply permissions in get_query
2025-06-18 15:56:11 +05:30
Ankush Menat
7d26eca678
fix: basic perm checks
2025-06-18 15:51:13 +05:30
Faris Ansari
11602c1e6b
fix: revert document_list return format
2025-06-18 15:51:13 +05:30
Faris Ansari
79893f0248
fix: return updated doc from execute_doc_method
2025-06-18 15:51:13 +05:30
Faris Ansari
e089b2d723
fix: explicitly return doc as dict
...
because json serializer of Document doesn't return fields with null values
2025-06-18 15:51:12 +05:30
Faris Ansari
bbf46eb4ef
fix: use frappe.qb.get_query
...
- static controller method get_list to modify query object
2025-06-18 15:50:25 +05:30
Akhil Narang
33dbf97db2
fix(document): don't try to overwrite name if a string is already set
...
This allows us to pass `name` in via API when creating documents.
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2025-05-05 12:24:58 +05:30
petnd
38f112f4ac
fix: Apply permlevel for update_doc endpoint in v2 API ( #32135 )
...
* fix: Only Return Allowed Fields in API Response
Apply Read Permission to the returned fields of API v2
2025-04-16 13:02:14 +02:00
Raffael Meyer
9430e3af86
fix: respect override_whitelisted_method in map_docs ( #31718 )
...
* refactor: override_whitelisted_method
* fix: respect `override_whitelisted_method` in `map_docs`
* refactor: override_whitelisted_method
2025-03-17 14:27:12 +01:00
Raffael Meyer
aade0df7bf
feat: new REST API for copy_doc ( #31160 )
...
* feat: new REST API for copy_doc
* test: copy endpoint
2025-02-07 17:46:53 +05:30
Ankush Menat
dfc6dcb6b8
Revert "perf: Avoid checking server script map ( #29057 )"
...
This reverts commit 55a55e7f7b .
2025-01-06 19:43:53 +05:30
Ankush Menat
55a55e7f7b
perf: Avoid checking server script map ( #29057 )
...
If I have to hazard a guess, 99% API calls are not server scripts, then
why check it first and pay the costs?
This PR first checks if method is a real method in python code and if
it's not found then only attempts to fetch it from server script map.
I'll revert this if I can bring the costs in acceptable limits with
client-side caching.
2025-01-06 07:40:20 +00:00
Akhil Narang
84ef6ec677
refactor: fixup with ruff 0.8.1
...
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2024-12-04 13:18:04 +05:30
Ankush Menat
750b70b075
refactor: Wrap meta in v2 ( #26548 )
2024-05-24 06:05:09 +00:00
Ankush Menat
6fd97bcbcf
fix: Add old file upload for v2
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
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
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
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
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
Ankush Menat
5f32952b30
feat(APIv2): Execute doc method using API
...
e.g. `POST /api/v2/resource/Sales Order/SO-0001/submit`
2023-10-16 18:12:53 +05:30
Ankush Menat
1b51914a83
refactor: create two API versions
2023-10-16 18:12:53 +05:30