package dbhandler import ( "git.acooldomain.co/server-manager/backend-kubernetes-go/models" "golang.org/x/crypto/bcrypt" ) func HashPassword(password string) (string, error) { bytes, err := bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost) return string(bytes), err } type InviteUserRequest struct { Email string `json:"email"` InvitingUser string `json:"inviting_user"` Permissions models.Permission `json:"permissions"` } type InviteToken struct { Email string `json:"email"` Permissions models.Permission `json:"permissions"` Token string `json:"token"` } type UserSignupRequest struct { Token InviteToken `json:"token"` Username string `json:"username"` Password string `json:"password"` } type UserPassAuthanticationDbHandler interface { AuthenticateUser(username string, password string) (models.Permission, error) CreateUser(username string, password string, permissions models.Permission) error RemoveUser(username string) error SetPermissions(username string, permissions models.Permission) error SetPassword(username string, password string) error } type InviteTokenDbHandler interface { SaveInviteToken(token string, email string, permissions models.Permission) error GetInviteToken(token string) (*InviteToken, error) }