From b57ca948abbb96301117bf8fbd28dbbc21e47432 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Sun, 3 Sep 2023 21:27:55 +0530 Subject: [PATCH] refactor: common API methods to utils --- frappe/api/v1.py | 23 ++--------------------- frappe/api/v2.py | 22 ++-------------------- 2 files changed, 4 insertions(+), 41 deletions(-) diff --git a/frappe/api/v1.py b/frappe/api/v1.py index 9ce7b9bd71..5ffab5e047 100644 --- a/frappe/api/v1.py +++ b/frappe/api/v1.py @@ -4,38 +4,19 @@ from werkzeug.routing import Rule import frappe from frappe import _ +from frappe.api.utils import document_list from frappe.utils.data import sbool def handle_rpc_call(method: str): import frappe.handler - # TODO: inline this weird circular calls frappe.form_dict.cmd = method return frappe.handler.handle() def get_doc_list(doctype: str): - if frappe.form_dict.get("fields"): - frappe.form_dict["fields"] = json.loads(frappe.form_dict["fields"]) - - # set limit of records for frappe.get_list - frappe.form_dict.setdefault( - "limit_page_length", - frappe.form_dict.limit or frappe.form_dict.limit_page_length or 20, - ) - - # convert strings to native types - only as_dict and debug accept bool - for param in ["as_dict", "debug"]: - param_val = frappe.form_dict.get(param) - if param_val is not None: - frappe.form_dict[param] = sbool(param_val) - - # evaluate frappe.get_list - data = frappe.call(frappe.client.get_list, doctype, **frappe.form_dict) - - # set frappe.get_list result to response - frappe.response.update({"data": data}) + frappe.response.update({"data": document_list(doctype)}) def create_doc(doctype: str): diff --git a/frappe/api/v2.py b/frappe/api/v2.py index 18417022f2..d97d354b4b 100644 --- a/frappe/api/v2.py +++ b/frappe/api/v2.py @@ -5,6 +5,7 @@ from werkzeug.wrappers import Response import frappe from frappe import _ +from frappe.api.utils import document_list from frappe.utils.data import sbool @@ -29,26 +30,7 @@ def handle_rpc_call(method: str, doctype: str | None = None): def get_doc_list(doctype: str): - if frappe.form_dict.get("fields"): - frappe.form_dict["fields"] = json.loads(frappe.form_dict["fields"]) - - # set limit of records for frappe.get_list - frappe.form_dict.setdefault( - "limit_page_length", - frappe.form_dict.limit or frappe.form_dict.limit_page_length or 20, - ) - - # convert strings to native types - only as_dict and debug accept bool - for param in ["as_dict", "debug"]: - param_val = frappe.form_dict.get(param) - if param_val is not None: - frappe.form_dict[param] = sbool(param_val) - - # evaluate frappe.get_list - data = frappe.call(frappe.client.get_list, doctype, **frappe.form_dict) - - # set frappe.get_list result to response - frappe.response.update({"data": data}) + frappe.response.update({"data": document_list(doctype)}) def create_doc(doctype: str):