27 lines
974 B
Go
27 lines
974 B
Go
|
package models
|
||
|
|
||
|
import (
|
||
|
"github.com/google/uuid"
|
||
|
)
|
||
|
|
||
|
// SettingEntry matches a setting row in the database
|
||
|
type UserSettingEntry struct {
|
||
|
//GORM attributes, see: http://gorm.io/docs/conventions.html
|
||
|
ModelBase
|
||
|
User *User `json:"user,omitempty" gorm:"-"`
|
||
|
UserID uuid.UUID `json:"user_id" gorm:"not null;index:,unique,composite:user_setting_key_name"`
|
||
|
|
||
|
SettingKeyName string `json:"setting_key_name" gorm:"not null;index:,unique,composite:user_setting_key_name"`
|
||
|
SettingKeyDescription string `json:"setting_key_description"`
|
||
|
SettingDataType string `json:"setting_data_type"`
|
||
|
|
||
|
SettingValueNumeric int `json:"setting_value_numeric"`
|
||
|
SettingValueString string `json:"setting_value_string"`
|
||
|
SettingValueBool bool `json:"setting_value_bool"`
|
||
|
SettingValueArray []string `json:"setting_value_array" gorm:"column:setting_value_array;type:text;serializer:json"`
|
||
|
}
|
||
|
|
||
|
func (s UserSettingEntry) TableName() string {
|
||
|
return "user_settings"
|
||
|
}
|