Skip to content

Commit

Permalink
Revert changes in json driver
Browse files Browse the repository at this point in the history
  • Loading branch information
ishank011 committed Feb 24, 2021
1 parent 3625d6f commit 9a7780d
Showing 1 changed file with 35 additions and 25 deletions.
60 changes: 35 additions & 25 deletions pkg/publicshare/manager/json/json.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,30 @@ import (
"go.opencensus.io/trace"
)

type janitor struct {
m *manager
interval time.Duration
}

func (j *janitor) run() {
ticker := time.NewTicker(j.interval)
work := make(chan os.Signal, 1)
signal.Notify(work, syscall.SIGHUP, syscall.SIGINT, syscall.SIGQUIT)

for {
select {
case <-work:
return
case <-ticker.C:
j.m.cleanupExpiredShares()
}
}
}

var j = janitor{
interval: time.Minute, // TODO we want this interval configurable
}

func init() {
registry.Register("json", New)
}
Expand Down Expand Up @@ -90,15 +114,15 @@ func New(c map[string]interface{}) (publicshare.Manager, error) {
}
}

go m.startJanitorRun()
j.m = &m
go j.run()

return &m, nil
}

type config struct {
File string `mapstructure:"file"`
SharePasswordHashCost int `mapstructure:"password_hash_cost"`
JanitorRunInterval int `mapstructure:"janitor_run_interval"`
}

func (c *config) init() {
Expand All @@ -108,34 +132,15 @@ func (c *config) init() {
if c.SharePasswordHashCost == 0 {
c.SharePasswordHashCost = 11
}
if c.JanitorRunInterval == 0 {
c.JanitorRunInterval = 60
}
}

type manager struct {
mutex *sync.Mutex
file string

marshaler jsonpb.Marshaler
unmarshaler jsonpb.Unmarshaler
passwordHashCost int
janitorRunInterval int
}

func (m *manager) startJanitorRun() {
ticker := time.NewTicker(time.Duration(m.janitorRunInterval) * time.Second)
work := make(chan os.Signal, 1)
signal.Notify(work, syscall.SIGHUP, syscall.SIGINT, syscall.SIGQUIT)

for {
select {
case <-work:
return
case <-ticker.C:
m.cleanupExpiredShares()
}
}
marshaler jsonpb.Marshaler
unmarshaler jsonpb.Unmarshaler
passwordHashCost int
}

// CreatePublicShare adds a new entry to manager.shares
Expand Down Expand Up @@ -168,6 +173,11 @@ func (m *manager) CreatePublicShare(ctx context.Context, u *user.User, rInfo *pr
Nanos: uint32(now % 1000000000),
}

modifiedAt := &typespb.Timestamp{
Seconds: uint64(now / 1000000000),
Nanos: uint32(now % 1000000000),
}

s := link.PublicShare{
Id: id,
Owner: rInfo.GetOwner(),
Expand All @@ -176,7 +186,7 @@ func (m *manager) CreatePublicShare(ctx context.Context, u *user.User, rInfo *pr
Token: tkn,
Permissions: g.Permissions,
Ctime: createdAt,
Mtime: createdAt,
Mtime: modifiedAt,
PasswordProtected: passwordProtected,
Expiration: g.Expiration,
DisplayName: displayName,
Expand Down

0 comments on commit 9a7780d

Please sign in to comment.