35 lines
841 B
Go
35 lines
841 B
Go
package repo
|
|
|
|
import (
|
|
"gorm.io/gorm"
|
|
"work_cation/models"
|
|
)
|
|
|
|
type userFollowRepo struct{}
|
|
|
|
var UserFollow = &userFollowRepo{}
|
|
|
|
func (u *userFollowRepo) Follow(db *gorm.DB, user *models.UserFollows) error {
|
|
return db.Create(user).Error
|
|
}
|
|
|
|
func (u *userFollowRepo) GetUser(db *gorm.DB, uuid string) *models.UserFollows {
|
|
var user models.UserFollows
|
|
err := db.Model(&models.UserFollows{}).Where("id = ?", uuid).Find(&user).Error
|
|
if err != nil {
|
|
return nil
|
|
}
|
|
if user.ID == "" {
|
|
return nil
|
|
}
|
|
return &user
|
|
}
|
|
func (u *userFollowRepo) UnFollow(db *gorm.DB, user *models.UserFollows) error {
|
|
return db.Where("id = ?", user.ID).Delete(user).Error
|
|
}
|
|
func (u *userFollowRepo) All(db *gorm.DB) ([]models.UserFollows, error) {
|
|
var users []models.UserFollows
|
|
err := db.Model(&models.UserFollows{}).Find(&users).Error
|
|
return users, err
|
|
}
|