39 lines
876 B
Go
39 lines
876 B
Go
package controller
|
|
|
|
import (
|
|
"SciencesServer/app/api/admin/model"
|
|
model2 "SciencesServer/app/common/model"
|
|
"SciencesServer/app/session"
|
|
)
|
|
|
|
type Config struct{ *session.Enterprise }
|
|
|
|
type ConfigHandle func(session *session.Enterprise) *Config
|
|
|
|
type (
|
|
ConfigInfo struct {
|
|
Kind int `json:"kind"`
|
|
Name string `json:"name"`
|
|
Key string `json:"key"`
|
|
Value string `json:"value"`
|
|
}
|
|
)
|
|
|
|
func (c *Config) Instance(kind int) ([]*ConfigInfo, error) {
|
|
mSysConfig := model.NewSysConfig()
|
|
|
|
out := make([]*ConfigInfo, 0)
|
|
|
|
if err := model2.ScanFields(mSysConfig.SysConfig, &out, []string{"kind", "name", "`key`", "`value`"},
|
|
&model2.ModelWhereOrder{Where: model2.NewWhere("kind", kind)}); err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func NewConfig() ConfigHandle {
|
|
return func(session *session.Enterprise) *Config {
|
|
return &Config{Enterprise: session}
|
|
}
|
|
}
|