You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sonic/model/property/base.go

148 lines
2.7 KiB
Go

2 years ago
package property
import (
"reflect"
"strconv"
"github.com/go-sonic/sonic/model/entity"
)
type Property struct {
DefaultValue interface{}
KeyValue string
Kind reflect.Kind
}
func (p Property) ConvertToOption() *entity.Option {
var value string
switch p.Kind {
case reflect.Bool:
value = strconv.FormatBool(p.DefaultValue.(bool))
case reflect.Int:
value = strconv.FormatInt(int64(p.DefaultValue.(int)), 10)
case reflect.Int32:
value = strconv.FormatInt(int64(p.DefaultValue.(int32)), 10)
case reflect.Int64:
value = strconv.FormatInt(p.DefaultValue.(int64), 10)
case reflect.String:
if p.DefaultValue != nil {
value = p.DefaultValue.(string)
}
}
return &entity.Option{
OptionKey: p.KeyValue,
OptionValue: value,
}
}
var AllProperty = []Property{
UploadImagePreviewEnable,
UploadMaxParallelUploads,
UploadMaxFiles,
AttachmentType,
BlogLocale,
BlogTitle,
BlogLogo,
2 years ago
BlogURL,
2 years ago
BlogFavicon,
BlogFooterInfo,
EmailHost,
EmailProtocol,
EmailSSLPort,
EmailUsername,
EmailPassword,
EmailFromName,
EmailIsEnabled,
CustomHead,
CustomContentHead,
StatisticsCode,
GlobalAbsolutePathEnabled,
DefaultEditor,
PostPermalinkType,
SheetPermalinkType,
CategoriesPrefix,
TagsPrefix,
ArchivesPrefix,
SheetPrefix,
LinksPrefix,
PhotosPrefix,
JournalsPrefix,
PathSuffix,
IsInstalled,
Theme,
BirthDay,
DefaultMenuTeam,
SeoKeywords,
SeoDescription,
SeoSpiderDisabled,
SummaryLength,
RssPageSize,
RssContentType,
IndexPageSize,
ArchivePageSize,
IndexSort,
RecycledPostCleaningEnabled,
RecycledPostRetentionTime,
RecycledPostRetentionTimeunit,
2 years ago
APIAccessKey,
2 years ago
CommentGravatarDefault,
CommentNewNeedCheck,
CommentNewNotice,
CommentReplyNotice,
2 years ago
CommentAPIEnabled,
2 years ago
CommentPageSize,
CommentContentPlaceholder,
CommentInternalPluginJs,
CommentGravatarSource,
CommentBanTime,
CommentRange,
MinioEndpoint,
MinioBucketName,
MinioAccessKey,
MinioAccessSecret,
MinioSource,
MinioRegion,
AliOssEndpoint,
AliOssBucketName,
AliOssAccessKey,
AliOssDomain,
AliOssProtocol,
AliOssAccessSecret,
AliOssSource,
AliOssStyleRule,
AliOssThumbnailStyleRule,
HuaweiOssDomain,
HuaweiOssEndpoint,
HuaweiOssBucketName,
HuaweiOssAccessKey,
HuaweiOssAccessSecret,
QiniuOssAccessKey,
QiniuOssAccessSecret,
QiniuOssDomain,
QiniuOssBucket,
QiniuDomainProtocol,
QiniuOssStyleRule,
QiniuOssThumbnailStyleRule,
QiniuOssZone,
TencentCosDomain,
TencentCosProtocol,
TencentCosRegion,
TencentCosBucketName,
2 years ago
TencentCosSecretID,
2 years ago
TencentCosSecretKey,
TencentCosSource,
TencentCosStyleRule,
TencentCosThumbnailStyleRule,
UpOssSource,
UpOssPassword,
UpOssBucket,
UpOssDomain,
UpOssProtocol,
UpOssOperator,
UpOssStyleRule,
UpOssThumbnailStyleRule,
PhotoPageSize,
JournalPageSize,
JWTSecret,
}