diff --git a/app/src/types/index.d.ts b/app/src/types/index.d.ts index 70b07519f..83faf1854 100644 --- a/app/src/types/index.d.ts +++ b/app/src/types/index.d.ts @@ -332,6 +332,7 @@ declare interface IConfig { stat: string interval: number cloudName: string + provider: number }, lang: string api: { diff --git a/app/src/util/assets.ts b/app/src/util/assets.ts index 2645b472a..eaff33424 100644 --- a/app/src/util/assets.ts +++ b/app/src/util/assets.ts @@ -136,16 +136,22 @@ export const addGA = () => { const para = { version: Constants.SIYUAN_VERSION, container: window.siyuan.config.system.container, - isLoggedIn: "false", - subscriptionStatus: "-1", - subscriptionPlan: "-1", - subscriptionType: "-1", + isLoggedIn: false, + subscriptionStatus: -1, + subscriptionPlan: -1, + subscriptionType: -1, + syncEnabled: false, + syncProvider: -1, }; if (window.siyuan.user) { - para.isLoggedIn = "true"; - para.subscriptionStatus = window.siyuan.user.userSiYuanSubscriptionStatus.toString(); - para.subscriptionPlan = window.siyuan.user.userSiYuanSubscriptionPlan.toString(); - para.subscriptionType = window.siyuan.user.userSiYuanSubscriptionType.toString(); + para.isLoggedIn = true; + para.subscriptionStatus = window.siyuan.user.userSiYuanSubscriptionStatus; + para.subscriptionPlan = window.siyuan.user.userSiYuanSubscriptionPlan; + para.subscriptionType = window.siyuan.user.userSiYuanSubscriptionType; + } + if (window.siyuan.config.sync) { + para.syncEnabled = window.siyuan.config.sync.enabled; + para.syncProvider = window.siyuan.config.sync.provider; } gtag("event", Constants.ANALYTICS_EVT_ON_GET_CONFIG, para); } diff --git a/kernel/go.mod b/kernel/go.mod index fd9508afb..abfb6ef41 100644 --- a/kernel/go.mod +++ b/kernel/go.mod @@ -36,7 +36,7 @@ require ( github.com/panjf2000/ants/v2 v2.6.0 github.com/patrickmn/go-cache v2.1.0+incompatible github.com/radovskyb/watcher v1.0.7 - github.com/siyuan-note/dejavu v0.0.0-20221106124940-0932b4a1cb88 + github.com/siyuan-note/dejavu v0.0.0-20221108163830-bdc72a233f2d github.com/siyuan-note/encryption v0.0.0-20220713091850-5ecd92177b75 github.com/siyuan-note/eventbus v0.0.0-20220916025349-3ac6e75522da github.com/siyuan-note/filelock v0.0.0-20221007163134-7e64809023ef @@ -99,7 +99,7 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/onsi/ginkgo/v2 v2.4.0 // indirect + github.com/onsi/ginkgo/v2 v2.5.0 // indirect github.com/pelletier/go-toml/v2 v2.0.5 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/qiniu/go-sdk/v7 v7.13.0 // indirect @@ -116,7 +116,7 @@ require ( golang.org/x/mod v0.6.0 // indirect golang.org/x/net v0.1.0 // indirect golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.1.0 // indirect + golang.org/x/sys v0.2.0 // indirect golang.org/x/tools v0.2.0 // indirect google.golang.org/protobuf v1.28.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/kernel/go.sum b/kernel/go.sum index 1a10a4adc..189c89057 100644 --- a/kernel/go.sum +++ b/kernel/go.sum @@ -284,12 +284,12 @@ github.com/onsi/ginkgo v1.16.2/go.mod h1:CObGmKUOKaSC0RjmoAK7tKyn4Azo5P2IWuoMnvw github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/ginkgo/v2 v2.4.0 h1:+Ig9nvqgS5OBSACXNk15PLdp0U9XPYROt9CFzVdFGIs= -github.com/onsi/ginkgo/v2 v2.4.0/go.mod h1:iHkDK1fKGcBoEHT5W7YBq4RFWaQulw+caOMkAt4OrFo= +github.com/onsi/ginkgo/v2 v2.5.0 h1:TRtrvv2vdQqzkwrQ1ke6vtXf7IK34RBUJafIy1wMwls= +github.com/onsi/ginkgo/v2 v2.5.0/go.mod h1:Luc4sArBICYCS8THh8v3i3i5CuSZO+RaQRaJoeNwomw= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.13.0/go.mod h1:lRk9szgn8TxENtWd0Tp4c3wjlRfMTMH27I+3Je41yGY= -github.com/onsi/gomega v1.22.1 h1:pY8O4lBfsHKZHM/6nrxkhVPUznOlIu3quZcKP/M20KI= +github.com/onsi/gomega v1.24.0 h1:+0glovB9Jd6z3VR+ScSwQqXVTIfJcGA9UBM8yzQxhqg= github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8= github.com/panjf2000/ants/v2 v2.6.0 h1:xOSpw42m+BMiJ2I33we7h6fYzG4DAlpE1xyI7VS2gxU= github.com/panjf2000/ants/v2 v2.6.0/go.mod h1:cU93usDlihJZ5CfRGNDYsiBYvoilLvBF5Qp/BT2GNRE= @@ -353,8 +353,8 @@ github.com/shurcooL/reactions v0.0.0-20181006231557-f2e0b4ca5b82/go.mod h1:TCR1l github.com/shurcooL/sanitized_anchor_name v0.0.0-20170918181015-86672fcb3f95/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/shurcooL/users v0.0.0-20180125191416-49c67e49c537/go.mod h1:QJTqeLYEDaXHZDBsXlPCDqdhQuJkuw4NOtaxYe3xii4= github.com/shurcooL/webdavfs v0.0.0-20170829043945-18c3829fa133/go.mod h1:hKmq5kWdCj2z2KEozexVbfEZIWiTjhE0+UjmZgPqehw= -github.com/siyuan-note/dejavu v0.0.0-20221106124940-0932b4a1cb88 h1:fYsN2KF7995Mn98TlyHc6SZLeJ3TyL81hnT4vUcBS+o= -github.com/siyuan-note/dejavu v0.0.0-20221106124940-0932b4a1cb88/go.mod h1:HL3cSxYLEwNpmmxvP38hJJPozt8jQW62lsizy8C23aw= +github.com/siyuan-note/dejavu v0.0.0-20221108163830-bdc72a233f2d h1:jDIO999GAIz18IhHAJVMvObkXD+NLsYQw/5+j5RMzD4= +github.com/siyuan-note/dejavu v0.0.0-20221108163830-bdc72a233f2d/go.mod h1:HL3cSxYLEwNpmmxvP38hJJPozt8jQW62lsizy8C23aw= github.com/siyuan-note/encryption v0.0.0-20220713091850-5ecd92177b75 h1:Bi7/7f29LW+Fm0cHc0J1NO1cZqyJwljSWVmfOqVZgaE= github.com/siyuan-note/encryption v0.0.0-20220713091850-5ecd92177b75/go.mod h1:H8fyqqAbp9XreANjeSbc72zEdFfKTXYN34tc1TjZwtw= github.com/siyuan-note/eventbus v0.0.0-20220916025349-3ac6e75522da h1:/jNhl7LC+9BhkWvNxuJDdsNfA/2wvfuj9mqWx4CbV90= @@ -524,8 +524,8 @@ golang.org/x/sys v0.0.0-20220731174439-a90be440212d/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U= -golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A= +golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.0.0-20180302201248-b7ef84aaf62a/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/kernel/model/repository.go b/kernel/model/repository.go index a5b15e9c8..df8062dc7 100644 --- a/kernel/model/repository.go +++ b/kernel/model/repository.go @@ -820,16 +820,17 @@ func newRepository() (ret *dejavu.Repo, err error) { var cloudRepo cloud.Cloud switch Conf.Sync.Provider { case conf.ProviderSiYuan: - cloudRepo = &cloud.SiYuan{BaseCloud: &cloud.BaseCloud{Conf: cloudConf}} + cloudRepo = cloud.NewSiYuan(&cloud.BaseCloud{Conf: cloudConf}) case conf.ProviderQiniu: - cloudRepo = &cloud.Qiniu{BaseCloud: &cloud.BaseCloud{Conf: cloudConf}} + cloudRepo = cloud.NewQiniu(&cloud.BaseCloud{Conf: cloudConf}) case conf.ProviderWebDAV: webdavClient := gowebdav.NewClient(cloudConf.Endpoint, cloudConf.Username, cloudConf.Password) a := cloudConf.Username + ":" + cloudConf.Password auth := "Basic " + base64.StdEncoding.EncodeToString([]byte(a)) webdavClient.SetHeader("Authorization", auth) + webdavClient.SetHeader("User-Agent", util.UserAgent) webdavClient.SetTimeout(30 * time.Second) - cloudRepo = &cloud.WebDAV{BaseCloud: &cloud.BaseCloud{Conf: cloudConf}, Client: webdavClient} + cloudRepo = cloud.NewWebDAV(&cloud.BaseCloud{Conf: cloudConf}, webdavClient) default: err = fmt.Errorf("unknown cloud provider [%d]", Conf.Sync.Provider) return