diff --git a/internal/database/db.go b/internal/database/db.go index 48e78f6..f0f2da7 100644 --- a/internal/database/db.go +++ b/internal/database/db.go @@ -43,48 +43,3 @@ func ConnectToDB() (*gorm.DB, error) { } -//================================================================| User - - -func RegisterUser(db *gorm.DB, username, password string) error { - var passwordHashed string = HashPassword(password) - // Creating user => Files []File ommited since it has no files uploaded yet - var user = User{ - Username: username, - PasswordHash: passwordHashed, - } - - var result = db.Create(&user) - - if result.Error != nil { - fmt.Println("[!] Error in register is: ", result.Error) - } - - return result.Error -} - - -func IsValidUser(db *gorm.DB, username, password string) error { - var user User - var passwordHashed string = HashPassword(password) - - var result = db.Where("Username = ?", username).First(&user) - if result.Error != nil { - RegisterUser(db, username, password) - return nil - } - - if passwordHashed != user.PasswordHash { - return fmt.Errorf("Password Wrong") // password not right - } - - return nil -} - - -func RegisterFile(db *gorm.DB, user User, name string) error { - var file File = File{Name: name, UserID: user.ID, Author: user} - - var result = db.Create(&file) - return result.Error -} diff --git a/internal/database/files.go b/internal/database/files.go new file mode 100644 index 0000000..0d48de5 --- /dev/null +++ b/internal/database/files.go @@ -0,0 +1,12 @@ +package database + +import ( + "gorm.io/gorm" +) + +func RegisterFile(db *gorm.DB, user User, name string) error { + var file File = File{Name: name, UserID: user.ID, Author: user} + + var result = db.Create(&file) + return result.Error +} diff --git a/internal/database/user.go b/internal/database/user.go new file mode 100644 index 0000000..97c3814 --- /dev/null +++ b/internal/database/user.go @@ -0,0 +1,41 @@ +package database + +import ( + "fmt" + "gorm.io/gorm" +) + +func RegisterUser(db *gorm.DB, username, password string) error { + var passwordHashed string = HashPassword(password) + // Creating user => Files []File ommited since it has no files uploaded yet + var user = User{ + Username: username, + PasswordHash: passwordHashed, + } + + var result = db.Create(&user) + + if result.Error != nil { + fmt.Println("[!] Error in register is: ", result.Error) + } + + return result.Error +} + + +func IsValidUser(db *gorm.DB, username, password string) error { + var user User + var passwordHashed string = HashPassword(password) + + var result = db.Where("Username = ?", username).First(&user) + if result.Error != nil { + RegisterUser(db, username, password) // if user doesnt exists, it is created :) + return nil + } + + if passwordHashed != user.PasswordHash { + return fmt.Errorf("Password Wrong") + } + + return nil +}