/* Page model: { filename, filetype, small_image, medium_image, large_image, *small_url, *medium_url, *large_url, size, staff_id, is_deleted, created_at, updated_at, } */ export async function getTree(ctx) { let res = await ctx.db.safeCallProc('pages_gettree', []) let out = [] let children = [] let map = new Map() for (let page of res.first) { if (!page.parent_id) { out.push(page) } else { children.push(page) } map.set(page.id, page) } for (let page of children) { let parent = map.get(page.parent_id) if (!parent.children) { parent.children = [] } parent.children.push(page) } return { tree: out } }