UNPKG

@sync-in/server

Version:

The secure, open-source platform for file storage, sharing, collaboration, and sync

2 lines (1 loc) 9.92 kB
import{c as b,d as x,e as d,f as u,g as Y,h as s}from"./chunk-RTNEBRKJ.js";import{$a as q,Bb as U,Cb as j,Ia as k,Mb as V,Na as m,Nb as L,Ob as f,Pa as T,X as y,Z as p,nb as i,vb as O,wb as W,xb as B,ya as v,yb as I,za as R,zb as H}from"./chunk-O3YLAEVE.js";import{d as G}from"./chunk-QHJT5H4M.js";import{Yc as F,ea as E,ja as M,v as D}from"./chunk-D55YR5X7.js";import{a as P,b as A,i as w}from"./chunk-KAVP6UXH.js";function N(a){return a?a.includes(v.MODIFY)&&a.includes(v.DELETE)&&a.includes(v.ADD):!1}function J(a,l=!1){let z=a.split("/");return z[0]===f.FILES&&z.length>3||z[0]===f.SHARES&&z.length>(l?2:1)||z.length>2}function S(a){let l=a.split("/").filter(Boolean);return l.length?(l[0]===f.FILES&&(l[1]===f.PERSONAL?(l=l.slice(2),l.unshift(f.PERSONAL)):l[0]=f.SPACES),l.join("/")):""}var t=class{constructor(l,z=!1){this.mainError=null,this.lastErrors=[],this.newly=0,this.inSync=!1,this.nbSyncTasks=0,z?(this.id=m("id",l),this.firstSync=m("firstSync",l),this.mainError=m("mainError",l),this.lastErrors=m("lastErrors",l),this.settings=l):Object.assign(this,l),this.setProperties(),this.setStatus(!1)}setStatus(l){l?(this.mimeUrl=s(d),this.inSync=!0):(this.nbSyncTasks=0,this.inSync=!1,this.newly=q(this.settings.lastSync||0,!0),this.settings.enabled?this.mainError?this.mimeUrl=s(Y):this.mimeUrl=s(this.mime):this.mimeUrl=s(u))}export(l=!1){return A(P({},l?{id:this.id}:{}),{name:this.settings.name,mode:this.settings.mode,enabled:this.settings.enabled,diffMode:this.settings.diffMode,conflictMode:this.settings.conflictMode,filters:this.settings.filters,scheduler:this.settings.scheduler})}setProperties(){this.isWriteable=N(this.settings?.permissions),this.newly=q(this.settings.lastSync||0,!0);let l=this.settings.remotePath.split("/")[0];switch(this.showedPath=this.settings.remotePath.split("/").slice(1).join("/"),this.iconClass=l===R.SHARES?"purple":"primary",l){case f.PERSONAL:this.icon=L.PERSONAL,this.mime=b;break;case f.SPACES:this.icon=L.SPACES,this.mime=b;break;case f.SHARES:this.icon=L.SHARES,this.mime=x;break}}};var C=class{constructor(l){this.isDir=!0,this.mime="directory",this.isAlreadySynced=!1,this.isWriteable=N(l.permissions),Object.assign(this,l),this.icon||(this.mimeUrl=s(this.enabled?this.inShare?x:b:u)),this.isSynchronizable=J(this.path),this.serverPath=S(this.path)}setAlreadySynced(){this.isAlreadySynced=!0,this.mimeUrl=s(d)}};var o=(function(a){return a.LIST="list",a.SYNC="sync",a.ADD="add",a.FLUSH="flush",a.SET="set",a.REMOVE="remove",a})(o||{}),Z=(function(a){return a.FILE="file",a.FOLDER="folder",a.EXPERT="expert",a.START="start",a.END="end",a.IN="in",a})(Z||{});var K={prefix:"fab",iconName:"windows",icon:[448,512,[],"f17a","M0 93.7l183.6-25.3 0 177.4-183.6 0 0-152.1zM0 418.3l183.6 25.3 0-175.2-183.6 0 0 149.9zm203.8 28l244.2 33.7 0-211.6-244.2 0 0 177.9zm0-380.6l0 180.1 244.2 0 0-213.8-244.2 33.7z"]};var X={prefix:"fab",iconName:"apple",icon:[384,512,[],"f179","M319.1 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7-55.8 .9-115.1 44.5-115.1 133.2 0 26.2 4.8 53.3 14.4 81.2 12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zM262.5 104.5c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z"]};var $={prefix:"fab",iconName:"linux",icon:[448,512,[],"f17c","M220.9 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5 .2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4 .2-.8 .7-.6 1.1 .3 1.3 2.3 1.1 3.4 1.7zM199 125c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6 .2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5 .1-1.3 .6-3.4 1.5-3.2 2.9 .1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.1-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72 .5-45.9 5.1-131.2-75.8-131.3-102.4-.2-76.8 103.4-77.9 135.2-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9 .6 7.9 1.2 11.8 1.2 8.1 2.5 15.7 .8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1 .6 2.3 1.4 4.6 2.5 6.7l0 .1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3 .4-8.2-4.4-17.3-15.5-29.7zM223.8 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183.1 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4 .7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4l0-.2c2.4-7.6 .6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7 .8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4 .6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1 .8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7 .4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6 .8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1 .3-.2 .7-.3 1-.5 .8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.4 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z"]};var h=class{constructor(l){this.paths=(m("paths",l)||[]).map(z=>new t(z)),Object.assign(this,l),this.setExpiration(),this.setIcon()}setExpiration(){let l=k()>=this.tokenExpiration;this.expiration={value:this.tokenExpiration*1e3,reached:l,approaching:l?!1:k()+90*86400>=this.tokenExpiration}}setIcon(){this.info.os==="darwin"?(this.icon=X,this.osName="macOS"):this.info.os.startsWith("win")?(this.icon=K,this.osName="Windows"):this.info.os.startsWith("linux")&&(this.icon=$,this.osName="Linux")}};var O1=(()=>{let l=class l{constructor(){this.router=M(G),this.http=M(F),this.layout=M(j),this.store=M(O),this.electron=M(U),this.resetWizard()}showOpenDialog(c){return this.electron.invoke(i.MISC.DIALOG_OPEN,c)}getFilePath(c){return this.electron.ipcRenderer.showFilePath(c)}getClients(){return this.http.get(p).pipe(D(c=>c.map(e=>new h(e))))}deleteClient(c){return this.http.delete(`${p}/${c}`)}updateSyncPath(c,e,r){return this.http.put(`${p}/${c}/${y.PATHS}/${e}`,r)}deleteSyncPath(c,e){return this.http.delete(`${p}/${c}/${y.PATHS}/${e}`)}addPath(c){return this.electron.invoke(i.SYNC.PATH_OPERATION,o.ADD,c)}updatePath(c){return this.electron.invoke(i.SYNC.PATH_OPERATION,o.SET,c)}flushPath(c){return this.electron.invoke(i.SYNC.PATH_OPERATION,o.FLUSH,c)}removePath(c){return this.electron.invoke(i.SYNC.PATH_OPERATION,o.REMOVE,c)}doSync(c,e,r=!1,n=!1){this.electron.invoke(i.SYNC.PATH_OPERATION,o.SYNC,{state:c,paths:e,reportOnly:r,async:n}).catch(console.error)}refreshPaths(){return w(this,null,function*(){try{let c=yield this.electron.invoke(i.SYNC.PATH_OPERATION,o.LIST,null);this.store.clientSyncPaths.set(c.map(e=>new t(e,!0)))}catch(c){console.error(c)}})}goToPath(c,e=!0,r=""){if(e)this.electron.openPath(`${c.settings.localPath}/${r?`/${r}`:""}`);else{let n=[...c.settings.remotePath.split("/"),...r?r.split("/"):[]],g;n.length>1&&(g=n.pop());let Q=n.shift();this.router.navigate([f.SPACES,...W[Q],...n],g?{queryParams:{select:g}}:{}).catch(console.error)}}setClientScheduler(c){this.electron.send(i.SYNC.SCHEDULER_STATE,"update",c)}getTransfers(c,e){return this.electron.invoke(i.SYNC.TRANSFER_LOGS,"get",c||null,e)}deleteTransfers(c){return this.electron.invoke(i.SYNC.TRANSFER_LOGS,"delete",c||null)}translateServerPath(c){let e=S(c).split("/");return e.length?(e[0]=e[0]===f.PERSONAL?this.layout.translateString(V.PERSONAL_FILES):this.layout.translateString(T(e[0])),e.join("/")):""}addFileToRemotePath(c){this.wizard.remotePath=new C({id:c.id,name:c.name,path:c.path,isDir:c.isDir,mime:c.mime,mimeUrl:c.mimeUrl,enabled:!0,isWriteable:!0,inShare:c.path.split("/")[0]===f.SHARES})}resetWizard(){this.wizard={localPath:null,remotePath:null,settings:{enabled:!0,name:"",mode:B.BOTH,conflictMode:H.RECENT,diffMode:I.FAST,scheduler:{unit:"minute",value:15}}}}};l.\u0275fac=function(e){return new(e||l)},l.\u0275prov=E({token:l,factory:l.\u0275fac,providedIn:"root"});let a=l;return a})();export{Z as a,K as b,X as c,$ as d,J as e,t as f,C as g,O1 as h};