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  }