1
0
mirror of https://github.com/fumiama/paper-manager.git synced 2026-06-04 23:40:24 +08:00
Files
paper-manager/backend/regex.go
2023-05-10 00:34:02 +08:00

50 lines
1.3 KiB
Go

package backend
import (
"encoding/json"
"net/http"
"github.com/fumiama/paper-manager/backend/global"
)
func getUserRegex(token string) (*global.Regex, error) {
user := usertokens.Get(token)
if user == nil {
return nil, errInvalidToken
}
return global.UserDB.GetUserRegex(user, *user.ID)
}
func init() {
apimap["/api/getUserRegex"] = &apihandler{"GET", func(w http.ResponseWriter, r *http.Request) {
reg, err := getUserRegex(r.Header.Get("Authorization"))
if err != nil {
writeresult(w, codeError, nil, err.Error(), typeError)
return
}
writeresult(w, codeSuccess, reg, messageOk, typeSuccess)
}}
apimap["/api/setUserRegex"] = &apihandler{"POST", func(w http.ResponseWriter, r *http.Request) {
token := r.Header.Get("Authorization")
user := usertokens.Get(token)
if user == nil {
writeresult(w, codeError, nil, errInvalidToken.Error(), typeError)
return
}
defer r.Body.Close()
reg := &global.Regex{}
err := json.NewDecoder(r.Body).Decode(reg)
if err != nil {
writeresult(w, codeError, nil, err.Error(), typeError)
return
}
err = global.UserDB.SetUserRegex(*user.ID, reg)
if err != nil {
writeresult(w, codeError, nil, err.Error(), typeError)
return
}
writeresult(w, codeSuccess, "成功", messageOk, typeSuccess)
}}
}