feat(users): add account limits and API keys
All checks were successful
Build and Publish Docker Image / deploy (push) Successful in 1m43s
All checks were successful
Build and Publish Docker Image / deploy (push) Successful in 1m43s
This commit is contained in:
@@ -17,6 +17,7 @@ import (
|
||||
"warpbox/lib/config"
|
||||
"warpbox/lib/routing"
|
||||
"warpbox/lib/security"
|
||||
"warpbox/lib/userstore"
|
||||
)
|
||||
|
||||
type App struct {
|
||||
@@ -26,6 +27,7 @@ type App struct {
|
||||
alertStore *alerts.Store
|
||||
securityGuard *security.Guard
|
||||
appVersion string
|
||||
userStore *userstore.Store
|
||||
}
|
||||
|
||||
func Run(addr string) error {
|
||||
@@ -61,6 +63,11 @@ func Run(addr string) error {
|
||||
securityGuard: security.NewGuard(),
|
||||
appVersion: currentAppVersion(),
|
||||
}
|
||||
userStore, err := userstore.NewStore(filepath.Join(cfg.DBDir, "users.json"))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
app.userStore = userStore
|
||||
if err := app.reloadSecurityConfig(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -99,6 +106,11 @@ func Run(addr string) error {
|
||||
AdminBoxes: app.handleAdminBoxes,
|
||||
AdminBoxesAction: app.handleAdminBoxesAction,
|
||||
AdminUsers: app.handleAdminUsers,
|
||||
AdminUsersList: app.handleAdminUsersList,
|
||||
AdminUsersSave: app.handleAdminUsersSave,
|
||||
AdminUsersDelete: app.handleAdminUsersDelete,
|
||||
AdminUserKeyCreate: app.handleAdminUserAPIKeyCreate,
|
||||
AdminUserKeyRevoke: app.handleAdminUserAPIKeyRevoke,
|
||||
AdminActivity: app.handleAdminActivity,
|
||||
AdminSecurity: app.handleAdminSecurity,
|
||||
AdminAlertsAction: app.handleAdminAlertsAction,
|
||||
@@ -109,6 +121,10 @@ func Run(addr string) error {
|
||||
AdminSettingsImport: app.handleAdminSettingsImport,
|
||||
AdminSettingsReset: app.handleAdminSettingsReset,
|
||||
AdminAuth: app.adminAuthMiddleware,
|
||||
UserLogin: app.handleUserLogin,
|
||||
UserLogout: app.handleUserLogout,
|
||||
UserMe: app.handleUserMe,
|
||||
UserCreateAPIKey: app.handleSelfCreateAPIKey,
|
||||
})
|
||||
|
||||
compressed := router.Group("/", gzip.Gzip(gzip.DefaultCompression))
|
||||
|
||||
Reference in New Issue
Block a user