diff --git a/src/depidx/deps.go b/src/depidx/deps.go index b15e2e9..573718a 100644 --- a/src/depidx/deps.go +++ b/src/depidx/deps.go @@ -5,6 +5,7 @@ import ( "go.uber.org/zap" "github.com/ihexxa/quickshare/src/cryptoutil" + "github.com/ihexxa/quickshare/src/fileinfostore" "github.com/ihexxa/quickshare/src/fs" "github.com/ihexxa/quickshare/src/idgen" "github.com/ihexxa/quickshare/src/iolimiter" @@ -21,14 +22,15 @@ type IUploader interface { } type Deps struct { - fs fs.ISimpleFS - token cryptoutil.ITokenEncDec - kv kvstore.IKVStore - users userstore.IUserStore - uploader IUploader - id idgen.IIDGen - logger *zap.SugaredLogger - limiter iolimiter.ILimiter + fs fs.ISimpleFS + token cryptoutil.ITokenEncDec + kv kvstore.IKVStore + users userstore.IUserStore + fileInfos fileinfostore.IFileInfoStore + uploader IUploader + id idgen.IIDGen + logger *zap.SugaredLogger + limiter iolimiter.ILimiter } func NewDeps(cfg gocfg.ICfg) *Deps { @@ -83,6 +85,14 @@ func (deps *Deps) SetUsers(users userstore.IUserStore) { deps.users = users } +func (deps *Deps) FileInfos() fileinfostore.IFileInfoStore { + return deps.fileInfos +} + +func (deps *Deps) SetFileInfos(fileInfos fileinfostore.IFileInfoStore) { + deps.fileInfos = fileInfos +} + func (deps *Deps) Limiter() iolimiter.ILimiter { return deps.limiter } diff --git a/src/fileinfostore/file_info_store.go b/src/fileinfostore/file_info_store.go index 1f299c2..01f74c9 100644 --- a/src/fileinfostore/file_info_store.go +++ b/src/fileinfostore/file_info_store.go @@ -1,4 +1,4 @@ -package userstore +package fileinfostore import ( "github.com/ihexxa/quickshare/src/kvstore" diff --git a/src/fileinfostore/file_info_store_test.go b/src/fileinfostore/file_info_store_test.go index df33c06..3e0a8bc 100644 --- a/src/fileinfostore/file_info_store_test.go +++ b/src/fileinfostore/file_info_store_test.go @@ -1,4 +1,4 @@ -package userstore +package fileinfostore import ( "io/ioutil" diff --git a/src/server/server.go b/src/server/server.go index 62e66d6..a473911 100644 --- a/src/server/server.go +++ b/src/server/server.go @@ -21,6 +21,7 @@ import ( "github.com/ihexxa/quickshare/src/cryptoutil/jwt" "github.com/ihexxa/quickshare/src/depidx" + "github.com/ihexxa/quickshare/src/fileinfostore" "github.com/ihexxa/quickshare/src/fs" "github.com/ihexxa/quickshare/src/fs/local" "github.com/ihexxa/quickshare/src/handlers/fileshdr" @@ -104,6 +105,10 @@ func initDeps(cfg gocfg.ICfg) *depidx.Deps { if err != nil { panic(fmt.Sprintf("fail to init user store: %s", err)) } + fileInfos, err := fileinfostore.NewFileInfoStore(kv) + if err != nil { + panic(fmt.Sprintf("fail to init file info store: %s", err)) + } limiterCap := cfg.IntOr("Users.LimiterCapacity", 10000) limiterCyc := cfg.IntOr("Users.LimiterCyc", 1000) @@ -114,6 +119,7 @@ func initDeps(cfg gocfg.ICfg) *depidx.Deps { deps.SetToken(jwtEncDec) deps.SetKV(kv) deps.SetUsers(users) + deps.SetFileInfos(fileInfos) deps.SetID(ider) deps.SetLog(logger) deps.SetLimiter(limiter)