Skip to content

Commit

Permalink
add back-end flags to #19
Browse files Browse the repository at this point in the history
  • Loading branch information
hacdias committed Aug 21, 2016
1 parent c1290b1 commit 87de0ae
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 23 deletions.
1 change: 1 addition & 0 deletions config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ type Config struct {
Token string // Anti CSRF token
HugoEnabled bool // Enables the Hugo plugin for File Manager
Users map[string]*UserConfig
CurrentUser *UserConfig
}

// UserConfig contains the configuration for each user
Expand Down
22 changes: 0 additions & 22 deletions directory/file.go
Original file line number Diff line number Diff line change
Expand Up @@ -170,17 +170,6 @@ func (i *Info) serveSingleFile(w http.ResponseWriter, r *http.Request, c *config
},
}

// Set the current User
user, _, ok := r.BasicAuth()

if !ok {
page.Info.User = c.UserConfig
}

if _, ok := c.Users[user]; ok {
page.Info.User = c.Users[user]
}

if CanBeEdited(i.Name) {
editor, err := i.GetEditor()

Expand Down Expand Up @@ -261,17 +250,6 @@ func (i *Info) serveListing(w http.ResponseWriter, r *http.Request, c *config.Co
},
}

// Set the current User
user, _, ok := r.BasicAuth()

if !ok {
page.Info.User = c.UserConfig
}

if _, ok := c.Users[user]; ok {
page.Info.User = c.Users[user]
}

if r.Header.Get("Minimal") == "true" {
page.Minimal = true
}
Expand Down
33 changes: 33 additions & 0 deletions filemanager.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,20 @@ func (f FileManager) ServeHTTP(w http.ResponseWriter, r *http.Request) (int, err
code int
err error
serveAssets bool
user *config.UserConfig
)

// Set the current User
username, _, ok := r.BasicAuth()

if !ok {
user = c.UserConfig
}

if _, ok := c.Users[username]; ok {
user = c.Users[username]
}

for i := range f.Configs {
if httpserver.Path(r.URL.Path).Matches(f.Configs[i].BaseURL) {
c = &f.Configs[i]
Expand Down Expand Up @@ -102,11 +114,20 @@ func (f FileManager) ServeHTTP(w http.ResponseWriter, r *http.Request) (int, err
if fi.IsDir {
return http.StatusNotAcceptable, nil
}

if !user.AllowEdit {
return http.StatusUnauthorized, nil
}

// Update a file
return fi.Update(w, r, c)
case http.MethodPost:
// Upload a new file
if r.Header.Get("Upload") == "true" {
if !user.AllowNew {
return http.StatusUnauthorized, nil
}

return upload(w, r, c)
}
// Search and git commands
Expand All @@ -115,14 +136,26 @@ func (f FileManager) ServeHTTP(w http.ResponseWriter, r *http.Request) (int, err
}
// VCS commands
if r.Header.Get("Command") != "" {
if !user.AllowCommands {
return http.StatusUnauthorized, nil
}

return vcsCommand(w, r, c)
}
// Creates a new folder
return newDirectory(w, r, c)
case http.MethodDelete:
if !user.AllowEdit {
return http.StatusUnauthorized, nil
}

// Delete a file or a directory
return fi.Delete()
case http.MethodPatch:
if !user.AllowEdit {
return http.StatusUnauthorized, nil
}

// Rename a file or directory
return fi.Rename(w, r)
default:
Expand Down
1 change: 0 additions & 1 deletion page/page.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ type Info struct {
Path string
IsDir bool
Config *config.Config
User *config.UserConfig
Data interface{}
}

Expand Down

0 comments on commit 87de0ae

Please sign in to comment.