diff options
| author | Bobby <[email protected]> | 2025-12-22 13:46:50 +0530 |
|---|---|---|
| committer | Bobby <[email protected]> | 2025-12-22 13:46:50 +0530 |
| commit | 32ee8047eba06c9f1c7575b66fc0f9195657ac04 (patch) | |
| tree | ed781e7b05aeba0b5db78e69918edd6a0928c9e1 /repository | |
| parent | f17d9142781eb1a659ea53311d9225b244ad209c (diff) | |
| download | lain-32ee8047eba06c9f1c7575b66fc0f9195657ac04.tar.xz lain-32ee8047eba06c9f1c7575b66fc0f9195657ac04.zip | |
auth engine, basic login working
Diffstat (limited to 'repository')
| -rw-r--r-- | repository/preferences.go | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/repository/preferences.go b/repository/preferences.go new file mode 100644 index 0000000..1109a86 --- /dev/null +++ b/repository/preferences.go @@ -0,0 +1,35 @@ +package repository + +import ( + "lain/database" + "lain/models" + "lain/types" + + "gorm.io/gorm" +) + +func GetPreferences(formData types.LoginForm) (*models.Preferences, error) { + var preferences models.Preferences + + if err := database.DB.Where("email = ?", formData.Email).First(&preferences).Error; err != nil { + if err == gorm.ErrRecordNotFound { + return CreateDefaultPreferences(formData) + } + return nil, err + } + + return &preferences, nil +} + +func CreateDefaultPreferences(formData types.LoginForm) (*models.Preferences, error) { + preferences := models.Preferences{ + Email: formData.Email, + Authorization: formData.Password, + } + + if err := database.DB.Create(&preferences).Error; err != nil { + return nil, err + } + + return &preferences, nil +} |
