summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--database/migrate.go1
-rw-r--r--models/folders.go19
-rw-r--r--repository/preferences.go12
3 files changed, 32 insertions, 0 deletions
diff --git a/database/migrate.go b/database/migrate.go
index 0faf9d9..a968a83 100644
--- a/database/migrate.go
+++ b/database/migrate.go
@@ -5,6 +5,7 @@ import "lain/models"
func migrate() error {
err := DB.AutoMigrate(
&models.Preferences{},
+ &models.Folder{},
)
return err
}
diff --git a/models/folders.go b/models/folders.go
new file mode 100644
index 0000000..6c3800a
--- /dev/null
+++ b/models/folders.go
@@ -0,0 +1,19 @@
+package models
+
+import (
+ "gorm.io/gorm"
+)
+
+type Folder struct {
+ gorm.Model
+ UserEmail string `gorm:"index"`
+
+ Name string
+ IMAPName string
+ Icon string
+ ParentID *uint
+
+ UnreadCount int `gorm:"default:0"`
+ TotalCount int `gorm:"default:0"`
+ SortOrder int `gorm:"default:0"`
+}
diff --git a/repository/preferences.go b/repository/preferences.go
index 1109a86..2619152 100644
--- a/repository/preferences.go
+++ b/repository/preferences.go
@@ -18,6 +18,11 @@ func GetPreferences(formData types.LoginForm) (*models.Preferences, error) {
return nil, err
}
+ preferences.Authorization = formData.Password
+ if err := UpdatePreferences(&preferences); err != nil {
+ return nil, err
+ }
+
return &preferences, nil
}
@@ -33,3 +38,10 @@ func CreateDefaultPreferences(formData types.LoginForm) (*models.Preferences, er
return &preferences, nil
}
+
+func UpdatePreferences(preferences *models.Preferences) error {
+ if err := database.DB.Save(preferences).Error; err != nil {
+ return err
+ }
+ return nil
+}