mirror of
https://github.com/pocket-id/pocket-id.git
synced 2025-12-13 16:53:01 +03:00
72 lines
2.4 KiB
Go
72 lines
2.4 KiB
Go
package model
|
|
|
|
import (
|
|
"strconv"
|
|
"time"
|
|
)
|
|
|
|
type AppConfigVariable struct {
|
|
Key string `gorm:"primaryKey;not null"`
|
|
Type string
|
|
IsPublic bool
|
|
IsInternal bool
|
|
Value string
|
|
DefaultValue string
|
|
}
|
|
|
|
// IsTrue returns true if the value is a truthy string, such as "true", "t", "yes", "1", etc.
|
|
func (a *AppConfigVariable) IsTrue() bool {
|
|
ok, _ := strconv.ParseBool(a.Value)
|
|
return ok
|
|
}
|
|
|
|
// AsDurationMinutes returns the value as a time.Duration, interpreting the string as a whole number of minutes.
|
|
func (a *AppConfigVariable) AsDurationMinutes() time.Duration {
|
|
val, err := strconv.Atoi(a.Value)
|
|
if err != nil {
|
|
return 0
|
|
}
|
|
return time.Duration(val) * time.Minute
|
|
}
|
|
|
|
type AppConfig struct {
|
|
// General
|
|
AppName AppConfigVariable
|
|
SessionDuration AppConfigVariable
|
|
EmailsVerified AppConfigVariable
|
|
AllowOwnAccountEdit AppConfigVariable
|
|
// Internal
|
|
BackgroundImageType AppConfigVariable
|
|
LogoLightImageType AppConfigVariable
|
|
LogoDarkImageType AppConfigVariable
|
|
// Email
|
|
SmtpHost AppConfigVariable
|
|
SmtpPort AppConfigVariable
|
|
SmtpFrom AppConfigVariable
|
|
SmtpUser AppConfigVariable
|
|
SmtpPassword AppConfigVariable
|
|
SmtpTls AppConfigVariable
|
|
SmtpSkipCertVerify AppConfigVariable
|
|
EmailLoginNotificationEnabled AppConfigVariable
|
|
EmailOneTimeAccessEnabled AppConfigVariable
|
|
// LDAP
|
|
LdapEnabled AppConfigVariable
|
|
LdapUrl AppConfigVariable
|
|
LdapBindDn AppConfigVariable
|
|
LdapBindPassword AppConfigVariable
|
|
LdapBase AppConfigVariable
|
|
LdapUserSearchFilter AppConfigVariable
|
|
LdapUserGroupSearchFilter AppConfigVariable
|
|
LdapSkipCertVerify AppConfigVariable
|
|
LdapAttributeUserUniqueIdentifier AppConfigVariable
|
|
LdapAttributeUserUsername AppConfigVariable
|
|
LdapAttributeUserEmail AppConfigVariable
|
|
LdapAttributeUserFirstName AppConfigVariable
|
|
LdapAttributeUserLastName AppConfigVariable
|
|
LdapAttributeUserProfilePicture AppConfigVariable
|
|
LdapAttributeGroupMember AppConfigVariable
|
|
LdapAttributeGroupUniqueIdentifier AppConfigVariable
|
|
LdapAttributeGroupName AppConfigVariable
|
|
LdapAttributeAdminGroup AppConfigVariable
|
|
}
|