30 lines
753 B
Go
Executable File
30 lines
753 B
Go
Executable File
package models
|
|
|
|
import (
|
|
"github.com/sujit-baniya/fiber-boilerplate/app"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
type UserSetting struct {
|
|
*gorm.Model
|
|
UserID uint `gorm:"user_id" json:"user_id"`
|
|
PhoneRegion string `gorm:"phone_region" json:"phone_region"`
|
|
SenderID string `gorm:"sender_id" json:"sender_id"`
|
|
QueueType string `gorm:"queue_type" json:"queue_type"` // SHARED | ACCOUNT | CAMPAIGN
|
|
}
|
|
|
|
func (u *UserSetting) UpdateOrCreate() {
|
|
if u.UserID != 0 {
|
|
if app.Http.Database.Where(&UserSetting{UserID: u.UserID}).Updates(&u).RowsAffected == 0 {
|
|
app.Http.Database.Create(&u)
|
|
}
|
|
}
|
|
}
|
|
|
|
func (u *UserSetting) Get() error {
|
|
if err := app.Http.Database.Where(&UserSetting{UserID: u.UserID}).First(&u).Error; err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|