1
0
mirror of https://github.com/fumiama/paper-manager.git synced 2026-06-07 08:50:23 +08:00

finish accept message

This commit is contained in:
源文雨
2023-03-19 23:14:40 +08:00
parent 7d9b1456c4
commit 7abe88c190
4 changed files with 67 additions and 1 deletions

View File

@@ -1,11 +1,17 @@
package backend
import (
"errors"
"time"
"github.com/fumiama/paper-manager/backend/global"
)
var (
errInvalidMessageID = errors.New("invalid message id")
errNothingToDo = errors.New("nothing to do")
)
type messageList struct {
ID int `json:"id"`
Avatar string `json:"avatar"`
@@ -47,3 +53,34 @@ func getMessageList(token string) ([]messageList, error) {
}
return ml, nil
}
func acceptMessage(token string, id int) error {
user := usertokens.Get(token)
if user == nil {
return errInvalidToken
}
m, err := global.UserDB.GetMessageByID(id)
if err != nil {
return err
}
if m.ToID != *user.ID {
return errInvalidMessageID
}
switch m.Type() {
case global.MessageRegister:
return global.UserDB.AddUser(&global.User{
Role: global.RoleUser,
Pswd: m.Pswd,
Name: m.Name,
Cont: m.Cont,
}, user.Name)
case global.MessageResetPassword:
u, err := global.UserDB.GetUserByName(m.Name)
if err != nil {
return err
}
return global.UserDB.UpdateUserPassword(*u.ID, "123456")
default:
return errNothingToDo
}
}