User edit

This commit is contained in:
Eden Kirin
2023-10-26 00:13:16 +02:00
parent 21607a5c48
commit 7024cd0de9
7 changed files with 134 additions and 23 deletions

View File

@ -12,6 +12,7 @@ type UsersRepository struct {
}
type UserFilter struct {
Id *string
IsActive *bool
}
@ -22,9 +23,14 @@ func CreateUsersRepository(db *gorm.DB) *UsersRepository {
func applyFilter(db *gorm.DB, filter *UserFilter) *gorm.DB {
query := db
// if filter.State != "" {
// query = query.Where("state = ?", filter.State)
// }
if filter.Id != nil {
query = query.Where("id = ?", filter.Id)
}
if filter.IsActive != nil {
query = query.Where(map[string]interface{}{"is_active": filter.IsActive})
}
// if filter.SendAt_lt != nil {
// query = query.Where("send_at < ?", filter.SendAt_lt)
// }
@ -69,3 +75,18 @@ func (repository *UsersRepository) List(filter *UserFilter, pagination *Paginati
return &users
}
func (repository *UsersRepository) Get(filter *UserFilter) *models.User {
var user models.User
query := repository.db.Model(&models.User{})
query = applyFilter(query, filter)
query.First(&user)
return &user
}
func (repository *UsersRepository) Save(user *models.User) *models.User {
repository.db.Save(user)
return user
}