Implement greet inbox and outbox
- Add user_greet model and startup table sync - Implement /greet/user and /greet/delete handlers - Implement noticeFriendGreeting inbox and noticeUserGreetingHistory outbox - Return peer profile and center unit info for greeting notices - Update login topInfo friend greet counters from unread inbox messages Signed-off-by: Sean Du <do4suki@gmail.com>
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
package greet
|
||||
|
||||
import (
|
||||
"errors"
|
||||
usermodel "honoka-chan/internal/model/user"
|
||||
"honoka-chan/internal/session"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
func resolveGreetingUserID(ss *session.Session, requestedUserID int) (int, error) {
|
||||
if requestedUserID <= 0 {
|
||||
return 0, errors.New("invalid user_id")
|
||||
}
|
||||
|
||||
pref := usermodel.UserPref{}
|
||||
has, err := ss.UserEng.Table(new(usermodel.UserPref)).
|
||||
Where("invite_code = ?", strconv.Itoa(requestedUserID)).
|
||||
Cols("user_id").
|
||||
Get(&pref)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
if has && pref.UserID > 0 {
|
||||
return pref.UserID, nil
|
||||
}
|
||||
|
||||
user := usermodel.Users{}
|
||||
has, err = ss.UserEng.Table(new(usermodel.Users)).
|
||||
Where("user_id = ?", requestedUserID).
|
||||
Cols("user_id").
|
||||
Get(&user)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
if !has || user.UserID <= 0 {
|
||||
return 0, errors.New("user not found")
|
||||
}
|
||||
|
||||
return user.UserID, nil
|
||||
}
|
||||
Reference in New Issue
Block a user