Merge options-pub into oauth
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
This commit is contained in:
@@ -15,8 +15,30 @@ import (
|
||||
|
||||
var (
|
||||
authToken = config.AuthToken()
|
||||
resAnn = config.OptAnn()
|
||||
)
|
||||
|
||||
func AnnCheck() {
|
||||
if resAnn == "false" {
|
||||
log.Println("[Segfautils] ℹ Announcements are disabled")
|
||||
http.HandleFunc("/announcements", func(w http.ResponseWriter, r *http.Request) {
|
||||
http.Error(w, "Announcements are disabled.", http.StatusServiceUnavailable)
|
||||
})
|
||||
http.HandleFunc("/api/announcements", func(w http.ResponseWriter, r *http.Request) {
|
||||
http.Error(w, "{\"enabled\": \"false\"}", http.StatusServiceUnavailable)
|
||||
})
|
||||
} else {
|
||||
AnnPage()
|
||||
Announcements()
|
||||
}
|
||||
}
|
||||
|
||||
func AnnPage() {
|
||||
http.HandleFunc("/announcements", func(w http.ResponseWriter, r *http.Request) {
|
||||
http.ServeFile(w, r, "static/announcements.html")
|
||||
})
|
||||
}
|
||||
|
||||
func Announcements() {
|
||||
http.HandleFunc("/api/announcements", getAnnouncements)
|
||||
http.HandleFunc("/api/announcements/post", handleAnnouncements)
|
||||
@@ -39,6 +61,7 @@ func handleAnnouncements(w http.ResponseWriter, r *http.Request) {
|
||||
w.WriteHeader(http.StatusOK)
|
||||
now := time.Now().Unix()
|
||||
data := map[string]interface{}{
|
||||
"enabled": "true",
|
||||
"title": r.FormValue("title"),
|
||||
"link": r.FormValue("link"),
|
||||
"severity": r.FormValue("severity"),
|
||||
|
||||
39
api/form.go
39
api/form.go
@@ -1,18 +1,16 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
"log"
|
||||
"net/http"
|
||||
|
||||
"github.com/kataras/hcaptcha"
|
||||
|
||||
"fmt"
|
||||
|
||||
"io"
|
||||
"net/url"
|
||||
"text/template"
|
||||
|
||||
"github.com/ProjectSegfault/segfautils/config"
|
||||
"github.com/ProjectSegfault/segfautils/utils"
|
||||
"github.com/kataras/hcaptcha"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -20,8 +18,37 @@ var (
|
||||
secretKey = config.HCaptchaSecretKey()
|
||||
webhookURL = config.WebhookURL()
|
||||
client = hcaptcha.New(secretKey) /* See `Client.FailureHandler` too. */
|
||||
resForm = config.OptForm()
|
||||
)
|
||||
|
||||
func FormCheck() {
|
||||
if resForm == "false" {
|
||||
log.Println("[Segfautils] ℹ Contact form is disabled")
|
||||
http.HandleFunc("/form", func(w http.ResponseWriter, r *http.Request) {
|
||||
http.Error(w, "Form is disabled.", http.StatusServiceUnavailable)
|
||||
})
|
||||
} else {
|
||||
FormPage()
|
||||
Form()
|
||||
}
|
||||
}
|
||||
|
||||
func FormPage() {
|
||||
type StaticThing struct {
|
||||
HCaptchaSiteKey string
|
||||
}
|
||||
|
||||
tmpl_form := template.Must(template.ParseFiles("static/form.html"))
|
||||
http.HandleFunc("/form/", func(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
hcaptcha_site_key := config.HCaptchaSiteKey()
|
||||
data := StaticThing{
|
||||
HCaptchaSiteKey: hcaptcha_site_key,
|
||||
}
|
||||
tmpl_form.Execute(w, data)
|
||||
})
|
||||
}
|
||||
|
||||
func Form() {
|
||||
http.HandleFunc("/api/form", client.HandlerFunc(theActualFormCode))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user