refactor: cache assignees

This commit is contained in:
Shariq Ansari 2025-07-23 13:12:12 +05:30
parent e62eac91d1
commit cf8a1ce8a3

View File

@ -5,6 +5,7 @@ import { reactive } from 'vue'
const documentsCache = {} const documentsCache = {}
const controllersCache = {} const controllersCache = {}
const assigneesCache = {}
export function useDocument(doctype, docname) { export function useDocument(doctype, docname) {
const { setupScript } = getScript(doctype) const { setupScript } = getScript(doctype)
@ -46,7 +47,10 @@ export function useDocument(doctype, docname) {
} }
} }
const assignees = createResource({ assigneesCache[doctype] = assigneesCache[doctype] || {}
if (!assigneesCache[doctype][docname || '']) {
assigneesCache[doctype][docname || ''] = createResource({
url: 'crm.api.doc.get_assigned_users', url: 'crm.api.doc.get_assigned_users',
cache: `assignees:${doctype}:${docname}`, cache: `assignees:${doctype}:${docname}`,
auto: docname ? true : false, auto: docname ? true : false,
@ -56,6 +60,7 @@ export function useDocument(doctype, docname) {
}, },
transform: (data) => parseAssignees(data), transform: (data) => parseAssignees(data),
}) })
}
async function setupFormScript() { async function setupFormScript() {
if ( if (
@ -224,7 +229,7 @@ export function useDocument(doctype, docname) {
return { return {
document: documentsCache[doctype][docname || ''], document: documentsCache[doctype][docname || ''],
assignees, assignees: assigneesCache[doctype][docname || ''],
getControllers, getControllers,
triggerOnLoad, triggerOnLoad,
triggerOnBeforeCreate, triggerOnBeforeCreate,