Docs updates and default user updates

This commit is contained in:
Henrique Dias 2017-07-20 09:52:03 +01:00
parent 58ae0e7f31
commit 0fc290f032
No known key found for this signature in database
GPG Key ID: 936F5EB68D786730
4 changed files with 29 additions and 16 deletions

View File

@ -126,8 +126,6 @@ func parse(c *caddy.Controller) ([]*config, error) {
}
fm, err := New(database, User{
Username: "admin",
Password: "admin",
AllowCommands: true,
AllowEdit: true,
AllowNew: true,

View File

@ -101,8 +101,6 @@ func parse(c *caddy.Controller) ([]*filemanager.FileManager, error) {
}
m, err := filemanager.New(database, filemanager.User{
Username: "admin",
Password: "admin",
AllowCommands: true,
AllowEdit: true,
AllowNew: true,

19
doc.go
View File

@ -6,7 +6,24 @@ you'll need to create a filemanager instance:
m, err := filemanager.New(database, user)
Where 'user' contains the default options for new users. You can just
use 'filemanager.DefaultUser'
use 'filemanager.DefaultUser' or create yourself a default user:
m, err := filemanager.New(database, filemanager.User{
Admin: false,
AllowCommands: false,
AllowEdit: true,
AllowNew: true,
Commands: []string{
"git",
},
Rules: []*filemanager.Rule{},
CSS: "",
FileSystem: webdav.Dir("/path/to/files"),
})
The credentials for the first user are always 'admin' for both the user and
the password, and they can be changed later through the settings. The first
user is always an Admin and has all of the permissions set to 'true'.
Then, you should set the Prefix URL and the Base URL, using the following
functions:

View File

@ -127,8 +127,6 @@ type Plugin interface {
// DefaultUser is used on New, when no 'base' user is provided.
var DefaultUser = User{
Username: "admin",
Password: "admin",
AllowCommands: true,
AllowEdit: true,
AllowNew: true,
@ -203,32 +201,34 @@ func New(database string, base User) (*FileManager, error) {
// If there are no users in the database, it creates a new one
// based on 'base' User that must be provided by the function caller.
if len(users) == 0 {
u := base
u.Username = "admin"
// Hashes the password.
pw, err := hashPassword(base.Password)
u.Password, err = hashPassword("admin")
if err != nil {
return nil, err
}
// The first user must be an administrator.
base.Admin = true
base.Password = pw
u.Admin = true
u.AllowCommands = true
u.AllowNew = true
u.AllowEdit = true
// Saves the user to the database.
if err := db.Save(&base); err != nil {
if err := db.Save(&u); err != nil {
return nil, err
}
m.Users[base.Username] = &base
m.Users[u.Username] = &u
}
// Attaches db to this File Manager instance.
m.db = db
// Create the default user, making a copy of the base.
u := base
u.Username = ""
u.Password = ""
m.DefaultUser = &u
m.DefaultUser = &base
return m, nil
}