github.com/monkeswag33/noter-go@v0.0.0-20220505233910-9d72ccb0bdb6/db/new.go (about) 1 package db 2 3 func (db *DB) CreateUser(user *User) error { 4 if err := db.DB.Create(user).Error; err != nil { 5 return err 6 } 7 return nil 8 } 9 10 func (db *DB) CreateNote(note *Note) error { 11 var user User 12 if err := db.DB.First(&user, "username = ?", note.User.Username).Error; err != nil { 13 return err 14 } 15 note.User = user 16 if err := db.DB.Create(note).Error; err != nil { 17 return err 18 } 19 return nil 20 } 21 22 func (db *DB) CheckUserExists(conditions User) (bool, error) { 23 var count int64 24 if err := db.DB.Model(&User{}).Where(&conditions).Count(&count).Error; err != nil { 25 return false, err 26 } 27 if count == 1 { 28 return true, nil 29 } else { 30 return false, nil 31 } 32 } 33 34 func (db *DB) CheckNoteExists(conditions Note) (bool, error) { 35 var count int64 36 if err := db.DB.Model(&Note{}).Where(&conditions).Count(&count).Error; err != nil { 37 return false, err 38 } 39 if count == 1 { 40 return true, nil 41 } else { 42 return false, nil 43 } 44 }