Documentation ¶
Overview ¶
Package cmd contains all cli commands, their arguments and tests to them
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddUser ¶
type AddUser struct { Location string `long:"location" env:"LOCATION" description:"location of all db files" required:"true"` User struct { ID string `long:"id" env:"ID" required:"false"` Email string `long:"email" env:"EMAIL" required:"true"` Password string `long:"password" env:"PASSWORD" required:"true" ` Privileges string `long:"privileges" env:"PRIVILEGES" required:"true" description:"JSON-specified list of privileges"` } `group:"user" namespace:"user" env-namespace:"USER"` BCryptCost int `long:"bcrypt_cost" env:"BCRYPT_COST" description:"bcrypt cost for hashing user password" default:"10"` DBConnStr string `long:"db_conn_str" env:"DB_CONN_STR" required:"true" description:"connection string to db"` CommonOpts }
AddUser adds user to the database with the specified user data
type AdminGroup ¶
type AdminGroup struct { Email string `long:"email" env:"EMAIL" description:"default admin email" required:"true"` Password string `long:"password" env:"PASSWORD" description:"default admin password" required:"true"` }
AdminGroup defines options group for admin params
type CommonOptionsCommander ¶
type CommonOptionsCommander interface { SetCommon(commonOpts CommonOpts) Execute(args []string) error }
CommonOptionsCommander extends flags.Commander with SetCommon All commands should implement this interfaces
type CommonOpts ¶
type CommonOpts struct {
Version string
}
CommonOpts sets externally from main, shared across all commands
func (*CommonOpts) SetCommon ¶
func (c *CommonOpts) SetCommon(opts CommonOpts)
SetCommon satisfies CommonOptionsCommander interface and sets common option fields The method called by main for each command
type DirectProvider ¶
type DirectProvider struct {
*provider.DirectHandler
}
DirectProvider overrides the LoginHandler to allow to pass the token string inside the response body fixme A HUGE KLUDGE
func (*DirectProvider) LoginHandler ¶
func (p *DirectProvider) LoginHandler(w http.ResponseWriter, r *http.Request)
LoginHandler just does the same as provider.DirectHandler.LoginHandler but adds the token string inside the response body
type SMTPGroup ¶
type SMTPGroup struct { Host string `long:"host" env:"HOST" description:"SMTP host"` Port int `long:"port" env:"PORT" description:"SMTP port"` Username string `long:"username" env:"USERNAME" description:"SMTP username"` Password string `long:"password" env:"PASSWORD" description:"SMTP password"` TLS bool `long:"tls" env:"TLS" description:"enable TLS"` Timeout time.Duration `long:"timeout" env:"TIMEOUT" default:"10s" description:"SMTP TCP connection timeout"` From string `long:"from" env:"FROM" required:"true" description:"from email address"` }
SMTPGroup defines options for SMTP server connection, used in auth and notify modules
type Server ¶
type Server struct { Location string `long:"location" env:"LOCATION" description:"location of all db files" required:"true"` ServiceURL string `long:"service_url" env:"SERVICE_URL" description:"http service url" required:"true"` Port int `long:"service_port" env:"SERVICE_PORT" description:"http server port" default:"8080"` Auth struct { TTL struct { JWT time.Duration `long:"jwt" env:"JWT" default:"5m" description:"jwt TTL"` Cookie time.Duration `long:"cookie" env:"COOKIE" default:"200h" description:"auth cookie TTL"` } `group:"ttl" namespace:"ttl" env-namespace:"TTL"` Secret string `long:"secret" env:"SECRET" description:"secret for authentication tokens" required:"true"` BCryptCost int `long:"bcrypt_cost" env:"BCRYPT_COST" description:"bcrypt cost for hashing user password" default:"10"` } `group:"auth" namespace:"auth" env-namespace:"AUTH"` DBConnStr string `long:"db_conn_str" env:"DB_CONN_STR" required:"true" description:"connection string to db"` Admin AdminGroup `group:"admin" namespace:"admin" env-namespace:"ADMIN"` CommonOpts }
Server runs REST API web server