31 lines
623 B
Go
31 lines
623 B
Go
package dao
|
|
|
|
func CreateUser(chatID int64) error {
|
|
if _, err := GetUserByChatID(chatID); err == nil {
|
|
return nil
|
|
}
|
|
return db.Create(&User{ChatID: chatID}).Error
|
|
}
|
|
|
|
func GetAllUsers() ([]User, error) {
|
|
var users []User
|
|
err := db.Preload("Dirs").Find(&users).Error
|
|
return users, err
|
|
}
|
|
|
|
func GetUserByChatID(chatID int64) (*User, error) {
|
|
var user User
|
|
err := db.
|
|
Preload("Dirs").
|
|
Where("chat_id = ?", chatID).First(&user).Error
|
|
return &user, err
|
|
}
|
|
|
|
func UpdateUser(user *User) error {
|
|
return db.Save(user).Error
|
|
}
|
|
|
|
func DeleteUser(user *User) error {
|
|
return db.Unscoped().Select("Dirs").Delete(user).Error
|
|
}
|