From ecce99fde86b01efffd1825688ee950f7e7f6b33 Mon Sep 17 00:00:00 2001 From: Bobby <30593201+luciferreeves@users.noreply.github.com> Date: Tue, 23 Dec 2025 10:56:31 +0530 Subject: email folder models and repo --- database/migrate.go | 1 + models/folders.go | 19 +++++++++++++++++++ repository/preferences.go | 12 ++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 models/folders.go 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 +} -- cgit v1.2.3