summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBobby <[email protected]>2025-12-23 10:56:31 +0530
committerBobby <[email protected]>2025-12-23 10:56:31 +0530
commitecce99fde86b01efffd1825688ee950f7e7f6b33 (patch)
tree63fc9384f3dde6896dab00b8db584a92f14535d7
parent078a60e33af6e6013fe7b86643180e7d13aa63d0 (diff)
downloadlain-ecce99fde86b01efffd1825688ee950f7e7f6b33.tar.xz
lain-ecce99fde86b01efffd1825688ee950f7e7f6b33.zip
email folder models and repo
-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
+}