func insert(store *stores.UserStore, users []*models.User) { printNames("Inserting: ", users...) for _, user := range users { // errors ignored for idempotence store.Insert(user).Execute() } }
func selectAll(store *stores.UserStore) { all, err := store.SelectAll().Execute() if err != nil { log.Fatal(err) } printNames("All Users: ", all...) }
func delete(store *stores.UserStore, user *models.User) { printNames("Deleting: ", user) existed, err := store.Delete(user.ID).Execute() if err != nil { log.Fatal(err) } if !existed { log.Fatal("User did not exist") } }
func selectAllWhere(store *stores.UserStore) { query := store.SelectAll().Where(func(u *models.User) bool { return u.Age >= 18 }) adults, err := query.Execute() if err != nil { log.Fatal(err) } printNames("Adults: ", adults...) }
func firstOrNil(store *stores.UserStore) { query := store.SelectAll().Where(func(u *models.User) bool { return u.Name == "Jane" }).FirstOrNil() jane, err := query.Execute() if err != nil { log.Fatal(err) } if jane == nil { log.Fatal("Could not find anyone named 'Jane'") } fmt.Printf("Jane is %d years old\n", jane.Age) }