File: /volume1/@appstore/Spreadsheet/server/bin/rpc.js
"use strict";const e=require("../common/domain-socket");const n=require("net");function t(t,o,r){return new Promise(((s,c)=>{const a=n.connect({path:t},(()=>{const n=new e(a,{timeout:5*60*1e3});n.on("data",(e=>{if(e&&e.success){s(e.data);n.end()}else{c(e?e.error:{})}}));n.on("error",c);n.send({event:o,data:r})}));a.on("error",c)}))}module.exports=async(e,n,o)=>{const r=[["sheet","spreadsheet_internal"],["doc","document_internal"],["slide","presentation_internal"],["taskd","taskd"]].filter((([n])=>e.includes(n)));const s=r.map((([e])=>e));const c=r.map((([,e])=>e));try{const e=await Promise.all(c.map((e=>t(`/run/synoffice/${e}.sock`,n,o))));const r=s.reduce(((n,t,o)=>{n[t]=e[o];return n}),{});console.log(JSON.stringify(r))}catch(e){console.error("request failed",e)}};