1
0
mirror of https://github.com/fumiama/paper-manager.git synced 2026-06-18 17:00:24 +08:00

finish register

This commit is contained in:
源文雨
2023-03-19 21:07:22 +08:00
parent bee5caaadc
commit f3757deecf
6 changed files with 92 additions and 26 deletions

27
backend/register.go Normal file
View File

@@ -0,0 +1,27 @@
package backend
import (
"errors"
"time"
"github.com/FloatTech/ttl"
"github.com/fumiama/paper-manager/backend/global"
)
var registerlimit = ttl.NewCache[string, bool](time.Minute * 10)
var (
errRegisterTooFast = errors.New("register too fast")
errInvalidIP = errors.New("invalid IP")
)
func register(ip, name, mobile, npwd string) error {
if registerlimit.Get(ip) {
return errRegisterTooFast
}
if ip == "" {
return errInvalidIP
}
registerlimit.Set(ip, true)
return global.UserDB.NotifyRegister(ip, name, mobile, npwd)
}