You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Open-IM-Server/pkg/common/db/controller/friend.go

61 lines
1.9 KiB

package controller
import (
"Open_IM/pkg/common/db/cache"
"Open_IM/pkg/common/db/relation"
"context"
"errors"
"gorm.io/gorm"
)
type FriendModel struct {
db *relation.Friend
cache *cache.GroupCache
}
func (f *FriendModel) Create(ctx context.Context, friends []*relation.Friend) (err error) {
return f.db.Create(ctx, friends)
}
func (f *FriendModel) Delete(ctx context.Context, ownerUserID string, friendUserIDs string) (err error) {
return f.db.Delete(ctx, ownerUserID, friendUserIDs)
}
func (f *FriendModel) UpdateByMap(ctx context.Context, ownerUserID string, args map[string]interface{}) (err error) {
return f.db.UpdateByMap(ctx, ownerUserID, args)
}
func (f *FriendModel) Update(ctx context.Context, friends []*relation.Friend) (err error) {
return f.db.Update(ctx, friends)
}
func (f *FriendModel) UpdateRemark(ctx context.Context, ownerUserID, friendUserID, remark string) (err error) {
return f.db.UpdateRemark(ctx, ownerUserID, friendUserID, remark)
}
func (f *FriendModel) FindOwnerUserID(ctx context.Context, ownerUserID string) (friends []*relation.Friend, err error) {
return f.db.FindOwnerUserID(ctx, ownerUserID)
}
func (f *FriendModel) FindFriendUserID(ctx context.Context, friendUserID string) (friends []*relation.Friend, err error) {
return f.db.FindFriendUserID(ctx, friendUserID)
}
func (f *FriendModel) Take(ctx context.Context, ownerUserID, friendUserID string) (friend *relation.Friend, err error) {
return f.db.Take(ctx, ownerUserID, friendUserID)
}
func (f *FriendModel) FindUserState(ctx context.Context, userID1, userID2 string) (friends []*relation.Friend, err error) {
return f.db.FindUserState(ctx, userID1, userID2)
}
func (f *FriendModel) IsExist(ctx context.Context, ownerUserID, friendUserID string) (bool, error) {
if _, err := f.Take(ctx, ownerUserID, friendUserID); err == nil {
return true, nil
} else if errors.Is(err, gorm.ErrRecordNotFound) {
return false, nil
} else {
return false, err
}
}