photoprism/internal/commands/users.go

70 lines
1.5 KiB
Go
Raw Normal View History

package commands
import (
"github.com/urfave/cli"
"github.com/photoprism/photoprism/internal/acl"
)
// Usage hints for the user management subcommands.
const (
UserNameUsage = "full `NAME` for display in the interface"
UserEmailUsage = "unique `EMAIL` address of the user"
UserPasswordUsage = "`PASSWORD` for authentication"
UserRoleUsage = "user account `ROLE`"
UserAttrUsage = "custom user account `ATTRIBUTES`"
UserAdminUsage = "make user super admin with full access"
UserNoLoginUsage = "disable login on the web interface"
UserCanSyncUsage = "allow to sync files via WebDAV"
)
// UsersCommand registers the user management subcommands.
var UsersCommand = cli.Command{
Name: "users",
Usage: "User management subcommands",
Subcommands: []cli.Command{
UsersListCommand,
UsersAddCommand,
UsersShowCommand,
UsersModCommand,
UsersRemoveCommand,
},
}
// UserFlags specifies the add and modify user command flags.
var UserFlags = []cli.Flag{
cli.StringFlag{
Name: "name, n",
Usage: UserNameUsage,
},
cli.StringFlag{
Name: "email, m",
Usage: UserEmailUsage,
},
cli.StringFlag{
Name: "password, p",
Usage: UserPasswordUsage,
},
cli.StringFlag{
Name: "role, r",
Usage: UserRoleUsage,
Value: acl.RoleAdmin.String(),
},
cli.StringFlag{
Name: "attr, a",
Usage: UserAttrUsage,
},
cli.BoolFlag{
Name: "superadmin, s",
Usage: UserAdminUsage,
},
cli.BoolFlag{
Name: "no-login, l",
Usage: UserNoLoginUsage,
},
cli.BoolFlag{
Name: "can-sync, w",
Usage: UserCanSyncUsage,
},
}