mirror of https://github.com/go-sonic/sonic.git
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.
148 lines
2.7 KiB
Go
148 lines
2.7 KiB
Go
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,
|
|
BlogUrl,
|
|
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,
|
|
ApiAccessKey,
|
|
CommentGravatarDefault,
|
|
CommentNewNeedCheck,
|
|
CommentNewNotice,
|
|
CommentReplyNotice,
|
|
CommentApiEnabled,
|
|
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,
|
|
TencentCosSecretId,
|
|
TencentCosSecretKey,
|
|
TencentCosSource,
|
|
TencentCosStyleRule,
|
|
TencentCosThumbnailStyleRule,
|
|
UpOssSource,
|
|
UpOssPassword,
|
|
UpOssBucket,
|
|
UpOssDomain,
|
|
UpOssProtocol,
|
|
UpOssOperator,
|
|
UpOssStyleRule,
|
|
UpOssThumbnailStyleRule,
|
|
PhotoPageSize,
|
|
JournalPageSize,
|
|
JWTSecret,
|
|
}
|