// Updates the user's password in the database. func ApiSettingsPassword(w http.ResponseWriter, r *http.Request, ps httprouter.Params) { if !lib.IsLoggedIn(r) { SendJsonMessage(w, http.StatusUnauthorized, false, "Unauthorized.") return } // Get data from Request r.ParseForm() value := r.Form.Get("password") // Simple Validation if value == "" { SendJsonMessage(w, http.StatusBadRequest, false, "Unable to process your Request: Submit a valid value.") return } // Update Password admin := lib.Admin{} err := admin.ChangePassword(value) if err != nil { SendJsonMessage(w, http.StatusInternalServerError, false, "Unable to process your Request: "+err.Error()) return } SendJsonMessage(w, http.StatusOK, true, "") }
// Processes a login-request and sends an authentication-cookie to the browser. func ApiAuthLogin(w http.ResponseWriter, r *http.Request, ps httprouter.Params) { if lib.IsLoggedIn(r) { SendJsonMessage(w, http.StatusBadRequest, false, "Already logged in.") return } // Get data from Request r.ParseForm() value := r.Form.Get("password") // Check Password admin := lib.Admin{} if admin.ValidatePassword(value) { cookie := lib.LoginAndGetCookie("admin") http.SetCookie(w, &cookie) SendJsonMessage(w, http.StatusOK, true, "") } else { SendJsonMessage(w, http.StatusBadRequest, false, "Unable to process your Request: Invalid Password.") } }
// UpAndRunning2 Main - The application's entrance-point func main() { // Logger lib.SetupLogger() // Welcome logging.MustGetLogger("").Info("Welcome to UpAndRunning2 v" + VERSION + " [" + goVersion + "@" + goArch + "]!") // Config lib.ReadConfigurationFromFile("config/local.json") lib.SetStaticConfiguration(lib.StaticConfiguration{VERSION, goVersion, goArch}) // Database lib.OpenDatabase(lib.GetConfiguration().Database) // Config (again) lib.ReadConfigurationFromDatabase(lib.GetDatabase()) // Admin-User admin := lib.Admin{} admin.Init() // Session-Management lib.InitSessionManagement() // Additional Libraries goreq.SetConnectTimeout(5 * time.Second) lib.InitHttpStatusCodeMap() go lib.RunTelegramBot() // Start Checking and Serving checkAllSites() startCheckTimer() startCleaningTimer() serveRequests() lib.GetDatabase().Close() }