mirror of https://github.com/velour/catbase.git
37 lines
775 B
Go
37 lines
775 B
Go
|
package emojy
|
||
|
|
||
|
import (
|
||
|
"embed"
|
||
|
"encoding/json"
|
||
|
"github.com/go-chi/chi/v5"
|
||
|
"github.com/rs/zerolog/log"
|
||
|
"net/http"
|
||
|
)
|
||
|
|
||
|
//go:embed *.html
|
||
|
var embeddedFS embed.FS
|
||
|
|
||
|
func (p *EmojyPlugin) registerWeb() {
|
||
|
r := chi.NewRouter()
|
||
|
r.HandleFunc("/all", p.handleAll)
|
||
|
r.HandleFunc("/", p.handleIndex)
|
||
|
p.b.RegisterWebName(r, "/emojy", "Emojys")
|
||
|
}
|
||
|
|
||
|
func (p *EmojyPlugin) handleIndex(w http.ResponseWriter, r *http.Request) {
|
||
|
index, _ := embeddedFS.ReadFile("index.html")
|
||
|
w.Write(index)
|
||
|
}
|
||
|
|
||
|
func (p *EmojyPlugin) handleAll(w http.ResponseWriter, r *http.Request) {
|
||
|
emojy, err := p.all()
|
||
|
if err != nil {
|
||
|
w.WriteHeader(500)
|
||
|
log.Error().Err(err).Msgf("handleAll")
|
||
|
out, _ := json.Marshal(struct{ err error }{err})
|
||
|
w.Write(out)
|
||
|
}
|
||
|
out, _ := json.Marshal(emojy)
|
||
|
w.Write(out)
|
||
|
}
|