kopia lustrzana https://github.com/reiver/greatape
32 wiersze
773 B
Go
32 wiersze
773 B
Go
![]() |
package repos
|
||
|
|
||
|
import (
|
||
|
"gorm.io/gorm"
|
||
|
)
|
||
|
|
||
|
// Following struct defines an account that the user follows
|
||
|
type Following struct {
|
||
|
gorm.Model
|
||
|
Target string `gorm:"not null"`
|
||
|
Handle string `gorm:"not null"`
|
||
|
}
|
||
|
|
||
|
// CreateFollowing creates a new entry in the following's table
|
||
|
func (repo *repository) CreateFollowing(following *Following) error {
|
||
|
if err := repo.Storage.Create(following).Error; err != nil {
|
||
|
return err
|
||
|
}
|
||
|
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
// FindFollowing finds what accounts the user is following
|
||
|
func (repo *repository) FindFollowing(userIden interface{}) ([]Following, error) {
|
||
|
followings := &[]Following{}
|
||
|
if err := repo.Storage.Model(&Following{}).Find(followings, "`target` = ?", userIden).Error; err != nil {
|
||
|
return *followings, err
|
||
|
}
|
||
|
|
||
|
return *followings, nil
|
||
|
}
|